本人编写的python小游戏程序,为了不增加复杂度,所以没有再去增加更多的功能,仅抛砖引玉之用。
界面是这样的,没有加音效:
"""本程序运行需要安装汉化版turtle.py库 下载网址 http://www.halifa.net/turtle.rar 本游戏用鼠标操作去打金蛋,金蛋被打到后会掉下来,接住了可以加分,拦板会变长。 所有金蛋打完后,游戏结束,显示得分。如果没有接到小球,游戏失败! """ from turtle import * from time import sleep from random import randint 屏幕=当前屏幕() 屏幕.标题("打金蛋小游戏") 屏幕.背景颜色("black") 游戏结束="假" 移动速度=0 小球=图形对象() 小球.速度(0) 小球.形状("circle") 小球.颜色("white","red") 小球.抬笔() 小球.形状大小(0.5,0.5) 小球.到(0,-50) 小球.设置方向(randint(1,360)) 拦板=图形对象(visible=False) 拦板.速度(0) 拦板.画笔颜色('gray') 拦板.填充颜色("brown") 拦板.抬笔() 拦板.形状('square') 拦板的长度=3 拦板.形状大小(拦板的长度,0.3) 拦板.到(0,200) 拦板.写字("打金蛋小游戏",align='center',font=("黑体",30,"normal")) 拦板.到(0,-250) 拦板.显示() def 标题显示鼠标坐标(x,y): 拦板.设置x坐标(x) 屏幕.当鼠标移动(标题显示鼠标坐标) class 金蛋(图形对象): 总分=0 计数器=0 def __init__(自己,x=0,y=0,敌人=小球,拦板=拦板): 图形对象.__init__(自己,visible=False) 自己.形状("circle") 自己.形状大小(2,1) 自己.颜色("white","yellow") 自己.抬笔() 自己.到(x,y) 自己.显示() 自己.被撞='否' 自己.死亡='否' 自己.敌人=敌人 自己.拦板=拦板 自己.垂直速度=0 自己.等待被撞() def 等待被撞(自己): global 游戏结束 if 游戏结束=="假": if 自己.被撞=='否': if 自己.距离(自己.敌人)abs(屏幕.窗口宽度()/2): 小球.设置方向(-小球.方向()) if abs(小球.y坐标())>abs(屏幕.窗口高度()/2): 小球.设置方向(180-小球.方向()) sleep(0.001) #游戏结束 print("游戏结束!",游戏结束) 屏幕.清屏() 屏幕.背景颜色("cyan") 小球.隐藏() 小球.到(0,0) 小球.颜色("red","blue") if 金蛋.计数器==len(金蛋们): 字符串="你打完所有的金蛋了!你的得分是:" + str(金蛋.总分) + "分!" else: 字符串="你把小球球给弄丢了,你的得分是:0分!" 屏幕.标题("打金蛋小游戏,当前得分:0分") 小球.写字(字符串,align="center",font=("黑体",25,"normal"))
发表评论