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创建临时文件夹的方法
Jul 06 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
Python中扩展包的安装方法详解
Jun 14 Python
python读取视频流提取视频帧的两种方法
Oct 22 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
Python实现多线程的两种方式分析
Aug 29 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
python 公共方法汇总解析
Sep 16 Python
下载官网python并安装的步骤详解
Oct 12 Python
使用Python实现牛顿法求极值
Feb 10 Python
python中str内置函数用法总结
Dec 27 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 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/06/04 PHP
php短址转换实现方法
2015/02/25 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
详细探究Python中的字典容器
2015/04/14 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
python爬取微信公众号文章
2018/08/31 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
python  logging日志打印过程解析
2019/10/22 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
python使用smtplib模块发送邮件
2020/12/17 Python
Python修改DBF文件指定列
2020/12/19 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
通知函的格式
2015/04/27 职场文书
青年志愿者活动感想
2015/08/07 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电