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中map、any、all函数用法分析
Apr 21 Python
python模拟Django框架实例
May 17 Python
python验证码识别的实例详解
Sep 09 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
解决python replace函数替换无效问题
Jan 18 Python
Python如何读写二进制数组数据
Aug 01 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
python 自动识别并连接串口的实现
Jan 19 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检测useragent版本示例
2014/03/24 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
chosen实现省市区三级联动
2018/08/16 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
财务总监管理岗位职责
2014/03/08 职场文书
机械专业求职信范文
2014/07/15 职场文书
上课说话检讨书
2015/01/27 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android