用户:
有感笔电查看:2 回复:3 评论:2 创建时间:2021-10-08T16:31:50
【作品展示】

【作品介绍】
打字游戏更新啦!感谢大家支持!这次更新了打字标准和打字字数,分数。
修复以前BUG
玩法说明:回车键退出,在键盘上打出屏幕上显示的字母,即可获胜。
别忘了 点赞,关注,收藏
like and subscribe!
【作品源代码】
import pygame
import sys
import random
import time
import easygui as eg
pygame.init()
screen = pygame.display.set_mode((1000, 200))
pygame.display.set_caption("打字游戏")
myFont = pygame.font.SysFont("Consolas", 200)
letterList = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
letterWait = []
num = 0 #记录正确字母的个数
num_keydown = 0
q = False
num_letter = []
num_letter_keydown = []
for i in range(26):
num_letter.append(0)
num_letter_keydown.append(0)
t = int(eg.enterbox(msg='你要练习多少个字母?'))
score_a = int(eg.enterbox(msg = "你的标准是多少?"))
#eg.msgbox(msg = "你准备好了吗?",choices = ("没喵,"好了!"))
t1 = time.time()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
q = True
break
if event.type == pygame.KEYDOWN:
num_keydown = num_keydown + 1
if event.key == 13: #13 is the ASCII of "enter"
q = True
break
elif len(letterWait) > 0:
index = ord(letterWait[0]) - 97
num_letter_keydown[index] = num_letter_keydown[index] + 1
if event.key == ord(letterWait[0]):
letterWait.remove(letterWait[0])
num = num+1
num_letter[index] = num_letter[index] + 1
if num == t:
q = True
break
if q:
break
t2 = time.time()
if t2-t1 > 1: # one second
t1 = t2
l1 = random.choice(letterList)
letterWait.append(l1)
screen.fill((255, 255, 255)) # white color to clear the screen
n = len(letterWait)
color = (100, 100, 100)
for i in range(n):
x = 20 + i * 100
y = 20
letter = letterWait[i]
textImage = myFont.render(letter, True, color)
screen.blit(textImage, (x, y))
pygame.display.update()
score = num/num_keydown*100
if score > score_a:
text = "You win! Percentage: " + str(num/num_keydown*100) + "%"
else:
text = "Oops, you lose! Percentage: " + str(num/num_keydown*100) + "%"
print(text)
aFont = pygame.font.SysFont("Consolas", 20)
newText = aFont.render(text,True,color)
screen.blit(newText,(400,10))
pygame.display.update()
pygame.time.delay(5000)
pygame.quit()
sys.exit()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn