Python:游戏:测试打字速度
2018-09-05 07:57:22来源:博客园 阅读 ()
现在写书的人真是一点责任心都没有,最近看了几本书,其中的代码都存在错误。
最近迷恋 Python 游戏,买了《Python游戏编程入门》[美] Jonathan S·Harbour 著 一书来看。
其中第四章:Bomb Catcher游戏中,测试打字速度的程序代码严重有误。
改程序屏幕上随机显示一个字母,按键输入该字母后随机显示下一个,计算平均一分钟可以输入多少个字母,原代码中计算速度的一块有误,附上我修改后的代码
import sys
import random
import time
import pygame
from pygame.locals import *
def print_text(font, x, y, text, color=(255, 255, 255)):
imgText = font.render(text, True, color)
screen.blit(imgText, (x, y))
pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption('Keyboard Demo')
font1 = pygame.font.Font(None, 24)
font2 = pygame.font.Font(None, 200)
white = (255, 255, 255)
yellow = (255, 255, 0)
key_flag = False
correct_answer = 97 # a
seconds = 11
score = 0
speed = 0
clock_start = 0
game_over = True
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
elif event.type == KEYDOWN:
key_flag = True
elif event.type == KEYUP:
key_flag = False
keys = pygame.key.get_pressed() # keys 是一个元组,穷举了所有的按键,未按下为 0,按下为 1
if keys[K_ESCAPE]:
sys.exit()
if keys[K_RETURN]:
if game_over:
game_over = False
clock_start = time.time()
score = 0
seconds = 11
speed = 0
clock = clock_start
if not game_over:
current = time.time() - clock_start
if seconds < current:
game_over = True
else:
if keys[correct_answer]:
correct_answer = random.randint(97, 122)
clock_start = time.time()
score += 1
speed = 60 * score / (clock_start - clock)
screen.fill((0, 100, 0))
print_text(font1, 0, 0, "Let's see how fast you can type!")
print_text(font1, 0, 20, "Try to keep up for 10 seconds...")
if key_flag:
print_text(font1, 500, 0, "<key>")
if not game_over:
print_text(font1, 0, 80, "Time: " + str(int(seconds-current)))
print_text(font1, 0, 100, "Speed: " + str(int(speed)) + " letters/min")
if game_over:
print_text(font1, 0, 160, "Press Enter to start...")
print_text(font2, 0, 240, chr(correct_answer-32), yellow)
pygame.display.update()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python 列表
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash