[Interactive Python] Rock-paper-scissors-lizard-Spock 游戏 Mini-project #1

来源:互联网 发布:网络云课堂 编辑:程序博客网 时间:2024/05/16 10:35

很高兴今天早晨独立实现RPSLS小游戏,分享至此!

“RPSLS”游戏全称为Rock-paper-scissors-lizard-Spock,剪刀-石头-布的升级版。为了降低平手概率,增添了2个角色:Spock和蜥蜴君。

游戏规则是:每个都能赢2个输2个并与自己持平。在这里,剪刀能剪纸和蜥蜴;纸可以包住石头,驳斥Spock;石头击烂蜥蜴和剪刀;蜥蜴可以毒害Spock,吃纸;最后,Spock可以砸碎剪刀,使石头蒸发。

Mini-project描述:https://www.coursera.org/learn/interactive-python-1/supplement/ijRP5/mini-project-description

收获:

原来编程,最重要的是能静下心来分析。如果感到棘手,可以休息会儿,补足精力再战,就真的可以克服呢!


这是我的解答,若有更好的建议,欢迎指点~~

#RPSLSimport randomdef name_to_number(name):if name == 'rock':return 0elif name == 'Spock':return 1elif name == 'paper':return 2elif name == 'lizard':return 3elif name == 'scissors':return 4else:print('Please input name among:"rock", "paper", "scissors", "lizard", or "Spock".')def number_to_name(number):if number in range(0,5):if number == 0:return 'rock'elif number == 1:return 'Spock'elif number == 2:return 'paper'elif number == 3:return 'lizard'elif number == 4:return 'scissors'else:print('Please input number n the range 0 to 4.')def rpsls(player_choice):print()print('Player chooses',player_choice)player_number = name_to_number(player_choice)comp_number = random.randrange(0,5)comp_choice = number_to_name(comp_number)print('Computer chooses',comp_choice)if player_number - comp_number in range(-4,-2) or range(1,3):print('Player wins!')elif player_number - comp_number in range(-2,0) or range(3,5):print('Computer wins!')elif player_number - comp_number == 0:print('Tie!')else:print('Error!')print('"Rock-paper-scissors-lizard-Spock" game Start!')rpsls("rock")rpsls("Spock")rpsls("paper")rpsls("lizard")rpsls("scissors")



0 0