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备份Mysql脚本
Aug 11 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
Python利用ansible分发处理任务
Aug 04 Python
详解Python爬虫的基本写法
Jan 08 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php文件上传类的分享
2017/07/06 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
原生js实现放大镜
2017/02/20 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
python实现在控制台输入密码不显示的方法
2015/07/02 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
弘扬职业精神演讲稿
2014/03/20 职场文书
世界红十字日活动总结
2015/02/10 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
放飞理想主题班会
2015/08/14 职场文书
2016计算机专业毕业生自荐信
2016/01/28 职场文书