鱼C论坛

 找回密码
 立即注册
查看: 1986|回复: 2

[作品展示] (38讲动动手作业)练习打字速度的游戏

[复制链接]
发表于 2019-6-25 16:11:50 | 显示全部楼层 |阅读模式

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

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

x
花了好久时间找倒计时的方法,到最后都没找到,后面想到另外一种方法~ 萌新作品大佬们见笑了
  1. import random
  2. import time

  3. def typing_game():
  4.     while True:
  5.         print('------------------------------------------------------------------------')
  6.         print('   ❤欢迎游玩打字游戏❤\n')
  7.         print('|--     1.开始游戏   --|')
  8.         print('|--     2.查看规则   --|')
  9.         print('|--     3.自定难度   --|')
  10.         print('|--     4.退出游戏   --|')
  11.         choice = int(input('|-- 输入以上数字选择:'))
  12.         if choice == 2:
  13.             print("""\n|--  游戏规则:系统会给你一串英文字符,你需要在规定时间内记住并打出字符  --|
  14. |--       当你成功打完并正确后,难度会慢慢升级,你可以坚持多久呢?       --|
  15. |-- 如果你觉得开始难度太低,你可以选择自定义难度,那就会从你选的难度开始 --|
  16. |--                是时候展示真正的手速和眼力了!加油 !                 --|""")
  17.         if choice == 4:
  18.             print('\n客官慢走~下次再来玩哟~ ')
  19.             break
  20.         if choice == 1 or choice == 3:
  21.             if choice == 1:
  22.                 game_time = 16
  23.                 answer = ''
  24.                 number = 30
  25.             else:
  26.                 game_time = int(input('请输入规定时间(不得超过60秒):'))
  27.                 if game_time > 60:
  28.                     while game_time > 60:
  29.                         game_time = int(input('请重新输入规定时间(不得超过60秒):'))
  30.                 answer = ''
  31.                 number = int(input('请输入字符数量(最大48):'))
  32.             first = 0
  33.             count_down = ''
  34.             while True:
  35.                 try:
  36.                     a = list(random.sample('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',number))
  37.                 except ValueError:
  38.                     print('你输入的字符数量超出最大数值!为你返回主界面')
  39.                     reTurn = 1
  40.                     break
  41.                 answer = ''.join(a)
  42.                 if first == 1:
  43.                     count_down = input('你需要倒计时吗(输入1为需要,输入其他内容则为不需要):')
  44.                 print('\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
  45.                 print('目前难度:时间【%d】秒,字符数量(默认30)【%d】个' % (game_time,number))
  46.                 time.sleep(1)
  47.                 if count_down == '1' or first == 0:
  48.                     print('|--倒计时--|')
  49.                     time.sleep(1)
  50.                     print('|--  3   --|')
  51.                     time.sleep(1)
  52.                     print('|--  2   --|')
  53.                     time.sleep(1)
  54.                     print('|--  1   --|')
  55.                     time.sleep(1)
  56.                     print("""|-- 开始 --|
  57. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""")
  58.                     time.sleep(0.5)
  59.                
  60.                 time_list1 = list(time.gmtime())
  61.                 player_typing = input(answer + ':')
  62.                 time_list2 = list(time.gmtime())
  63.                 start_second = time_list1[5]
  64.                 start_min = time_list1[4]
  65.                 over_second = time_list2[5]
  66.                 over_min = time_list2[4]
  67.                 if over_min == start_min:
  68.                     use_time = over_second - start_second
  69.                 if over_min > start_min:
  70.                     if over_min - start_min == 1:
  71.                         use_time = over_second + (60 - start_second)
  72.                     else:
  73.                         use_time = over_second + (60 - start_second) + (60 * (over_min - start_min - 1))

  74.                     
  75.                 if answer == player_typing and use_time <= game_time:
  76.                     print('厉害了!离规定时间还有【%d】秒完成,继续加油!' % (game_time - use_time))
  77.                     first += 1
  78.                     time.sleep(1)
  79.                     game_time -= 1
  80.                     continue
  81.                 elif answer != player_typing and use_time <= game_time:
  82.                     print('你没有完全输入正确,下次加油!')
  83.                     break
  84.                 elif use_time > game_time and answer == player_typing:
  85.                     print('超时【%d秒】,太可惜了' % (use_time - game_time))
  86.                     break
  87.                 else:
  88.                     print('你没有完全输入正确,并且超时【%d秒】,蔡!' % (use_time - game_time))
  89.                     break
  90.             try:
  91.                 reTurn
  92.             except UnboundLocalError:
  93.                 pass
  94.             else:
  95.                 if reTurn == 1:
  96.                     reTurn = 0
  97.                     continue
  98.             game_over = input('\n请问你还要继续玩吗【输入1继续,输入其它内容离开】:')
  99.             if game_over == '1':
  100.                 continue
  101.             else:
  102.                 print('\n客官慢走~下次再来玩哟~ ')
  103.                 break
  104.         
  105. typing_game()
  106.    
  107.    

复制代码

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

使用道具 举报

发表于 2019-7-2 22:55:58 | 显示全部楼层
可以成功运行,感谢~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-14 17:23:16 | 显示全部楼层
6
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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