python 打字小游戲


最近隨便用python的pygame編了這個打字小游戲

只要有字母調到窗口底部就結束

上代碼:

import pygame.freetype
import sys
import random

pygame.init()
screen = pygame.display.set_mode((500, 400))
pygame.display.set_caption('game')

f = pygame.freetype.Font(None, 60)
f2 = pygame.freetype.Font(None, 30)
p = 0
w = [50, 140, 230, 320, 410]
l = []
t = 0
s = 0

while True:
    pygame.time.delay(20)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if p == 1:
                for i in l:
                    if ord(i[0]) == event.key - 32:
                        l.remove(i)
                        s += 1
        elif event.type == pygame.MOUSEBUTTONDOWN:
            if p == 0:
                p = 1
                for i in range(0, 5):
                    l.append([chr(random.randint(65, 80)), w[i], 50])
    screen.fill((0, 0, 0))
    if p == 0:
        f.render_to(screen, [180, 250], "start", fgcolor=(255, 255, 255))
    if p == 1:
        t += 1
        if t == 100:
            t = 0
            for i in range(0, 5):
                l.append([chr(random.randint(65, 80)), w[i], 50])
        for i in l:
            f.render_to(screen, [i[1], i[2]], i[0], fgcolor=(255, 255, 255))
        for i in range(0, len(l)):
            l[i][2] += 1
            if l[i][2] >= 400:
                p = 2
        f2.render_to(screen, [5, 5], "score: %d" % s, fgcolor=(255, 255, 255))
    if p == 2:
        f.render_to(screen, [100, 100], "game over", fgcolor=(255, 255, 255))
        f.render_to(screen, [100, 250], "score: %d" % s, fgcolor=(255, 255, 255))
    pygame.display.update()

可以訓練人的打字能力和反應速度

截圖

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM