登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

基于Python的游戏设计与开发毕业论文

 2020-02-16 10:02  

摘 要

基于Python的游戏设计与开发,主要目的在于熟悉Python各种库以及算法的设计及实现,并将游戏界面设计美观,游戏程序能够正常运行,能够使用户在玩游戏过程中锻炼反应能力和记忆力。

本文的主要工作包括:

首先,在绪论部分简要介绍了Python语言在游戏开发中的优势,和数独游戏的背景和玩法介绍,以及Python在游戏领域内的应用现状。随后指出本文的研究目的和研究内容,简要阐释系统要实现哪些功能,并大致介绍本文的组织结构。

其次,对系统进行设计,包括了系统的需求分析、概要设计和详细设计,重点强调系统需要实现的功能,通过数独游戏功能模块图展示,并画出游戏正常运行流程图展示玩家进行游戏的具体流程。除此以外,本章还包含了对系统界面设计的参考模板图,算法设计思想图以及数据库的数据流图。

随后,参照系统设计正式进行系统实现,分别介绍了主界面的划分以及各部分的作用,以及系统具体功能的实现思想与实现方案,并附上功能实现效果图。

最后,则是针对已完成的系统进行综合性系统测试,包括搭建测试环境,对系统进行功能性测试以及性能测试,记录出现的问题并加以修改完善。

关键词:Python,数独,游戏软件,系统设计,系统开发,系统测试

Abstract

The main purpose of Python-based game design and development is to familiarize with the design and implementation of Python libraries and algorithms, to enable the system run normally and to ensure users to exercise responsiveness and memory during game playing.

The main work of the thesis includes:

First, there had been many factors introduced into the introduction section, including the advantages of the Python language in game development domain, the background and method of game playing of Sudoku games and the application status of Python in the game field. Besides, pointing out the research purpose and research content with the thesis, explaining what functions the system achieved and introducing the organizational structure of the thesis is necessary.

Secondly, system designs included system’s requirements analysis, summary design and detailed design. In this part, it’s essential to explain the functions that system implemented by displaying Sudoku game function module diagram and the normal running flowchart of the game to show the player how to play the game. In addition, this chapter contains a reference template diagram for the system interface design, a map of the algorithm design and a data flow diagram of the database.

Then, the system had been officially implemented with reference to the system design. The division of the main interface and the functions of each part, as well as the ideas and implementation schemes of the specific functions of the system had been introduced with the function realization effect diagrams attached.

Finally, it’s a comprehensive system test for the completed system, including setting up a test environment, performing functional tests and performance tests about the system. Then record the problems and modify them.

Key Words:Python, Sudoku, Game software, System design, System development, System test

目录

第1章 绪论 1

1.1 概述 1

1.2 基于Python的游戏研究现状 1

1.3 数独游戏简介与背景 2

1.4 研究目的 2

1.5 研究内容 2

1.6 论文组织结构 3

第2章 系统设计 4

2.1 需求分析 4

2.1.1 可行性分析 4

2.1.2 功能需求分析 4

2.1.3 性能需求分析 5

2.2 总体设计 5

2.3 界面设计 8

2.4 算法设计 9

2.4.1 数独地图自动生成算法 9

2.4.2 数独地图规则判断算法 11

2.5 数据库设计 11

2.5.1 数据需求描述 11

2.5.2 数据类型定义 12

第3章 系统实现 14

3.1 游戏界面实现 14

3.2 游戏功能实现 17

3.2.1 界面颜色标识 17

3.2.2 填充,删除和提示 19

3.2.3 数字标记 20

3.2.4 游戏保存与加载 21

第4章 系统测试 23

4.1 测试目的 23

4.2 测试环境 23

4.3 测试用例 23

4.3.1 功能性测试 23

4.3.2 性能测试 24

4.4 测试记录 24

4.5 测试结论 24

4.5.1 功能性 24

4.5.2 易用性 24

4.5.3 可靠性 24

4.5.4 兼容性 25

4.5.5 安全性 25

第5章 总结与展望 26

5.1 全文总结 26

5.2 工作展望 26

参考文献 28

致谢 29

第1章 绪论

概述

随着人们生活水平的提高,与之伴随的生活压力的增大,娱乐活动也得到了快速发展,其中游戏的地位举足轻重,不仅成为了人们的减压方式,也成为了人们休闲娱乐、沟通社交的手段,因此游戏开发也成为了软件开发领域的重要分支。

基于Python语言的游戏设计与开发具有传统编程语言在游戏开发领域不具备的特点。首先是基于Python语言本身具备的优良特性,凭借更抽象更简洁的代码实现相关的游戏业务逻辑。[1]其次是Python在游戏脚本中作为内嵌语言,对于游戏剧本、游戏数据、玩法逻辑等需要灵活修改的内容,能够根据具体需求在不影响全局部署的情况下进行相应部分的修改,而达到对游戏内容的调整。最后是结合Python高性能库的使用,进一步实现大规模项目代码的控制和压缩[2],大幅提高了运行效率。Python如今已经逐渐应用于系统的设计与开发中去,因其数据处理速度快,代码简洁而受到人们欢迎。[3]

数独游戏作为一款经典的益智类游戏从产生至今深受人们喜爱。它通过简洁直观的九宫格模型和通俗易懂的规则,因操作简单,受众人群广,因此可玩性高。数独盘面可以看做是九宫格内嵌套了九宫格[4],在81个格子中给定了一定的已知数字,并且规定每一行、每一列、每一宫中都只能出现1-9的数字,每个数字有且仅能出现一次。依照规则,结合已知条件进行观察和逻辑推理。规则虽简单,但因数字的排列方式和已知数字的提示变化而使得数独游戏地图多种多样,使其成为优秀的大脑训练类游戏。

基于Python的数独游戏设计与开发是在基于tkinter库实现的图形化界面中[5],进行数独游戏界面的设计,并以List的形式存储9x9个Button控件。相关数据变更等操作则是连接到MySQL数据库中进行增删改查。

基于Python的游戏研究现状

Python作为一种解释型,面向对象的高级语言,因其良好可读性、简洁的语法吸引大批程序员纷纷学习,并且被国内外多所知名大学课堂列为必修基础编程语言课程。

除此之外,因为Python具备多种优秀库,能够更加快速的应用于各种程序设计场景以及大型科学计算。Pygame作为Python多种库之一,可快速制作2D游戏原型[6],被广泛应用于游戏的设计与开发中。Tkinter是Tk图形库的Python接口,其中包含了多种图形化设计所需的组件。[7]同时,Tkinter库适用于多平台,因为其工具箱内的多个功能控件具有可移植性,在不变更程序代码的情况下,允许程序运行于Windows,Linux和Mac OS平台上,因此被广泛应用于Python的图形化界面设计。[7]

Python语言具有高度解释性、可读性以及可扩展性,支持结构化以及面向对象的优良特性。[8]

Python语言最近才在国内逐渐崭露头角,其发展势头虽然迅猛,但相较于国外,国内有关Python的一些领域发展不是很成熟,尤其对于Python的游戏设计和开发方面显得不够重视。与之相关参考文献较少,大多是根据外文查阅和翻译。

数独游戏简介与背景

数独是一种数学逻辑游戏,游戏地图由9x9个格子组成 ,每个3x3格子组成一个九宫格,则整个游戏地图为9个九宫格。[9]玩家需要根据游戏地图上已填充的数字,游戏地图上已给出的数字最少为17,并根据规定,每一行、每一列、每一个九宫格的数字均为1-9,且每个数字有且仅能出现一次,从而进行推理,最后填充整个游戏地图。[9]

相传数独起源于拉丁方阵,1970年代在美国发展,改名为“数字拼图”,之后流传至日本并发扬光大,以数学智力游戏“智力拼图游戏”发表。后来在1984年株式会社发行的智力游戏杂志上命名为“数独”,意思为“在每一格只有一个数字”。后来一位前任香港高等法院的新西兰法官高乐德在1997年到日本东京旅游时,无意中发现,后来在英国的《泰晤士报》上发表,不久后其他报纸也相继发表,很快便风靡全英国,并在之后用6年时间编写了计算机程序,并将它放在网上,该游戏很快便在全世界流行。中国大陆是在2007年2月正式引入数独,随后,在2010年代随着电脑和智能手机的兴起,数独在个人电脑,网站和手机上也很受欢迎。

研究目的

伴随着个人电脑的普及以及网络的迅猛发展,基于PC端的游戏开发也如火如荼的进行着,与此同时,人们的生活节奏越来越快,耗费在各类游戏上的时间也不断压缩,因此,单机类休闲益智游戏也就成为了人们的重点选择对象之一,本文正是基于这一要素而进行研究。

本文研究基于Python及相关技术设计与开发,主要目的在于熟悉Python各种库以及算法的具体实现,尤其是对于Python语言的学习和在系统开发过程开发中的应用,不仅了解该语言的一些特性,同时将其优势发挥在数独游戏开发中,开发出一款以Python为主体的数独游戏,能够使用户在休闲娱乐中锻炼各种反应力和记忆力。

本文的系统设计主要是基于PC端而进行开发,这就不仅要求系统既实现跨平台,同时要求重点关注该系统的游戏界面设计,游戏的服务群体是电脑用户,因此界面的友好美观与否是影响用户体验的首要因素,除此以外,同时要关注详细设计的具体功能,在保证程序正常运行的情况下尽量提高运行效率。

研究内容

具体系统功能如下:

1.导航栏:列出该游戏系统的相关信息和主要功能。

2.模式:该游戏系统具备普通模式以及挑战模式。具体规则为:在常规的9x9个格子组成的数独游戏,玩家需要根据已提供的数字推理出其他空余格子的数字,使得每个空格所在的每一行、每一列、每一个九宫格均为数字1-9,且每个数字仅能出现一次。对于每个空格,设置颜色标亮、删除本格、提示、数字标记等功能,并且根据完成关卡显示当前进度。普通模式关卡,主要分为简单、中等、困难模式,难度系数取决于数独初始地图的空格数量。挑战模式则是根据空格数量根据一定的算法规则规定完成倒计时功能,在时间范围内完成可进行下一关卡挑战,难度系数依次递增,若超出时间范围,则可进行重新挑战。

3.开始:每个模式的游戏地图可以进行当前地图保存,以及游戏地图加载,使得游戏界面显示之前保存的游戏进度。当完成当前模式的所有游戏地图时,可对该模式进行初始化操作,更新所有游戏初始地图。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bishe985

Copyright © 2010-2022 毕业论文网 站点地图