基于java的坦克大战游戏的设计与实现--毕业论文--【毕业论文】

news2024/9/24 23:27:54

文章目录

  • 本系列校训
  • 毕设的技术铺垫
  • 文章主体层次
    • 摘要:
      • 示例
      • 摘要的写法
    • 引言:
    • 系统分析
    • 总体设计
      • 总体功能
      • 总体功能如图1所示
      • 坦克大战总体流程图
    • 详细设计
    • 游戏测试
    • 结论
    • 参考文献
    • 参考文献
  • 配套资源

本系列校训

互相伤害互相卷,玩命学习要你管,天生我才必有用,我命由我不由天!
毕业论文不怕难,毕业设计来铺垫!打磨技术精心写,拿证之后尽开颜!

毕设的技术铺垫

语言选择收录专辑链接卷的程度
C张雪峰推荐选择了计算机专业之后-在大学期间卷起来-【大学生活篇】★★★✫✰
JAVA黑马B站视频JAVA部分的知识范围、学习步骤详解★★★★★
JAVAWEB黑马B站视频JAVAWEB部分的知识范围、学习步骤详解★★★★★
SpringBootSpringBoot知识范围-学习步骤【JSB系列之000】★★★★★
微信小程序详细解析黑马微信小程序视频–【思维导图知识范围】★★★✰✰
python详细解析python视频选择–【思维导图知识范围】★★✫✰✰
phpPHP要怎么学–【思维导图知识范围】★★★✫✰

文章主体层次

摘要:

示例

选题的输入元素:
1 时代需求
(最好要找2年内的政治性期刊来引文,如果引入书籍的话那就太旧了)
2 你的毕设受众的需求
有道云:出现问题才会有解决问题的人,才会出现解决问题的方案。

摘要:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少。游戏产业推动高新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。坦克大战游戏是童年时期经常玩的经典游戏,我们对它都十分了解。游戏通过分析JAVA游戏开发和代码设计,用Eclipse软件开发了坦克大战游戏,运用接口技术,使一个类能够实现多个接口,使用套接字Socket来完成client端和server端的连接。玩家通过连接访问进入游戏,通过操纵坦克来守卫基地,玩家还可以获得超级武器来提升坦克的属性,摧毁全部敌方坦克来取得胜利,操作非常简单,还具有非常高的普遍率,适合所有人群玩。该游戏既满足了人们的个性化需求,也让玩家在游戏过程中丢掉烦恼,尽情地释放压力。

关键词:Java 坦克大战游戏 Socket

摘要的写法

★摘要:
又称概要、内容提要,是以提供文献内容梗概为目的,不加评论和补充解释,简明、确切地记述文献重要内容的短文。
◆位置:
题名和作者之后,论文正文之前。

摘要的构成要素
1、目的:研究的对象,范围,目的。
2、方法:采用了哪些手段、研究方法。
3、结果:陈述论文研究成果、新见解等。
4、结论:通过对问题的研究所得出的重要结论、主要观点、理论意义或实用价值等。

摘要中存在的主要问题有:
a.无独立性与自明性;
b.要素不全,或缺目的,或缺方法;
c.繁简失当,多数过于简单化;
d.重复题名已有的信息:
e.把引言中出现的内容写入摘要;
f.习惯使用“本文介绍了…作为摘要开头。

(个人体会)

构成要素中的“方法”部分,在理工类论文摘要中应是不可缺少的部分。在法学类论文摘要中,我个人觉得不一-定是每一-篇文章的必备项:如果有就应当指出,如“以科斯定理为分析视角”或“根据双边市场理论”等;如没有,则不可生搬硬套。其他的构成要素应当具备。
● 下面的举例,我个人认为比较规范。
例1、政府引导社会管理:复杂性条件下的社会治理摘要20世纪后 期以来,复杂性成为社会生态的基本特征,
由此产生的社会的开放性和社会治理格局的多元化对传统的控制导向的政府社会管理模式提出了严峻挑战。[对象]为了走出控制失灵的困境,政府必须扬弃社会管理的简单思维,确立一一种复杂性思维,[ 方法]来指导政府社会管理职能由控制到引导的转变。[目的]区别于传统的控制导向型职能,引导型职能在应对社会复杂性方面具有行动主动性、战略规划性、智慧监管性和灵活适应性等属性。[结果]对于当前的社会治理实践,中国政府在履行引导,职能的过程中应当抓住核心环节,把重心放在抓好规划和“培育等方面。[结论]

  • 摘要由目的、方法、结果和结论四部分组成。
    目的部分应简要说明研究的目的,说明提出问题的缘由,表明研究的范围及重要性;方法部分应说明研究课题的基本设计,使用了什么材料和方法,如何分组对照,研究范围以及精确程度,数据是如何取得的以及经过何种统计学方法处理;结果部分要列出研究的主要结果和数据,有什么新发现,说明其价值及局限,叙述要具体、准确,并需给出结果的可信值和统计学显著性检验的确切值;结论部分应简要说明、论证取得的正确观点极其理论价值或应用价值, 是否值得推荐或推广等。说白了,摘要就是你文章的骨架。
  • 告诉你-一个懒人的办法
    第- -句写目的,也就是你这篇文章要解决的问题和提出这个问题的原因,然后是“本文通过… .的方法,阐述…论证了…得出…记得
    摘要最好200字左右为宜,不宜过长。

引言:

随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可以玩,在玩游戏的过程中能够体验现实生活中没有的快乐,既有利于身心健康,又不会影响工作和学习。本游戏采用的是基于J2SE标准平台的java编程技术,在Windows
7操作系统中使用Eclipse软件进行代码编译,通过方法Graphics()来进行游戏地图界面的绘制,使用了接口技术使一个类能够实现多个接口,使用套接字Socket来完成client端和server端的连接。
Java是一项面向对象编程语言,既包含了C语言的全部优点,又具有面向对象,跨平台性,安全性等特点,是现在程序设计中较为常用的编程语言。Java具备了“一次编译,处处运行”的特点,很好的体现了其跨平台性和面向对象的特点,允许程序员用感性的思路来进行繁杂的编程。
Eclipse是一个基于java的开放源代码的可扩展开发平台,是知名的跨平台的自由集成开发环境(IDE)Eclipse是一个基于,还捎带了一个标准规范的插件集,包含了Java开发工具(JDK),Eclipse因为安装不同的插件,所以它支持不同的计算机语言,主要用来Java语言开发。
Graphics类是软件包java.awt(其全部类都用来用户界面的创建和图形图像的绘制)下的类,它同意一个应用程序绘制到组件,以及在屏幕图像上进行绘制。Graphics
对象封装了 Java 支持的基本呈现操作所需的状态信息。Graphics()方法构造了一个新的 Graphics 对象, 由于
Graphics类是抽象类,因此Graphics()方法不可以被直接调用,此构造方法是图形上下文的默认构造方法,通过在组件上调用
getGraphics() 来创建图形上下文,或者从其他图形上下文获取。

系统分析

  • 需求和技术分析:
  • 功能分析

总体设计

总体功能

表1 游戏服务器端各类功能表 ServerModel 创建主机 ServerView 设置服务器端图形界面的面板信息
ServerControler 处理来自服务器视图框架的输入 enemy 创建敌方坦克 player 设置玩家的得分及其显示位置等信息
drawingPanel 创建和设置服务器端界面窗口 powerUp 加快子弹速度并提升火力 feedbackHandler 判断指令并执行
Actor 创建接口 base 创建并设置基地 Ticker 创建并设置时间信息 bullet 创建子弹并设置属性 bomb 设置爆炸效果
river 创建河道并设置属性 grass 创建草坪并设置属性 Steelwall 创建铁墙并设置属性 wall 创建普通墙并设置属性
level 创建关卡

表2 游戏客户端各类功能表 ClientModel 设置与服务器的连接 ClientView 设置客户端端图形界面的面板信息
ClientControler 负责处理来自客户端视图框架的输入 drawingPanel 设置客户端窗口界面
instructionHandler 判断指令并执行 shield 设置玩家坦克防护盾 normalObject 创建并描绘其他的物体对象
level 创建关卡 base 创建并设置基地 Ticker 创建并设置时间信息 bullet 创建子弹并设置属性 bomb 设置爆炸效果
river 创建河道并设置属性 wall 创建普通墙并设置属性 1、需要有图形用户界面,让用户能看到游戏给出的反馈。
2、不同队伍的坦克,须显示不同的外观,以区分敌我。 3、坦克能够开火,攻击敌方,但不能攻击队友。
4、需要有不可被子弹穿透的墙体,以及墙体有可被摧毁和不可被摧毁两种。 5、敌方坦克有生命值,并非被击中一次就会爆炸。
6、游戏结束时会有胜利或失败场景 7、游戏结束后可重新开始。

总体功能如图1所示

在这里插入图片描述

坦克大战总体流程图

在这里插入图片描述

详细设计

放关键代码

  • 基地的设计
  • 敌方坦克的设计
  • 河道、草坪的设计
  • 墙与铁墙的设计
  • 界面窗口的创建
  • 子弹功能设计
  • 坦克功能设计
  • 服务器设计
  • 其他各设计

游戏测试

结论

该游戏是基于Java语言,使用Eclipse软件开发的一款坦克大战游戏, 该游戏包括对面板功能、坦克功能、子弹功能的设计,在面板功能中对双方坦克、基地、河道、草坪、普通墙与铁墙等地图元素进行创建并设置其属性,还实现了页面按钮功能,玩家可以点击按钮来实现相应的功能。在坦克功能中,设计了操作玩家坦克的方法,还设置了超级武器,玩家吃掉后会获得特殊技能。在子弹功能中,设置了子弹打中不同物体对象产生的不同效果。另外,还实现了服务器与客户端的连接,加载关卡等功能,玩家再游戏面板中可以实时查看自己坦克的生命数量和分数以及敌方坦克的数量,基本上完成了设计任务。总体来说,本游戏有一定的逻辑性和复杂性,对玩家有一定的吸引力。
在设计与实现游戏的过程中,遇到一些逻辑问题和技术故障都是在所难免的,例如如何加载地图关卡和物体对象等、监探坦克与地图元素是否碰撞等,都是需要完全克服的。该游戏还需要进一步的优化,需要在更大的程度上提升敌方坦克的智能化、在地图中添加物体对象来增强可玩性等等。

参考文献

主要设备:电脑。
软件:eclipse软件。
方法措施:
利用学到的java基础应用程序知识实现需求分析上的功能模块,并在设计与实现时分析遇到的问题并解决,对实现的模块进行测试,查找不足,尽量做到满足用户要求,最后按照论文要求编写文档。

参考文献

一般来说,前3篇是近2年的。写论文的时间占半年左右。要留出这个时间差,然后,后面的就是技术相关,10篇以上,英文文献 5篇以上。
小技巧
数量最好是要超过一页,能过页最好。为什么呢,因为论文是一种比较正式的文体,一般来说大的节(WORD里用分节符)分出来的,都会居于论文的奇数页,也是书籍的右手边的页。
例:

[1] 易向东,陈蓓,万英.Java游戏编程解析[M],程序员杂志[M].北京:电子工业出版社.2009.
[2] 张广彬,王小宁,高静.Java课程设计案例精编[M].北京:清华大学出版社,2011.
[3] 袁然,郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社.2005.
[4] 陈炜,张晓蕾,侯燕萍 ,何凌云.Java软件开发技术[M].北京:人民邮电出版社.2005.
[5] 陈为, 周骥 ,杨柯. 面向对象的游戏开发[M].北京:DEARBOOK出版社,2008.[6] 谭浩强,程龙,杨海兰等. Java编程技术[M].北京:人民邮电出版社. 2003.
[7]雍俊海.Java程序设计教程[M].北京:清华大学出版社,2014.
[8] 爱克尔(著),王美(译).Java编程思想[M]. 北京:机械工业出版社,2001.
[9] 邱仲潘. Java游戏编程[M].北京:机械工业出版社,2006.
[10] 陈悦,夏敏捷,葛丽萍. Java游戏编程原理与实践教程[M].北京:人民邮电出版社.2013.
[11] 邓良松,刘海岩,陆丽娜.软件工程[M].第二版.西安:西安电子科技大学出版社,2004.
[12]赵强,乔新亮. J2EE应用开发[M]. 电子工业出版社,2003.
[13]夏庆亮. Java应用开发指南[J]. 清华大学出版社,2010.
[14]耿祥义,张跃平. Java面向对象程序设计[J]. 清华大学出版社,2010.
[15]杨绍方. Java编程实用技术与案例[J]. 清华大学出版社,2000.
[16]明日科技. Java编程全能词典[J]. 电子工业出版社,2010.
[17]埃克尔(著),陈昊鹏,饶若楠等译. Java编程思想[J]. 机械工业出版社,2005.
[18]Gary J.Bronson(著),张珑 刘雅文译. Java编程原理[J]. 清华大学出版社,2004 .
[19]Michael Morrison(著),徐刚,于健,薛雷译. 游戏编程入门[J]. 人民邮电出版社,2005.9.
[20]Wendy Stahler(著),冯宝坤,曹英译. 游戏编程中的数理应用[J]. 红旗出版社,2005.
[21]克罗夫特(著),彭晖译. Java游戏高级编程[J]. 清华大学出版社,2005.

配套资源

基于java的坦克大战游戏的设计与实现-毕业论文

https://download.csdn.net/download/dearmite/88110606

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

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

相关文章

DoIP学习笔记系列:(二)VN5620 DoIP测试配置实践笔记

文章目录 1. 添加.cdd2. CAPL中调用接口发送DoIP请求3. “Ethernet Packet Builder”的妙用4. CANoe也可以做交互界面在进行测试前,先检查车载以太网硬件连线是否正确,需要注意连接两端的Master、Slave,100M、1000M等基本情况,在配置VN5620的时候就可以灵活处理了。成功安装…

FTP服务器的搭建和配置上传脚本

文章目录 前言一、配置本地用户可上传权限ftp服务器1、用户登录ftp 二、配置FTP上传脚本文件1.脚本代码如下 补充知识 前言 vsftpd(Very Secure FTP Daemon)是一个在 Linux/Unix 系统上运行的一款开源免费的 FTP 服务器软件。vsftpd 支持支持 匿名用户、…

代码随想录算法训练营day11 | 20. 有效的括号,1047. 删除字符串中的所有相邻重复项

目录 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 20. 有效的括号 难度:easy 类型:栈与队列 思路: 利用栈来做括号匹配; 代码: class Solution {public boolean isValid(String…

【深度学习】从现代C++中的开始:卷积

一、说明 在上一个故事中,我们介绍了机器学习的一些最相关的编码方面,例如 functional 规划、矢量化和线性代数规划。 本文,让我们通过使用 2D 卷积实现实际编码深度学习模型来开始我们的道路。让我们开始吧。 二、关于本系列 我们将学习如何…

LayUi 树形组件tree 实现懒加载模式,展开父节点时异步加载子节点数据

如题。 效果图&#xff1a; //lazy属性为true&#xff0c;点开时才加载 引用代码&#xff1a; <link href"~/Content/layui-new/css/layui.css" rel"stylesheet" /><form id"form" class"layui-form" style"margin-to…

Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突

文章目录 解决spark模块依赖冲突2.2.6 执行编译命令2.2.7 编译成功 下一章 核心概念后记 解决spark模块依赖冲突 修改了Hive版本为3.1.2&#xff0c;其携带的jetty是0.9.3&#xff0c;hudi本身用的0.9.4&#xff0c;存在依赖冲突。 1&#xff09;修改hudi-spark-bundle的pom文…

QVariant

QVariant 标准类型构造函数将支持的类型的数据设置到QVariant对象中将QVariant对象转换为实际的数据类型 自定义类型 标准类型 构造函数 // 这类转换需要使用QVariant类的构造函数, 由于比较多, 大家可自行查阅Qt帮助文档, 在这里简单写几个 QVariant::QVariant(int val); QV…

文件命名简化!一键将电脑文件名从简体中文转换为西班牙语

您是否曾经被电脑上的简体中文文件名搞得头疼不已&#xff1f;通过一键将文件名从简体中文转换为西班牙语&#xff0c;让您的文件管理更加便捷和高效&#xff01;现在&#xff0c;我们向您推荐一款革命性的软件&#xff0c;为您带来无与伦比的文件命名体验。 首先第一步&#…

Ansible 自动化运维工具

Ansible简介 Ansible是一个基于Python开发的配置管理和应用部署工具&#xff0c;现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点&#xff0c;Pubbet和Saltstack能实现的功能&#xff0c;Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。…

在亚马逊平台,如何有效举报违规行为?

众所周知&#xff0c;在每个行业都有一些违规现象&#xff0c;甚至这些违规现象还会给自己带来利益方面的损失&#xff0c;一旦触犯到自己的利益的话&#xff0c;那自己是需要想办法解决的&#xff0c;想办法规避。 就拿开亚马逊店铺来说&#xff0c;比较容易遇到的就是产品侵…

Windows用户如何安装新版本cpolar内网穿透

在科学技术高度发达的今天&#xff0c;我们身边充斥着各种电子产品&#xff0c;这些电子产品不仅为我们的工作带来极大的便利&#xff0c;也让生活变得丰富多彩。我们可以使用便携的电子设备&#xff0c;记录下生活中精彩和有趣的瞬间&#xff0c;并通过互联网方便的与大家分享…

Clion开发Stm32之温湿度传感器(DS18B20)驱动编写和测试

前言 涵盖之前文章: Clion开发STM32之HAL库GPIO宏定义封装(最新版)Clion开发stm32之微妙延迟(采用nop指令实现)Clion开发STM32之日志模块(参考RT-Thread) DSP18B20驱动文件 头文件 /*******************************************************************************Copy…

Kafka入门到起飞系列 - 副本机制,什么是副本因子呢?

我们一直在讲一个主题会有多个分区&#xff0c;这多个分区可以分布在一台服务器上&#xff0c;也可以分布在多台服务器上&#xff0c;还可以增加分区&#xff08;Kafka目前只支持分区&#xff09;&#xff0c;这是Kafka提供的一种横向扩展的手段 比如我们创建了一个主题&#x…

Scala项目找不到或无法加载主类

目录 1&#xff0c;出错背景2&#xff0c;分析与解决 1&#xff0c;出错背景 Scala项目无法创建scale和Java文件。项目没有报错&#xff0c;但执行时项目总是找不到项目下的类&#xff0c;报错信息如下所示&#xff1a; 错误: 找不到或无法加载主类 com.my.memTestCheck但该类…

第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面

文章目录 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面使用 HL7 架构结构页面查看文档类型列表查看消息结构查看段结构 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 使用 HL7 架构结构页面 通过 HL7 架构页面&#xff0c;可以导入和查看 HL7 版本 2 架构规范。…

[PAT甲级] 1001 A+B Format [Python3]

题目描述&#xff1a; Calculate ab and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits). Input Specification: Each input file contains one test case. Each c…

【Hive实战】Hive的压缩池与锁

文章目录 Hive的压缩池池的分配策略自动分配手动分配隐式分配 池的等待超时Labeled worker pools 标记的工作线程&#xff08;自定义线程池&#xff09;Default pool 默认池Worker allocation 工作线程的分配 锁Turn Off ConcurrencyDebuggingConfigurationhive.support.concur…

超详细的74HC595应用指南(以stm32控制点阵屏为例子)

74HC595是一款常用的串行输入/并行输出&#xff08;Serial-in/Parallel-out&#xff09;移位寄存器芯片&#xff0c;在数字电子领域有着广泛的应用。它具有简单的接口和高效的扩展能力&#xff0c;成为了许多电子爱好者和工程师们的首选之一。本文将深入介绍74HC595芯片的功能、…

019 - STM32学习笔记 - Fatfs文件系统(一) - FatFs文件系统初识

019 - STM32学习笔记 - Fatfs文件系统&#xff08;一&#xff09; - FatFs文件系统初识 最近工作比较忙&#xff0c;没时间摸鱼学习&#xff0c;抽空学点就整理一点笔记。 1、文件系统 在之前学习Flash的时候&#xff0c;可以调用SPI_FLASH_BufferWrite函数&#xff0c;将数…

【Terraform学习】Terraform-AWS部署快速入门(快速入门)

Terraform-AWS部署快速入门 实验步骤 连接到 Terraform 环境 SSH 连接到Terraform 环境(名为MyEC2Instance的实例) 在 Amazon Web Services &#xff08;AWS&#xff09; 上预置 EC2 实例 用于描述 Terraform 中基础结构的文件集称为 Terraform 配置。您将编写一个配置来定义…