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时区设置方法与pytz查询时区教程
Nov 27 Python
python通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
python分析apache访问日志脚本分享
Feb 26 Python
python实现数组插入新元素的方法
May 22 Python
Python连接phoenix的方法示例
Sep 29 Python
Python实现迭代时使用索引的方法示例
Jun 05 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
Python源码解析之List
May 21 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
经典演讲稿范文
2013/12/30 职场文书
和睦家庭事迹
2014/05/14 职场文书
公司合并协议书范本
2014/09/30 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
抢劫罪辩护词
2015/05/21 职场文书
2015年成本会计工作总结
2015/10/14 职场文书