获取源码联系方式请查看文章结尾🍅
摘 要
随着互联网的日益普及、python语言在Internet上的实现,python应用程序产生的
互联网增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本论文中介绍了python的相关语言,python语言开发了-款画面流畅的互联网游游戏坦克大战,论述了本程序的结构和具体功能的实现方法。本程序的界面和运作方式继承于任天堂公司在20世纪80年代开发的BattleCity游戏,将老少皆宜的经典作品移植到互联网上来。
本设计的基本思想就是采用django框架开发坦克游戏设计与实现,以python为开发语言,MySQL为数据库,该坦克游戏设计与实现能以一种简便、轻量级的方式实现了管理的基本功能,降低了开发的复杂性,提高了系统的可维护性,具有一定的应用价值。
关键词: 坦克游戏设计与实现; Mysql;python;坦克游戏
Abstract
With the increasing popularity of the Internet and the implementation of Python language on the Internet, python applications have emergedInternet value-added services gradually reflect their influence and play an important role in enriching people's life content and providing fast information. This paper introduces the relevant language of python, which develops an Internet game tank war with smooth picture, and discusses the structure of this program and the implementation method of specific functions. The interface and operation mode of this program inherit the Battle City game developed by Nintendo in the 1980s, and transplant the classic works suitable for all ages to the Internet.
The basic idea of this design is to use Django framework to develop the design and implementation of tank game. With Python as the development language and MySQL as the database, the design and implementation of tank game can realize the basic functions of management in a simple and lightweight way, reduce the complexity of development, improve the maintainability of the system, and have a certain application value.
Key words: tank game design and implementation; Mysql; python; Tank game
目 录
1 绪论
1.1网站开发背景
1.2课题意义
1.3发展现状
2 关键技术简介
2.1开发工具简介
2.2 Python 语言简介
2.3 Django 框架简介
2.4 MySQL数据库
2.4 Pycharm 简介
2.6 Html 语言简介
2.7 B/S技术介绍
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 项目设计目标与原则
3.3 系统流程分析
3.3.1 操作流程
3.3.2 添加信息流程
3.4 系统功能需求分析
4 系统设计
4.1系统结构设计
5 系统的实现 16
5.1前台功能模块 17
6 系统测试 18
6.1系统测试的目的 19
6.2系统测试方法
6.3功能测试 21
总 结
致 谢
参考文献
1.1网站开发背景
游戏软件业是一个新兴行业,存在着巨大的生存和开展空间,同时它也是一个存在社会争议的行业。游戏的完整定义可以归纳为:一种由道具和规如此构建而成、由人主动参与、有明确目标、在进展过程中包含竞争且富于变化的以娱乐为目的的活动,它与现实世界相互联系而又相互独立,能够表现人们之间的共同经验,能够表现平等与自由的精神。游戏产业准确地讲应该叫做电子娱乐业,是指基于电子技术、计算机技术、软件技术、网络技术和无线技术的新型娱乐产业,分为单机游戏、网络游戏和无线游戏等几个局部。电子游戏业从诞生至今已经有几十年的时间,可仅仅在这短短的几十年的时间里,它却在兴旺国家的经济开展中发挥了显著的作用。游戏软件业从诞生到现在,历经几代的开展,已进入了一个非常成熟的时期。对于我国而言,游戏软件业也有快速的开展,但是因为很多原因阻碍了这个产业的开展,如游戏软件研发人才缺乏,软件开发投入不足;对青少年的负面影响,一些不健康的游戏软件导致了社会对游戏软件的偏见;技术滞后等情况。
1.2课题意义
坦克游戏是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个坦克大战时代。究其历史,坦克大战最早还是出现在FC机上,现在又重新掀起这股让人沉迷的坦克大战风潮,它的规如此简单,容易上手,且游戏过程变化无穷,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。这次可坦克游戏,主要是实现少年时的梦想,用四年大学所学的知识来弥补小时候的梦想,让更多人知道坦克游戏的存在。
1.3 发展现状
坦克大战自推出以来,开展多个版本,并在各个平台都有衍生作品,得到了众多玩家的喜爱。正传系列
(1)1980-坦克营(Tank Battalion),MSX
(2) 1985-坦克大战(Battle City),FC/富士通FM77
(3)1990-90坦克(Tank 1990),FC
(4)1991-坦克大战(Battle City),GB
(5) 1991-坦克军团(Tank Force),PC
(6)1994-导弹坦克(Missile Tank),FC
(7) 1996-坦克大战(Battle City),SGB
(8) 2008-3D重制版突击坦克(Tank at the Gates),PCMOD或Hack版
(9)2009年坦克大战OL超级坦克1(Super Tank I)
特征:标题的Battle City为绿色,初始坦克火力2级
超级坦克2(Super Tank II)
特征:标题的Battle City为绿色,初始坦克火力3级
烟山90坦克
特征:关卡更改、可得物品更改,并在225关有一个巨型坦克Boss(原型来自超级魂斗罗第2关)
战斗小队(Battle Squard)坦克冲撞
特征:6v6的多人对战夺旗坦克游戏
坦克大决战(Battle Europe)
特征:45度角俯视的PC坦克游戏
坦克冲撞(Battle Rush)
特征:全3D制图且45度角俯视的PC游戏
2 关键技术简介
2.1开发工具简介
实现坦克游戏的技术非常的丰富,对于一个开发者来说,选择合适的方式来实现,是非常重要的。如果技术选择错误,这将会给未来的使用造成很多的不便,最严重的,可能还会对系统的性能有影响。以下是开发所需:
浏览器:IE 8.1(推荐6.0以上)
代码开发平台:Pycharm
开发使用语言:Python
JDK版本:JDK_8
数据库管理系统软件:Mysql
运行平台:Windows 7
运行服务器:jdango
2.2 Python 语言简介
python 是一门编程语言,与python 、c++等类似,都可以完成软件的实现。比其他 语言更有优势的地方在于语法简洁、编写速度快、容易上手(学习成本低,学习的效 率高) 。python 目前是比较流行的编程语言,某些中学、大学已经开设 python 课程, 包括中小学都开始学习 python。主要用于: 基础软件开发、web 开发、爬虫开发、数 据分析、人工智能。
2.3 Django 框架简介
django是 python的一个 web 框架,可以帮助使用快速搭建一个 web 项目。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式。
Django的 MTV模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合 关系,只是定义上有些许不同,Django的 MT分别是指:M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射 (ORM)。T表示模板 (Template):负责如何把页面(html)展示给用户。V 表示视图(View):负责业务逻辑,并在适当时候调用 Model 和 Template。除了以上三层之外,还需要一个 URL分发器,它的作用是将一个个 URL 的页 面请求分发给不同的 View处理,View再调用相应的 Model 和 Template,MTV的 响应模式。
2.4 Pycharm 简介
PyCharm 是由 JetBrains 打造的一款 Python IDE。
PyCharm 具备一般 Python IDE 的功能,比如: 调试、语法高亮、项目管理、代 码跳转、智能提示、 自动完成、单元测试、版本控制等。另外,PyCharm 还提供了 一些很好的功能用于 Django 开发, 同时支持 Google App Engine ,更酷的是, PyCharm 支持 IronPython。
2.5 MySQL数据库技术
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。简单来讲,存储粮食的仓库叫粮仓存储数据的仓库就叫数据库。数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。 其中非关系型数据库又分为网络数据库和层级数据库。网络数据库网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,球员与网络中的数据库数据交互也借此得以进行。作为最成功的典型层次模型数据库系统,IMS是最早研制成功的数据库系统。建立在关系模型基础上的关系数据库借助于集合代数等数学概念和方法来对对数据库中的数据进行处理。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。1970年由埃德加·科德于首先提出的关系模型融合了“科德十二定律”。现如今即使很多人仍旧不看好这个模型,但它依然是数据存储的传统标准。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
各种大家常用的操作系统平台的关系数据库系统大多是由瑞典的MySQL AB公司开发的其中MySQL也是由这家开发的,它所应用的分布式数据库管理系统是员工机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,具体体现在因特网上的任何地方都可以访问用它搭建的数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数会被用来针对不同编程语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性,许多中小型网站为了降低网站总体拥有成本这时选用MySQL作为网站数据库就是他们的不二之选,选用MySQL可以大量缩减数据库成本。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多球员的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
2.6 Html 语言简介
超文本标记语言(英语: HyperText Markup Language ,简称: HTML)是一种用 于创建网页的标准标记语言。HTML 是一种基础技术,常与 CSS 、pythonScript 一起被 众多网站用于设计网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可 以读取 HTML 文件,并将其渲染成可视化网页。HTML 描述了一个网站的结构语义 随着线索的呈现,使之成为一种标记语言而非编程语言。
HTML 元素是构建网站的基石。HTML 允许嵌入图像与对象,并且可以用于创 建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一 定程度上描述文档的外观和语义。HTML 的语言形式为尖括号包围的 HTML 元素(如 <html>),浏览器使用 HTML 标签和脚本来诠释网页内容,但不会将它们显示在页 面上。
HTML 可以嵌入如 pythonScript 的脚本语言,它们会影响 HTML 网页的行为。网页 浏览器也可以引用层叠样式表(CSS)来定义文本和其它元素的外观与布局。维护 HTML 和 CSS 标准的组织万维网联盟(W3C)鼓励人们使用 CSS 替代一些用于表现 的 HTML 元素。
2.7 B/S技术介绍
当向其他用户发送请求的功能时应用B/S(Browser/Server,即浏览器/服务器结构)模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了用户端,大部分开发的软件只需要用浏览器即可,用户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给用户端,此时浏览器就能显示用户端接收到的返回的请求的信息。控制逻辑层:控制逻辑层的主要任务是接收用户的请求,将相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给用户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务但还包括执行数据库查询、修改、删除操作,最后将数据库操作结果返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
B/S架构作为目前在程序开发中应用非常广泛的程序结构同时也是一种以互联网系统为基础的程序开发架构。目前B/S架构的广泛使用打破了结构模式被C/S结构垄断的局面并有淘汰C/S结构的势头,而给基于网络模式的程序系统提供优秀的支持也是应用B/S系统的优点之一。伴随着互联网的进一步发展,不局限于在一台电脑上使用,可以让其他接入互联网的电脑也能操作和使用该系统就成为求大多数的信息管理系统的要求。这样的趋势和要求使得基于B/S架构的程序设计方法得到了越来越广泛的使用并成为主流架构。利用B/S架构设计的程序不是窗体程序即不必在电脑上额外安装用户端,只需要使用操作系统中的浏览器就可以对程序进行操作和使用。这得益于B/S架构的运行方式:只需要在远程的服务器上把开发好的的软件系统部署好,在部署好程序之后访问部署好的程序系统就可以在任何接入互联网的电脑上通过浏览器访问,这给用户使用管理系统的过程中带来不可估量的便利和便捷。
图 2-1 B/S网络应用结构
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
技术可行性主要取决于系统设计和开发中使用的软硬件配置是否能满足应用要求,相关技术是否能保证系统设计完成后的正常运行。本网站在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通系统的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,使用比较成熟的Mysql数据库进行对系统用户之间的数据交互,根据技术语言对数据库管理,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。该系统目前采用比较成熟的python语言,并利用其创建的脚本与结合创建动态网页。它可以在普通文本编辑器上编辑而无需编译,它可以直接在服务器上执行。它易于学习和操作,系统开发的基础是高度兼容和灵活的,从技术可行性上来分析系统开发时完全可行的。
3.1.2 经济可行性
坦克游戏设计与实现的开发之前所做的市场调研及其他管理相关的系统,是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于系统的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于python的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
3.1.3 操作可行性
可操作性主要是对系统设计完成后,用户的使用体验度,通过界面导航菜单可以简单明了地进行查看所需的信息内容。对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.2 项目设计目标与原则
1、关于坦克游戏设计与实现的基本要求
(1)功能要求:在游戏开始之前,首先是保证用户在操作的时候系统不卡顿,可上向左、向右、向上、向下移动。
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。
2、设计原则
系统架构设计应反映用户与整个系统接口模块之间的有效交互,以确保系统中实时数据的可扩展性和安全性。只有系统设计才能实现这一目标。可以扩展功能模块以适应系统的未来发展。
在系统的所有功能模块中,必须要保证系统的数据安全性、易用性、柔软性和扩展性,下面分别对四个性能进行详细分析。
(1)数据的安全性
对于用户进行坦克游戏所牵扯到的数据信息,必须保证系统数据的安全性,因此在系统设计过程中必须要有多方面的考虑到系统的安全问题并进行解决处理。
(2)易用性
对于易用性主要是对于系统实现完成交付给用户,用户是否可以不用培训就能够进行系统管理操作,也就是常说的傻瓜操作,一定简单明了,任何人都可以上手对数据信息进行操作管理。
(3)柔软性
对于任何一个系统的实现都会涉及的服务种类繁多,所以在设计时一定确保系统可以随时更改并且可以随时处理。
(4)扩展性
互联网的不断发展,对于系统实现的所有的功能随着用户需求的不断提高,功能模块也将要不断扩展。
由于这是一个坦克游戏设计与实现,系统的设计是为了更好地节省人员成本和各种成本,因此需要考虑系统开发成本和效益。
3.3 系统流程分析
3.3.1 操作流程
对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图3-1所示。