热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python制作射击游戏_python实现飞船射击矩形的小游戏

文件“game_functions.py”存放跟游戏有关的所有业务逻辑函数(分析重点代码),代码如下图:关于事件的函数:1.函数“chec

文件“game_functions.py”存放跟游戏有关的所有业务逻辑函数(分析重点代码),代码如下图:

关于事件的函数:

1.函数“check_keydown_events”,当按下键盘下键“K_DOWN”,移动状态“move_down”为true;当按下键盘上键“K_UP”,移动状态“move_up”为true;当按下空格键“K_SPACE”,播放射击音效和发射子弹;当按下“P”键时(“K_p”),则开始游戏;当按下“Q”键时,则退出程序“sys.exit()”;

2.函数“check_keyup_events”,当松开下键“K_DOWN”,移动状态“move_down”为False;当松开上键“K_UP”,移动状态“move_up”为False;

3.函数“check_play_button”用来点击按钮“Play”开始游戏(执行函数“start_game”清空编组的数据和重置统计信息的数据);

4.函数“check_events”用来响应按键和鼠标事件,当点击屏幕关闭按钮“QUIT”,则保存最高分到文件并退出系统“sys.exit()”;当按键时(KEYDOWN),调用函数“check_keydown_events”;当松开按键时(check_keyup_events),调用函数“check_keyup_events”;当点击鼠标时(MOUSEBUTTONDOWN),判断是否按钮“Play”区域,如果是则调用函数“check_play_button”开始游戏。

关于文件的函数:

1.函数“save_file”用来存储最高分的数据到文件;

关于矩形的函数:

1.函数“create_rect”用来创建单个矩形,注意没有矩形才能创建,所以屏幕一直就只有一个矩形进行移动;

关于子弹的函数:

1.函数“fire_bullet”用来创建单颗子弹,按空格键才创建;

2.函数“check_bullet_rect_collisions”用来检查是否有子弹击中矩形:

1)如果击中,播放爆炸声音(explosiveSound.play());

2)计算得分“settings.score”,注意执行scoreboard.prep_score()来重新渲染分数;

3)调用函数“check_high_score”,如果分数大于最高分,则重新渲染分数到最高分;

4)如果每一关设置的通关数量“settings.level_number”为0,则执行“settings.increase_speed()”来提高速度和分数;

3.函数“update_bullets”:

1)当子弹没有击中矩形时(bullet.rect.right > screen.get_rect().right),删除创建的子弹,并减少可射失的数量(注意执行scoreboard.prep_ships(),不然左上角显示的飞船数量不会更新);

2)当可射失的数量“settings.ship_limit”为0时,停止游戏并显示按钮“Play”。

关于屏幕的函数:

1.函数“update_screen”用来更新屏幕的各种信息。



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 在本教程中,我们将深入探讨如何使用 Python 构建游戏的主程序模块。通过逐步实现各个关键组件,最终完成一个功能完善的游戏界面。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
author-avatar
摩擦摩擦魔鬼的步伐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有