Python实现弹球小游戏


Posted in Python onAugust 01, 2020

本文主要给大家分享一个实战项目,通过python代码写一款我们儿时大多数人玩过的游戏---小弹球游戏。只不过当时,我们是在游戏机上玩,现在我们通过运行代码来玩,看看大家是否有不一样的体验,是否可以重温当年的乐趣呢!

整个游戏实现比较简单,只需在安装python的电脑上即可运行,玩游戏,通过键盘键控制弹球挡板的移动即可。原理不多说,且让我们去看看吧。

1、代码运行后,游戏界面如下所示:

Python实现弹球小游戏

2、游戏过程中,界面如下所示:

Python实现弹球小游戏

3、游戏结束后,界面如下所示:

Python实现弹球小游戏

游戏实现部分源码如下:

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()

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以上就是Python实现弹球小游戏的详细内容,更多关于Python 弹球游戏的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中使用摄像头实现简单的延时摄影技术
Mar 27 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python内置模块turtle绘图详解
Dec 09 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
django删除表重建的实现方法
Aug 28 Python
浅析Django中关于session的使用
Dec 30 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
Python实现仓库管理系统
May 30 Python
序列化Python对象的方法
Aug 01 #Python
Python 忽略文件名编码的方法
Aug 01 #Python
Python 如何展开嵌套的序列
Aug 01 #Python
Python 日期与时间转换的方法
Aug 01 #Python
Python 执行矩阵与线性代数运算
Aug 01 #Python
Python实现数字的格式化输出
Aug 01 #Python
Python实现一个简单的递归下降分析器
Aug 01 #Python
You might like
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
详解PHP中的Traits
2015/07/29 PHP
javascript学习网址备忘
2007/05/29 Javascript
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
使用angular写一个hello world
2015/01/23 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python实现简单多人聊天室
2018/12/11 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python类的实例化问题解决
2019/08/31 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
C#怎么让一个窗口居中显示?
2015/10/20 面试题
大一学生的职业生涯规划书范文
2014/01/19 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
大学运动会加油稿
2015/07/22 职场文书