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

9 篇文章 0 订阅
7 篇文章 0 订阅

很高兴今天早晨独立实现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

收获:

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


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

#RPSLS
import random
def name_to_number(name):
	if name == 'rock':
		return 0
	elif name == 'Spock':
		return 1
	elif name == 'paper':
		return 2
	elif name == 'lizard':
		return 3
	elif name == 'scissors':
		return 4
	else:
		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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值