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

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

python turtle letter explosioner字母爆炸机
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()

下载完整源代码与素材,包含各个子模块,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。