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中使用copy模块实现列表(list)拷贝
Apr 14 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python分析学校四六级过关情况
Nov 22 Python
Python对多属性的重复数据去重实例
Apr 18 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
创建Shapefile文件并写入数据的例子
Nov 26 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 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
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python中join函数简单代码示例
2018/01/09 Python
python创建文件备份的脚本
2018/09/11 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
中华美德颂演讲稿
2014/05/20 职场文书
生活小常识广播稿
2014/09/16 职场文书
个人借款协议书范本
2014/11/17 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
合作意向书范本
2019/04/17 职场文书
PL350与SW11的比较
2021/04/22 无线电