本程序共分有5个模块进行编写,以下是部分代码预览:
"""这是一个双人小游戏,在屏幕上会时不时的出现一些成语,玩家操作小方块去碰这些成语即可得分。
制作日期:2018/9月,这是去年制作的一个作品,成语的gif图片是用photoshop一个个制作的。其实可以用pillow自动生成。
"""
from writer import * # 从writer模块导入Writer类
from idiom import * # 导入成语表 idiomList和Idiom类
from square import * # 导入方块类 Square
from time import sleep # 从时间模块导入延时命令
from turtletools import * # 从turtletools模块导入所有命令
def clearlines():
"""清除方块所画的线条图形"""
[square.clear() for square in squares]
def end_of_countdown():
"""倒计时结束游戏"""
if __name__=="__main__":
"""初始化屏幕"""
game_name = "抢收成语"
screen_width,screen_height = 480,360 # 定义全局变量屏幕宽度和高度
ps = game_name,"black",screen_width,screen_height,"background2.gif"
screen = init_screen(*ps) # 调用初始化屏幕函数
"""把每个成语gif图片注册到形状列表,idiomList从模块idiom中来"""
[screen.addshape(idiom) for idiom in idiomList] # 注册所有成语到形状列表
"""初始化声音"""
have_pygame,bumpsound = init_sound("Popcorn1.wav","叮.wav")
"""写游戏的题目"""
myfont = ("黑体",32,"normal")
title_writer = Writer(0,100,myfont,game_name,3,screen) # Writer类
"""写版权所有"""
copy_right = "版权所有,Copy right by lixingqiu"
ps = 0,50-screen_height/2 ,("黑体",12,"normal"),copy_right,3,screen
copyright_writer = Writer(*ps)
"""倒计时显示,准备开始游戏"""
countdown(4,myfont,"cyan") # 4,3,2,1倒计时
"""生成红色小方块"""
ps = screen,"红点",-50,0,180,"red","Up","Down","Left","Right"
redsquare = Square(*ps) # 方块类,生成后会自己移动
"""生成蓝色小方块"""
ps = screen,"蓝点",50,0,0,"blue","w","s","a","d"
bluesquare = Square(*ps) # 方块类,生成后会自己移动
"""把小方块装到列表里,方便管理"""
squares = [redsquare,bluesquare]
"""生成一个成语对象,成语随机出现"""
ps = 137,42,[redsquare,bluesquare],screen,have_pygame,bumpsound,game_name
idiom = Idiom(*ps) # 生成后,它等待被撞,然后换造型
"""注册空格键事件,如果按空格键,那么清除所有笔迹"""
screen.onkeypress(clearlines,"space") # 按空格键清除所画的图形
"""倒计时结束,显示画面"""
endimage = "结束画面.png"
gametime = 60 # 设置游戏时间
end_of_countdown() # 异步等待游戏结束
"""设置屏幕焦点,进入主循环"""
screen.listen()
screen.mainloop()
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

