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 内置字符串处理函数的使用方法
Jun 11 Python
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
Python缩进和冒号详解
Jun 01 Python
教你学会使用Python正则表达式
Sep 07 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
浅谈python常用程序算法
Mar 22 Python
浅析Python中字符串的intern机制
Oct 03 Python
Python实现扫码工具的示例代码
Oct 09 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
由php if 想到的些问题
2008/03/22 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
企业行政文员岗位职责
2013/12/03 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Java 数组的使用
2022/05/11 Java/Android
Java获取字符串编码格式实现思路
2022/09/23 Java/Android