用海龟画图模块制作的英文字母打字练习程序。以下是部分代码预览,模块扫码后都可见:
"""字母爆破机.py,这是一个用Python的海龟画图模块制作的打字练习小游戏,有着比较漂亮的界面,本版本增加了提示功能。""" from random import randint,choice from explosion import * # 导入爆炸效果类 from tipfunc import * from keycodes import * def spawn_letter(): """产生一个字母对象,并且移动,使用screen的standard坐标系""" def init(): """初始化字母,让它在左边或右边 随机出现。letter是一个字母对象""" letter.clear() letter.go_on = True # 用于暂停 letter.hitted = False # 描述是否击中 letter.keycode = choice(letters_keys) # 随机选择一个keycode letter.value = letters[letter.keycode] # 随机选择一个字母 def move(): """移动字母,移动的距离超过屏幕长度并且没有被击中则换个字母重来""" if letter.go_on : letter.clear() letter.fd(letter.speed ) letter.distance += letter.speed letter.write(letter.value,align='center',font=ziti) def eventfun(event): """按键事件执行函数,event如下所示,坐标是tkinter式坐标: KeyPress event state=Mod1 keysym=a keycode=65 char='a' x=314 y=355>""" if event.keycode == 32 : letter.go_on = not letter.go_on if event.keycode == letter.keycode: # 表示击中了 def setspeed(x,y): """设置字母的移动速度""" letter.speed = screen.numinput("速度","请输入字母移动速度",default=5,maxval=30,minval=1) if letter.speed == None : letter.speed = 5 screen.listen() # 会失去焦点,需重新监听 ziti = ("黑体",56,'normal') tip_cors = TIP_CORS_DICT # 提示坐标映射表 letters = KEYCODE_DICT # 键码与字符串映射表 letters_values = list(letters.values()) # 字母的值表,如D,9 letters_keys = list(letters.keys()) # keycode表 if __name__ == "__main__": width,height = 800,600 screen = Screen() screen.bgpic("bg.png") screen.setup(width,height) screen.title("字母爆破机,作者:李兴球") screen.delay(0) explosion_images = glob("explosion/*.gif") [screen.addshape(image) for image in explosion_images] spawn_letter() screen.mainloop()
下载完整源代码与素材,包含各个子模块,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)