字母爆破机.py (Python打字练习)

你好,请进入Q群:225792826,免费下载本站最新提供的视频教程原创源码资料,从2020年2月20号到3月底,成为本站会员只要原价的3折,即2980元*0.3 = 894元 ,向微信scratch8付款即可成为本站会员。即可拥有本站所有原创资源,并提供技术支持。如本消息修改,以最后时间的为准。

python turtle letter explosioner字母爆炸机
python turtle letter explosioner字母爆炸机

用海龟画图模块制作的英文字母打字练习程序。以下是部分代码预览,模块扫码后都可见:

"""字母爆破机.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()

如需要查看完整代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » 字母爆破机.py (Python打字练习)

学本领,探索更大的世界!

李兴球博客 风火轮编程主页