Python三十六计展示 turtle版

Python三十六计展示 turtle版

Python三十六计展示-by-lixingqiu

Python三十六计展示-by-lixingqiu
用turtle模块制作的交互程序。每个计谋都有图文,还配了武士之歌。欣赏这个作品后,相信能让你激情飞扬!下面是部分代码预览:

"""
   三十六计,用海龟画图模块制作的一个展现古代兵法谋略的Python作品。
   单击每个计谋会显示它的图文说明,再单击说明又会显示36计总菜单。
   武士之歌为背景音乐,气场浩荡,激情飞扬。
"""

from turtle import * 
from random import randint

class Button(Turtle):
    """按钮类,每个按钮有三张图片,前两张是按钮的两个造型,第三张为计谋说明。"""
    pass     

def main():
    """主要函数"""
    
    from winsound import PlaySound,SND_ASYNC,SND_LOOP

    music = "Warrior Song.wav"
    PlaySound(music,SND_ASYNC|SND_LOOP)
    
    width,height = 960,720
    screen = Screen()
    screen.delay(0)
    screen.setup(width,height)
    screen.bgpic("背景1.png")
    screen.title("Python三十六计展示 by lixingqiu")

    plan36 = ['瞒天过海','围魏救赵','借刀杀人','以逸待劳',
              '趁火打劫','声东击西','无中生有','暗渡陈仓',
              '隔岸观火','笑里藏刀','李代桃僵','顺手牵羊',
              '打草惊蛇','借尸还魂','调虎离山','欲擒故纵',
              '抛砖引玉','擒贼擒王','釜底抽薪','混水摸鱼',
              '金蝉脱壳','关门捉贼','远交近攻','假道伐虢',
              '偷梁换柱','指桑骂槐','假痴不癫','上屋抽梯',
              '树上开花','反客为主','美人计','空城计',
              '反间计','苦肉计','连环计','走为上计']
    width ,height = 240,48
    positions = []
    start_x = -360
    start_y = 330
    for i in range(9):
        for j in range(4):
            x = start_x + 240 * j
            y = start_y - 56 * i
            positions.append((x,y))
   
    for plan,pos in zip(plan36,positions):
        images = f"images/{plan}0.gif",f"images/{plan}1.gif"
        image3 = f"images/{plan}说明.gif"
        screen.addshape(image3)
        [screen.addshape(im) for im in images]        
        Button(images,width,height,image3,pos)        
    screen.listen()
    screen.mainloop()

  
if __name__ == "__main__":

    main()  

 
下载完整源代码与素材,请

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

李兴球

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

评论已关闭。