Python实现弹球小游戏

 更新时间:2020年08月01日 10:56:00   转载 作者:吃着东西不想停  
这篇文章主要介绍了Python实现弹球小游戏的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

本文主要给大家分享一个实战项目,通过python代码写一款我们儿时大多数人玩过的游戏---小弹球游戏。只不过当时,我们是在游戏机上玩,现在我们通过运行代码来玩,看看大家是否有不一样的体验,是否可以重温当年的乐趣呢!

整个游戏实现比较简单,只需在安装python的电脑上即可运行,玩游戏,通过键盘键控制弹球挡板的移动即可。原理不多说,且让我们去看看吧。

1、代码运行后,游戏界面如下所示:

2、游戏过程中,界面如下所示:

3、游戏结束后,界面如下所示:

游戏实现部分源码如下:

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获取摄像头并实时控制人脸的实现示例

    这篇文章主要介绍了用Python获取摄像头并实时控制人脸的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现加载及解析properties配置文件的方法

    Python实现加载及解析properties配置文件的方法

    这篇文章主要介绍了Python实现加载及解析properties配置文件的方法,结合实例形式分析了Python针对properties配置文件的加载、读取及解析相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python 类属性与实例属性,类对象与实例对象用法分析

    Python 类属性与实例属性,类对象与实例对象用法分析

    这篇文章主要介绍了Python 类属性与实例属性,类对象与实例对象用法,结合实例形式分析了java类相关的属性、实例化、对象等相关概念与操作技巧,需要的朋友可以参考下
    2019-09-09
  • 使用python实现递归版汉诺塔示例(汉诺塔递归算法)

    使用python实现递归版汉诺塔示例(汉诺塔递归算法)

    这篇文章主要介绍了使用python实现递归版汉诺塔示例(汉诺塔递归算法),需要的朋友可以参考下
    2014-04-04
  • Python序列之list和tuple常用方法以及注意事项

    Python序列之list和tuple常用方法以及注意事项

    这篇文章主要介绍了Python序列之list和tuple常用方法以及注意事项,sequence(序列)是一组有顺序的对象的集合,序列可以包含一个或多个元素,也可以没有任何元素,序列有两种:list (表) 和 tuple(元组),需要的朋友可以参考下
    2015-01-01
  • Python中的闭包详细介绍和实例

    Python中的闭包详细介绍和实例

    这篇文章主要介绍了Python中的闭包详细介绍和实例,本文先是详细讲解了闭包的相关知识,然后给出了python中闭包例子、lamada例子,需要的朋友可以参考下
    2014-11-11
  • Python调用C语言程序方法解析

    Python调用C语言程序方法解析

    这篇文章主要介绍了Python调用C语言程序方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python复制列表时[:]和[::]之间有什么区别

    python复制列表时[:]和[::]之间有什么区别

    这篇文章主要给大家介绍了关于python复制列表时[:]和[::]之间有什么区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Python利用ansible分发处理任务

    Python利用ansible分发处理任务

    这篇文章主要介绍了Python利用ansible分发处理任务的相关资料,需要的朋友可以参考下
    2015-08-08
  • python 判断linux进程,并杀死进程的实现方法

    python 判断linux进程,并杀死进程的实现方法

    今天小编就为大家分享一篇python 判断linux进程,并杀死进程的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论