logo资料库

康武斌-基于Python的飞机大战游戏设计与实现-16060120210.docx

第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
资料共70页,剩余部分请下载后查看
摘 要
Abstract
目 录
1 绪论
1.1 本课题的开发背景以及开发意义
1.2 国内外研究现状
1.3 本课题研究的主要内容以及研究方法
1.3.1 主要研究内容
1.3.2 主要研究方法
1.4 本章小结
2 相关工具及技术简介
2.1 PyCharm简介
2.2 Pygame简介
2.3 Python GUI Tkinter简介
2.4 碰撞检测概述与算法
2.4.1 碰撞检测简介
2.4.2 碰撞检测算法
2.5 C/S系统架构简介
2.5.1 C/S架构的分层
2.5.2 C/S架构优点
2.5.3 C/S架构的缺点
2.6 MySQL简介
2.7 本章小结
3 需求分析
3.1 可行性分析
3.1.1 技术可行性分析
3.1.2 时间可行性分析
3.1.3 经济可行性分析
3.1.4 法律可行性分析
3.2 需求的提出
3.2.1 系统业务流程图
3.3 功能需求
3.3.1 游戏主界面
3.3.2 登录注册
3.3.3 背景移动
3.3.4 背景音乐
3.3.5 英雄战机移动
3.3.6 创建敌机战机
3.3.7 创建子弹与发射子弹
3.3.8 爆炸特效
3.3.9 玩家生命值
3.3.10 游戏数据记录
3.4 系统性能需求
3.4.1 数据要求
3.4.2 时间特性要求
3.4.3 安全性和完整性要求
3.4.4 可维护性
3.4.5 可移植性
3.5 系统UML统一建模
3.5.1 统一建模语言UML概述
3.5.2 UML用例建模分析
3.5.3 UML时序建模分析
3.5.4 UML状态建模分析
3.5.5 UML类图建模分析
3.6 本章小结
4 系统总体设计
4.1 系统设计思想
4.2 系统架构设计
4.3 系统模块设计
4.3.1 功能模块设计
4.4 数据库分析与设计
4.4.1 数据库逻辑设计
4.4.2 数据库物理设计
4.5 系统数据流图
4.5.1 英雄战机数据流图
4.6 本章小结
5 系统详细设计与实现
5.1 用户注册模块
5.2 用户登录模块
5.3 开始游戏模块
5.4 游戏主界面
5.4.1 发射子弹
5.4.2 击中敌机战机
5.4.3 击中英雄战机
5.4.4 碰撞检测
5.4.5 爆炸特效
5.4.6 英雄战机生命值
5.4.7 击毁敌机数量
5.5 退出游戏
5.6 本章小结
6 系统测试
6.1 程序的测试
6.1.1 测试的重要性及目的
6.1.2 测试环境
6.1.3 测试的概要
6.1.4 测试的方法
6.1.5 测试结果分析
6.2 本章小结
7 总结
参考文献
致 谢
毕业设计(论文)知识产权声明
毕业设计(论文)独创性声明
附录
1.译文
1. class pygame.BufferProxy
2. pygame.Surface
3. pygame.event
2.原文
1. pygame.BufferProxy
2. pygame.Surface
3. pygame.event
本科毕业设计(论文) 题目:基于 Python 的飞机大战游戏 设计与实现 院 (系): 计算机科学与工程 专 班 学 学 业: 计算机科学与技术 级: 生: 号: 16060120 康武斌 16060120210 指导教师: 姜虹 2020 年 06 月
西安工业大学毕业设计(论文)任务书 院(系)计算机科学与工程专业计算机科学与技术班 16060120 姓名康武斌学号 16060120210 1.毕业设计(论文)题目: 基于 Python 的飞机大战游戏设计与实现 2.题目背景和意义: 随着互联网的高速发展,电竞游戏逐渐走向青少年的学习生活与上班 族的工作生活,而电竞游戏会严重危害青少年的学习情况、身心健康。从 Windows 系统被 人类普遍使用开始,每一个版本的 Windows 都会自带一些游戏,比如在 Windows 7 系统中, 自带的游戏有蜘蛛牌、扫雷等游戏,这些游戏的出现,方便了忙碌工作的人,在休息的时 间里,用很少的时间放松自我,让疲劳的大脑得益于休息;但是,随着 Windows 10 的普 及,之前在 Windows 7 中出现的一些小游戏,也被卸载,不在系统中自带;这种情况的出 现,给一些工作中的人们,带来了极大的不便,该项目的研发就是为了弥补 Windows 10 给人们带来的遗憾,为了弥补小游戏在 PC 本地的空缺,满足日常工作忙碌人的需求,既 能带给他们身心的愉悦,又能使他们不浪费更多的时间在玩游戏上,更加能有助于提高他 们的工作效率。所以,现进行基于 Python 的飞机大战游戏设计与实现的开发。 3.设计(论文)的主要内容(理工科含技术指标): 本课题的题目是基于 Python 的飞机大战 游戏设计与实现,要求使用 Python 语言进行项目开发,使用 Python 的 Pygame 模块进行游 戏业务逻辑的开发,使用 Python 的 GUI Tkinter 进行页面开发,实现人机交互,使用 MySQL 作为项目的后台数据库。 主要功能如下:(1)使用 Python 的 GUI Tkinter 实现注册、登录界面,并完成相关业务逻 辑(2)绘制英雄战机、绘制敌机战机功能(3)实现敌机飞行、敌机发射子弹功能(4)实 现英雄战机飞行、英雄战机发射子弹功能(5)实现敌机击毁英雄战机、英雄战机击毁敌机 功能(6)实现敌机战机与英雄战机互相碰撞的功能(7)完成用户数据的增加、删除、修 改、查询功能(8)实现英雄战机的生命值显示功能,并且英雄战机每被击中一次,生命值 就相应的减少。 4.设计的基本要求及进度安排(含起始时间、设计地点): (1)要求学生能够结合本专业理论与实践对实验结果进行科学的分析和解释,并能得出合 理有效的结论;能够针对项目给定的复杂工程问题,选择并使用恰当的工具,搜集相关信 息资源,进行计算、分析、评价与设计;能够阅读本专业外文文献资料,获取相关资料; 能够在多学科环境下,在设计、开发计算机工程解决方案的过程中,运用工程管理与经济 决策的方法。能够针对特定需求的复杂工程问题,选择并使用恰当的工具,搜集相关信息 资源,进行计算、分析、评价与设计。能够针对实际的计算机工程项目,分析其资源利用
效率、安全防范措施和社会效益,评价其对环境和社会可持续发展的影响。 (2)掌握开发环境的搭建; (3)设计并实现各模块的功能,熟练掌握 Python 基础语法的使用,尤其是面向对象编程 思想的使用。掌握 SQL 相关语法与语句的使用。熟练掌握 Python 中游戏开发模块 Pygame 的使用。熟练掌握 Python 的 GUI Tkinter 的使用。 (4)查阅相关的技术文献资料,翻译完成一篇 3000 字的英文文献; 第 1 周—第 2 周:选题、收集资料、确定开发工具、理解题目、开题报告、确定提纲。 第 3 周—第 4 周:系统的总体设计和详细设计,结合题目进行需求分析(需求说明书)、开 发计划(项目计划书),总体流程图、UML 建模。 第 5 周—第 8 周:学习 Python 语言基本知识与面向对象编程思想,学习基于 pygame 开发 游戏的 API;编写该项目的程序,实现各功能模块的业务逻辑代码。 第 9 周—第 10 周:对飞机大战项目运行在 PC 本地的进行单元测试、集成测试、系统测试、 验收测试、检查程序能否正常运行,检查程序是否满足项目需求。 第 11 周—第 12 周:在阿里云服务器上部署 MySQL 数据库,将该项目的数据库部署到服 务器上;将该项目打包成 exe 文件,上架到阿里云服务器,并且提供下载链接,以便外网 可以访问。 第 13—17 周:对课题的所有文档、程序进行系统的整理,完成毕业论文的撰写。 第 18 周:准备答辩。 5.毕业设计(论文)的工作量要求 ① 实验(时数)*或实习(天数): ② 图纸(幅面和张数)*: 撰写不少于 15000 字论文 300 机时 ③ 其他要求: 查阅资料不少于 20 份 指导教师签名: 学生签名: 系(教研室)主任审批: 年 月 日 年 月 日 年 月 日 说明:1 本表一式二份,一份由学生装订入论文,一份教师自留。 2 带*项可根据学科特点选填。
基于 Python 的飞机大战游戏设计与实现 摘 要 随着互联网的蓬勃发展,使用 Python 语言提供的 Pygame 模块开发游戏, 已经是一种不可替代的趋势,使用 Python 开发游戏,给开发人员带来极大的帮 助,使得开发工具更加便捷、简单。 本项目是基于 Python 的飞机大战游戏设计与实现,用户通过注册账号、登 录 账 号 后 进 入 游 戏 的 主 界 面 , 点 击 开 始 按 钮 , 就 可 以 启 动 游 戏 , 通 过 Python.pygame 提供的 Sprite 制作游戏精灵,通过 Python.pygame 提供的事件 监听来控制飞机的移动,通过精灵的长度、宽度计算精灵的坐标位置,通过坐 标位置就能实现敌机与英雄战机的碰撞,在 pygame 模块中,提供了碰撞检测模 块,使用碰撞检测技术,检测敌机与英雄战机是否发生碰撞;亦可实现敌机击 毁英雄战机、英雄战机击毁敌机,以此来实现飞机大战游戏的功能。 基于 Python 的飞机大战游戏设计与实现,通过面向对象的编程思想开发, 可以借助 Java 开发飞机大战游戏的思路,完成该项目的开发工作,借助 Java 开发飞机大战游戏的编程思想,使用 Python 语言,更加简洁、方便的完成项目 开发,将该项目运用于 PC 终端。 关键词:Python;Pygame;游戏精灵;碰撞检测 I
Design and Implementation of Airplane Battle Game Based on Python Abstract With the rapid development of the Internet, it has become an irreplaceable trend to use Pygame module provided by Python to develop games. Using Python to develop games brings great help to developers and makes development tools more convenient and simple. This project is based on the Python plane war game design and implementation, the user through a registered account, login account after entering the main interface of the game, click the start button, you can start the game, in Python. Pygame provide the Sprite of making games, in Python. Pygame provide event listeners to control the movement of the aircraft, calculated by the length, width of elves elves coordinates, through coordinates can realize the enemy planes collide with the heroic fighter, in pygame module, provides the collision detection module, using collision detection technology, Detect whether there is a collision between the enemy aircraft and the hero aircraft; Also can realize the enemy aircraft to destroy the hero fighter, the hero fighter aircraft to destroy the enemy aircraft, in order to achieve the aircraft war game function. Based on Python's plane war game design and implementation, through the object-oriented programming thought development, can use the thinking of Java development plane war games, to complete the project development work, with the help of Java development plane war game programming thought, using the Python language, more concise and convenient to complete the project development, apply the project to PC terminal. Key Words: python; pygame; sprite; collision detection II
目 录 中文摘要..................................................................................................... I 英文摘要....................................................................................................II 1 绪论.........................................................................................................1 1.1 本课题的开发背景以及开发意义 ................................. 1 1.2 国内外研究现状 ............................................... 2 1.3 本课题研究的主要内容以及研究方法 ............................. 2 1.3.1 主要研究内容 .......................................... 2 1.3.2 主要研究方法 .......................................... 3 1.4 本章小结 ..................................................... 3 2 相关工具及技术简介............................................................................ 4 2.1 PyCharm 简介 .................................................. 4 2.2 Pygame 简介 ................................................... 4 2.3 Python GUI Tkinter 简介 ....................................... 4 2.4 碰撞检测概述与算法 ........................................... 5 2.4.1 碰撞检测简介 .......................................... 5 2.4.2 碰撞检测算法 .......................................... 5 2.5 C/S 系统架构简介 .............................................. 6 2.5.1 C/S 架构的分层 .........................................6 2.5.2 C/S 架构优点 ...........................................6 2.5.3 C/S 架构的缺点 .........................................6 2.6 MYSQL 简介 .................................................... 7 2.7 本章小结 ..................................................... 7 3 需求分析.................................................................................................8 3.1 可行性分析 ................................................... 8 3.1.1 技术可行性分析 ........................................ 8 3.1.2 时间可行性分析 ........................................ 8
3.1.3 经济可行性分析 ........................................ 8 3.1.4 法律可行性分析 ........................................ 8 3.2 需求的提出 ................................................... 7 3.2.1 系统业务流程图 ........................................ 7 3.3 功能需求 ..................................................... 8 3.3.1 游戏主界面 ............................................ 8 3.3.2 登录注册 .............................................. 8 3.3.3 背景移动 .............................................. 8 3.3.4 背景音乐 .............................................. 8 3.3.5 英雄战机移动 .......................................... 8 3.3.6 创建敌机战机 .......................................... 9 3.3.7 创建子弹与发射子弹 .................................... 9 3.3.8 爆炸特效 .............................................. 9 3.3.9 玩家生命值 ............................................ 9 3.3.10 游戏数据记录 ......................................... 9 3.4 系统性能需求 .................................................. 9 3.4.1 数据要求 .............................................. 9 3.4.2 时间特性要求 ......................................... 10 3.4.3 安全性和完整性要求 ................................... 10 3.4.4 可维护性 ............................................. 10 3.4.5 可移植性 ............................................. 10 3.5 系统 UML 统一建模 ............................................ 10 3.5.1 统一建模语言 UML 概述 ................................. 10 3.5.2 UML 用例建模分析 ......................................11 3.5.3 UML 时序建模分析 ......................................12 3.5.4 UML 状态建模分析 ......................................12 3.5.5 UML 类图建模分析 ......................................13 3.6 本章小结 .................................................... 15 4 系统总体设计.......................................................................................16
分享到:
收藏