通过输入玩家姓名和选择电脑角色来开始游戏。游戏界面会提示玩家出拳的选项,包括石头、剪刀和布,玩家需要输入对应数字进行出拳,并与电脑角色进行对战。通过判断出拳结果,判断哪方胜利,直到玩家选择结束游戏为止。最终输出对战结果,包括对战总数、玩家胜利局数、电脑胜利局数和平局数,并根据胜负情况给出相应提示
要写出实现功能的代码,还要考虑代码的健壮性和可扩展性,以及代码的可读性和重构性等方面。在编写代码过程中,要注意代码的规范性,并遵循Python的编码规范,如变量命名要规范,注释要详细
Ø 物角色:
Ø 程序处理:
input
函数获取用户输入的玩家姓名和电脑角色选择。random.randint
函数生成随机的电脑角色和玩家出拳。while True
循环实现多局游戏的对战。player_score
、computer_score
和total_score
记录玩家胜利局数、电脑胜利局数和总对战局数。
random.randint(a, b)
是Python标准库中的一个函数,它用于生成一个指定范围内的随机整数。参数a
表示范围的起始值,参数b
表示范围的结束值。该函数会返回一个在闭区间[a, b]内均匀分布的整数。也就是说,返回的整数可以包括
a
和b
本身。
import random
#游戏界面设置
print('''--------------------------------------------------------------------------------
* * * * * * * * * * * * 欢迎来到4399游戏平台 * * * * * * * * * * * *
猜拳游戏一石头 剪刀 布
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
''')
#玩家昵称输入
player_name = input('请输入玩家姓名:')
#电脑角色选择
print('1.喜羊羊 2.懒羊羊 3.美羊羊 4.红太狼')
choice = eval(input('请选择电脑角色:'))
if choice==1:
computer_name='喜羊羊'
elif choice == 2:
computer_name='懒羊羊'
elif choice == 3:
computer_name ='美羊羊'
elif choice == 4:
computer_name ='红太狼'
else:
computer_name ='匿名'
print(player_name,'VS',computer_name)
#循环对战
player_score =0
computer_score =0
total_score=0
while True :
#玩家出拳
player_fist = eval(input('-----请出拳:(1.石头 2.剪刀 3.布'))
if player_fist ==1:
player_fist_name= '石头'
elif player_fist == 2:
player_fist_name ='剪刀'
elif player_fist ==3:
player_fist_name='布'
else:
player_fist_name = '石头'#其他数了默认为石头
player_fist=1
'''
print('输入错误,系统随机出拳中...')
player_fist= random.randint(1,3)
if player_fist== 1:
player_fist_name ='石头'
elif player_fist == 2:
player_fist_name ='剪刀'
else:
player fistname= '布'!1
'''
print('玩家'+player_name+'出拳为:'+player_fist_name)
#电脑角色出拳
computer_fist = random.randint(1,3)
if computer_fist == 1:
computer_fist_name ='石头'
elif computer_fist == 2:
computer_fist_name ='剪刀'
elif computer_fist == 3:
computer_fist_name ='布'
print(computer_name+'出拳为:'+computer_fist_name)
#判断谁胜
if player_fist == computer_fist:
print('平局')
elif (player_fist==1 and computer_fist==2) or (player_fist==2 and computer_fist==3):
print('恭喜!!!玩家'+player_name+'胜!!!')
player_score +=1
else:
print('很遗憾~电脑'+computer_name+'胜')
computer_score +=1
total_score +=1
answer=input('再来一局不? y/n\n')
if answer =='n':
break
#输出对战结果
print('-------------------------对战结果---------------------------')
print('对战总数:',total_score,'局')
print('玩家'+player_name+'胜: ',player_score,'局')
print('电脑'+computer_name+'胜: ',computer_score,'局')
print('平局:',total_score-player_score-computer_score,'局')
if computer_score > player_score:
print('电脑'+computer_name+'胜,不服来战!')
elif player_score > computer_score:
print('玩家'+player_name+ '胜1')
else:
print('平分秋色,平局!')
我们可以看出实验结果无异常,符合问题的提出能够正确的解决问题
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。