鱼C论坛

 找回密码
 立即注册
查看: 1636|回复: 7

[作品展示] 刚学习Python做的一个小游戏,希望大佬点评啊!

[复制链接]
发表于 2022-3-30 22:21:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
石头剪刀布的一个小游戏,PC做的,大佬可以点评一下吗(小的想要优化啊!!!)

下面是源代码,有大佬帮忙优化一下吗?

  1. '''
  2. 游戏 :石头剪刀布
  3. 作者 :C丁洞杀O
  4. 版本 :2.0
  5. 制作时间 :2022.3.30
  6. '''
  7. # coding:utf-8
  8. import random

  9. # 变量初始化
  10. player_fraction = 0
  11. computer_fraction = 0
  12. ms = '正常'
  13. # 输的次数
  14. sc = 0
  15. # 赢的次数
  16. yc = 0

  17. print("""
  18. ***********************CO元宇小游戏游戏******************************
  19.                        石头 - 剪刀 - 布
  20.                         作者 :C丁洞杀O
  21. ************************!欢迎游玩哦!*******************************
  22. """)

  23. print("———————————————————————输入玩家的名字——————————————————————————")
  24. PLAYER_NAME = input("玩家的名字是:")
  25. print("————————————————————————请选择对手————————————————————————————")
  26. print("1.诸葛亮  2.王昭君  3.曹操  ")
  27. cn =eval(input("你的对手是:"))
  28. if cn == 1:
  29.     COMPUTER_NAME = '诸葛亮'
  30. elif cn == 2:
  31.     COMPUTER_NAME = '王昭君'
  32. elif cn == 3:
  33.     COMPUTER_NAME = '曹操'
  34. elif cn == 4:
  35.     COMPUTER_NAME = '人工智能小九'
  36. elif cn == 5:
  37.     COMPUTER_NAME = '电脑'
  38. else:
  39.     COMPUTER_NAME = '匿名者'
  40. print(PLAYER_NAME,"VS",COMPUTER_NAME)
  41. # 判断游戏是否继续
  42. youxi = True
  43. # 游戏开始
  44. while youxi:
  45.     #玩家出拳
  46.     player_fist = eval(input("|—————————————————————1.拳头  2.剪刀  3.布————————————————————|\n"))
  47.     if player_fist == 1:
  48.         playerfist = '石头'
  49.     elif player_fist == 2:
  50.         playerfist = '剪刀'
  51.     elif player_fist == 3:
  52.         playerfist = '布'
  53.     else:
  54.         playerfist = '石头'

  55.     #电脑出拳
  56.     if ms == '正常':
  57.         computer_fist = random.randint(1,3)
  58.         if computer_fist== 1:
  59.             computerfist = '石头'
  60.         elif computer_fist == 2:
  61.             computerfist = '剪刀'
  62.         elif computer_fist == 3:
  63.             computerfist = '布'
  64.     elif ms == '必胜':
  65.         if playerfist == '石头':
  66.             computerfist = '剪刀'
  67.         elif playerfist == '剪刀':
  68.             computerfist = '布'
  69.         elif playerfist == '布':
  70.             computerfist = '石头'
  71.     elif ms == '必输':
  72.         if playerfist == '石头':
  73.             computerfist = '布'
  74.         elif playerfist == '剪刀':
  75.             computerfist = '石头'
  76.         elif playerfist == '布':
  77.             computerfist = '剪刀'

  78.     #判断胜负
  79.     print(PLAYER_NAME+"出的"+playerfist,COMPUTER_NAME+"出的"+computerfist)
  80.     if playerfist == '石头' and computerfist == '剪刀':
  81.         if yc < 3:
  82.             print("恭喜啊,你赢了呢!不要骄傲哦")
  83.             yc += 1
  84.             ms = '正常'
  85.         elif yc >= 3:
  86.             print("你太厉害了,但我有不好的预感啊!")
  87.             ms = '必输'
  88.             yc = 0
  89.         #player_fraction = player_fraction + 1
  90.         player_fraction += 1

  91.     elif playerfist == '石头' and computerfist == '布':
  92.         if sc < 5:
  93.             print("失败乃成功之母,不要灰心")
  94.             ms = "正常"
  95.             sc += 1
  96.         elif sc >= 5:
  97.             print("我觉得,你下次必胜啊!努力")
  98.             ms = "必胜"
  99.             sc = 0
  100.         computer_fraction += 1

  101.     elif playerfist == '剪刀' and computerfist == '石头':
  102.         if sc < 5:
  103.             print("哎,你输了,加油,下次加油")
  104.             ms = "正常"
  105.             sc += 1
  106.         elif sc >= 5:
  107.             print("虽然输了,但我告诉你,下次必胜啊!快开下一局吧。")
  108.             ms = "必胜"
  109.             sc = 0
  110.         computer_fraction += 1

  111.     elif playerfist == '剪刀' and computerfist == '布':
  112.         if yc < 3:
  113.             print("好厉害,你赢了呢!!!")
  114.             yc += 1
  115.             ms = '正常'
  116.         elif yc >= 3:
  117.             print(COMPUTER_NAME+":这次的胜利会为你之后的失败定下基础!")
  118.             ms = '必输'
  119.             yc = 0
  120.         player_fraction += 1

  121.     elif playerfist == '布' and computerfist == '石头':
  122.         if sc < 5:
  123.             print("输了,好可惜啊,再来一局吧,加油")
  124.             ms = "正常"
  125.             sc += 1
  126.         elif sc >= 5:
  127.             print("加油,胜利是留给你的,下局必胜啊!")
  128.             ms = "必胜"
  129.             sc = 0
  130.         computer_fraction += 1

  131.     elif playerfist == '布' and computerfist == '剪刀':
  132.         if yc < 3:
  133.             print("你好厉害啊,恭喜你了,继续努力啊!")
  134.             yc += 1
  135.             ms = '正常'
  136.         elif yc >= 3:
  137.             print(COMPUTER_NAME+":你不要太骄傲,下局你输定了!")
  138.             ms = '必输'
  139.             yc = 0
  140.         player_fraction += 1

  141.     elif playerfist == computerfist:
  142.         print("平局了?")
  143.         sc = 0
  144.         yc = 0

  145.     print("当前分数是",player_fraction)

  146.     # 判断还玩吗
  147.     a = input("还玩吗? y/n")
  148.     if a == 'y':
  149.         youxi = True
  150.     elif a == 'n':
  151.         youxi = False
  152.         break
  153.     else:
  154.         print("你输入的是啥?我不管,你继续玩吧!下一局")
  155.         youxi = True

  156.     print("—————————————————————————————————————————————————————————————")

  157. if player_fraction > computer_fraction:
  158.     c = player_fraction - computer_fraction
  159.     print("你以" ,c, "的差距赢了" + COMPUTER_NAME)
  160. elif player_fraction < computer_fraction:
  161.     c = computer_fraction - player_fraction
  162.     print(COMPUTER_NAME+"用",c,"的差距赢了你!\n你输了")
  163. elif player_fraction == computer_fraction:
  164.     print("你们平局了,下次再努力吧")
复制代码
咋样啊?我要努力学Python了,学习Python第一天,打卡!

评分

参与人数 2荣誉 +7 鱼币 +7 收起 理由
小伤口 + 2 + 2 鱼C有你更精彩^_^
傻眼貓咪 + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-3-30 22:22:50 | 显示全部楼层
哎,想要做个回复可见,该咋搞咧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-31 11:04:13 | 显示全部楼层
你把每个值做成字典试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-1 18:33:08 | 显示全部楼层
可以,让俺想起了,我用python做的文字游戏
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-1 18:52:19 | 显示全部楼层
很厉害啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-1 22:13:37 | 显示全部楼层
wiselin 发表于 2022-3-31 11:04
你把每个值做成字典试试

好吧,我知道你是什么意思了,今天刚刚学到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-3 18:42:59 | 显示全部楼层
人比人气死人
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-3 18:55:15 | 显示全部楼层
C丁洞杀O 发表于 2022-3-30 22:22
哎,想要做个回复可见,该咋搞咧?

手动回复
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 08:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表