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 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
Python生成器的使用方法和示例代码
Mar 04 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
python支付宝支付示例详解
Aug 22 Python
Python 日志logging模块用法简单示例
Oct 18 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 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中OR与|| AND与&&的区别总结
2013/10/26 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
JavaScript中Math对象的方法介绍
2017/01/05 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
浅谈对yield的初步理解
2017/05/29 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python使用folium excel绘制point
2019/01/03 Python
python爬虫之自制英汉字典
2019/06/24 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
商务英语毕业生自荐信范文
2013/11/08 职场文书
食品安全演讲稿
2014/09/01 职场文书
质检员岗位职责范本
2015/04/07 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫