Python实现弹球小游戏
作者:吃着东西不想停 发布时间:2022-10-06 21:21:16
标签:Python,弹球,游戏
本文主要给大家分享一个实战项目,通过python代码写一款我们儿时大多数人玩过的游戏---小弹球游戏。只不过当时,我们是在游戏机上玩,现在我们通过运行代码来玩,看看大家是否有不一样的体验,是否可以重温当年的乐趣呢!
整个游戏实现比较简单,只需在安装python的电脑上即可运行,玩游戏,通过键盘键控制弹球挡板的移动即可。原理不多说,且让我们去看看吧。
1、代码运行后,游戏界面如下所示:
2、游戏过程中,界面如下所示:
3、游戏结束后,界面如下所示:
游戏实现部分源码如下:
def main():
tk = tkinter.Tk()
# call back for Quit
def callback():
if mb.askokcancel("Quit", "Do you really wish to quit?"):
Ball.flag = False
tk.destroy()
tk.protocol("WM_DELETE_WINDOW", callback)
# Init parms in Canvas
canvas_width = 600
canvas_hight = 500
tk.title("小弹球游戏V1版")
tk.resizable(0, 0)
tk.wm_attributes("-topmost", 1)
canvas = tkinter.Canvas(tk, width=canvas_width, height=canvas_hight, bd=0, highlightthickness=0, bg='#00ffff')
canvas.pack()
tk.update()
score = Score(canvas, 'red')
paddle = Paddle(canvas, "magenta")
ball = Ball(canvas, paddle, score, "grey")
game_over_text = canvas.create_text(canvas_width / 2, canvas_hight / 2, text='Game over', state='hidden',
fill='red', font=(None, 18, "bold"))
introduce = '欢迎来到小弹球游戏 V1版:\n点击任意键--开始\n停止--回车键\n继续--回车键\n'
game_start_text = canvas.create_text(canvas_width / 2, canvas_hight / 2, text=introduce, state='normal',
fill='magenta', font=(None, 18, "bold"))
while True:
if (ball.hit_bottom == False) and ball.paddle.started:
canvas.itemconfigure(game_start_text, state='hidden')
ball.draw()
paddle.draw()
if ball.hit_bottom == True:
time.sleep(0.1)
canvas.itemconfigure(game_over_text, state='normal')
tk.update_idletasks()
tk.update()
time.sleep(0.01)
if __name__ == '__main__':
main()
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
来源:https://www.cnblogs.com/zwhy8/p/13411702.html


猜你喜欢
- (在lua中通过loadfile, setfenv实现)python当然也可以:cat config.pybar = 10foo=100ca
- 前言今天就给大家介绍四个你不怎么常用排序函数,他们就是SQL Server排序中经常用到的ROW_NUMBER(),RANK(),DENSE
- 1、需求用户输入当前目录下任意文件名,程序完成对该文件的备份功能。备份文件名为xx[备份]后缀,例如:test[备份].txt。2、步骤接收
- 前言:这个系列的专栏是为了保持 Python 手感而创建的,也可以用来学习 Python,因为存在知识跨越难度,所以先学习滚雪球系列为佳。二
- 下面是完整代码://记录搜索引擎爬行记录 $searchbot = get_naps_bot(); if ($searchbot) { $t
- #!/bin/ksh INTERVAL=5 PREFIX=$INTERVAL-sec-status touch /tmp/running R
- Nocalhost是一种开发者工具,支持针对Kubernetes应用程序进行调试和部署。使用Nocalhost进行Python开发需要完成以
- 前两天,编辑建议我去当当和卓越申请个用户,在网站上放上我的书的链接,这样还可以拿到一些反点儿,于是我兴冲冲地跑到几个网站上去看,却只在卓越(
- 在框架选择上,不少人会觉得swoft才是最强PHP框架,尤其是在常驻内存模式的应用级高性能框架,性能是这一堆页面级框架遥不可及的,但是使用上
- 先给大家巩固tempdb的基础知识简介:tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对
- 今天,由于工作需要,我在自己的电脑上配置了Mysql5环境,同时安装了一个phpMyAdmin管理工具,安装完成后,发现在phpMyAdmi
- 1、元旦之前受赵晨之邀作为讨论嘉宾参加了ACM组织的“人与信息社会巡讲”。2、去之前赵晨发给了我大致的讨论提纲。咣当了好几下~说实话,我是硬
- Oracle的执行计划一句话命令:set autotrace on
- 通过web框架搭建一个最简易的程序:第一步:新建一个web框架程序通过CMD进入到想要创建web程序的文件夹数据命令django-admin
- keras自定义函数时候,正常在模型里自己写好自定义的函数,然后在模型编译的那行代码里写上接口即可。如下所示,focal_loss和fbet
- 在我们的生活中,需要接触大量的带有机械按键的物品。当你用手指按下按键的时候。都会或强或弱的感受一股(嗯,也有可能是一丝丝)反作用力传递到你手
- 我们知道Python3.x引入了新的字符串格式化语法。不同于Python2.x的"%s %s "%(a,b)
- list count统计个数实现在python数组中统计某个数字出现的次数。。。。。count_num = 3lst = [1,2,3,4,
- JS动态加载CSS 在可换主题的界面中具有很重要的意义,用户可以根据自己的浏览习惯选择自己喜欢的页面显示方式,下面详细说明。希望下面的方法对
- 本文实例讲述了Vue 实现从小到大的横向滑动效果。分享给大家供大家参考,具体如下:最近项目中遇到一个需求,需要实现横向滑动,并且在滑动过程中