python弹球小游戏程序_Python实现弹球小游戏

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

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

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

kze22fk2eyt.jpg

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

chphaqsx14m.jpg

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

tgc0vb5ftb5.jpg

游戏实现部分源码如下:

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实现弹球小游戏

本文地址: http://www.cppcns.com/jiaoben/python/329594.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习决策生成-以 Q-learning 为例

强化学习决策生成-以 Q-learning 为例

【数据中台】关于数据中台系统,需要了解哪些技术?

来源:产业智能官国家建材大数据研究中心今天让我们全面解读中台,包括企业为什么要平台化,目前中台都有哪些形式,实施中台系统的优势、面临的问题以及建议都有哪些?中台这个概念早期是由美军的作战体系演化而来的&#…

python自动拨号_Python自动连接ssh的方法

作者:Sephiroth 字体: 类型:转载这篇文章主要介绍了Python自动连接ssh的方法,实例分析了基于Python实现连接ssh的技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了Python自动连接ssh的方法。分享给大家供大家参考。具体实现方法…

数据库 proc编程七

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include "sqlca.h"//定义char [20]数组类型 typedef char ChararrType[20];//oracle外部变量类型string类似varchar2类型&#xff0c;是以\0结尾的…

anaconda+cuda+cudnn+pytorch安装踩坑大全

windows环境下anacondapycharmcudacudnnpytorch安装踩坑大全anaconda安装pycharm安装cudacudnnpytorchgym环境安装anaconda安装 安装时不要勾选添加环境变量&#xff0c;完事后自己去手动添加。添加时注意是用户变量还是系统变量&#xff0c;我这个就搞错了&#xff0c;导致重…

什么是启发式?什么是产生式?

来源&#xff1a;人机与认知实验室一般而言&#xff0c;机器常常被设定从已知推未知&#xff0c;而人们不时会从未知&#xff08;假设&#xff09;推未知&#xff0c;特殊情形下也有从未知推已知的&#xff0c;这些推导中常见的有产生式和启发式&#xff0c;那么究竟什么是产生…

Maven项目错误解决小结

http://blog.csdn.net/typa01_kk/article/details/49185759 Maven项目错误解决小结 注&#xff1a;整理错误&#xff0c;不喜欢为了一个小问题&#xff0c;占篇幅&#xff0c;所以请CtrlF自己查看&#xff0c;定位问题&#xff0c;愿为解决. 注&#xff1a;网络上的错误解决经验…

python的pillow给图片加文字_Python-Pillow库给图片添加文字、水印

apt-get install -y python-PIL在图片右下角添加文字&#xff1a;Python# -*- coding: utf-8 -*-from PIL import Image, ImageDraw, ImageFont# 指定要使用的字体和大小&#xff1b;/Library/Fonts/是macOS字体目录&#xff1b;Linux的字体目录是/usr/share/fonts/font Image…

python交并补_python两个列表求交、并、差

在python中&#xff0c;如果有两个数组&#xff0c;分别要求交集&#xff0c;并集与差集&#xff0c;怎么实现比较方便呢&#xff1f; 当然最容易想到的是对两个数组做循环&#xff0c;即写两个for循环来实现。这种写法大部分同学应该都会&#xff0c;而且也没有太多的技术含量…

论如何快速完成文件汇总和统计任务

论如何快速完成文件汇总和统计任务 咱就是说&#xff0c;大学生和研究生当个班委&#xff0c;一天天杂事可真多&#xff0c;尤其收excel表以及统计人数等&#xff0c;费时费力。那么如何快速解决这些问题&#xff0c;就是我们今天这篇博文的主要目标。 拿我个人的任务来说&am…

可怕!贺建奎论文手稿意外曝光!基因编辑实验充满谎言

来源&#xff1a;学研加中国双胞胎的基因编辑可能已经失败&#xff0c;并产生了意想不到的突变。这是科学家们阅读了原南方科技大学副教授贺建奎论文手稿后&#xff0c;得出的结论。贺建奎基因编辑婴儿事件2018年11月26日&#xff0c;一则《世界首例免疫艾滋病的基因编辑婴儿在…

l360废墨收集垫清零_知识分享003:EPSON L360打印机出现故障-废墨计数清零

故障现象&#xff1a;客户的EPSON L360打印机出现故障&#xff0c;纸张和墨水报警灯交替闪烁。无法打印原因分析&#xff1a;确定纸张和墨水的是处于正常状态&#xff0c;上网查了&#xff0c;可能是废墨收集到达了上限。需要做清零处理。解决方法&#xff1a;根据这个型号EPSO…

R语言-处理异常值或报错的三个示例

R语言-处理异常值或报错的三个示例 之前用rvest帮人写了一个定期抓取amazon价格库存&#xff0c;并与之前价格比较的小程序&#xff0c;算是近期写过的第一个完整的程序了。里面涉及了一些报错的处理。 这里主要参考了stackoverflow上的以下问答&#xff1a; How to skip an er…

联想e580没有声音_现在你可以购买通过 Linux 认证的联想 ThinkPad 和 ThinkStation

曾经有一段时间&#xff0c;ThinkPad 是 Linux 用户的首选系统。但那是在 ThinkPad 还是 IBM 的产品的时候。来源&#xff1a;https://linux.cn/article-12283-1.html作者&#xff1a;Abhishek Prakash译者&#xff1a;Xingyu.Wang曾经有一段时间&#xff0c;ThinkPad 是 Linux…

UC伯克利教授Stuart Russell人工智能基础概念与34个误区

来源&#xff1a;数据简化DataSimp数据简化DataSimp导读&#xff1a;UC伯克利教授StuartRussell人工智能基础概念与34个误区&#xff0c;Russell是加州大学伯克利分校人工智能系统中心创始人兼计算机科学专业教授&#xff0c;同时还是人工智能领域里「标准教科书」《人工智能&a…

装入归档文件时出现了一个错误linux_静态链接与动态链接(Linux)

前言上一篇分享了静态链接与动态链接的实验(Windows下)。这一篇分享Linux下的笔记&#xff0c;同时对上一篇笔记做一个补充。首先&#xff0c;我们把静态链接与动态链接做一个这样子的比喻&#xff1a;把链接过程看做我们平时学习时做笔记的过程。我们平时学习时准备一本笔记本…

c++ object model

对一个结构体进行不断的封装后可以形成一个c类&#xff0c;为此需要添加很多函数成员之类的代码&#xff0c;为此显示c比c语言显得庞大并且迟缓&#xff0c;但是事实并不是这些 c在布局和时间上的额外承担主要是由virtual引起的 下面简述c对象模型 数据成员包括静态成员和非静态…

9008刷机怎么刷_OV快捷进入高通进9008或fastboot模式刷机解锁,和MTK关机解锁

不喜略过。高通进9008刷机解锁&#xff1a;关机状态下&#xff0c;同时按音量下键上键插线进9008 .(注意安装手机驱动)高通进fastboot模式解锁&#xff1a;旧机型(平台上选择不到机型的)进fast解锁&#xff0c;关机状态 音量下键开机键 MTK关机解锁:关机状态下按音量上键&#…

10年内,19个关键技术将改变世界

来源&#xff1a; 科技联盟技术中心据国外媒体报道&#xff0c;从无人驾驶汽车到机器人工人&#xff0c;在我们熟悉所有这一切之前&#xff0c;未来正迎面走来。根据世界经济论坛全球议程理事会关于《未来软件与社会》的一份报告&#xff0c;到2025年前&#xff0c;很多新兴技术…

scope参数错误或没有scope权限_SSM 单体框架 - 前端开发:用户和权限模块

用户管理分页 & 条件查询用户数据查询条件1. 用户手机号 2. 注册时间,包含开始日期和结束日期日期选择器组件在查询条件中使用了 Element UI 中的日期选择器&#xff1a;https://element.eleme.cn/#/zh-CN/component/date-picker#mo-ren-xian-shi-ri-qi在测试项目中创建一个…