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

文章目录

  • 本系列校训
  • 毕设的技术铺垫
  • 文章主体层次
    • 摘要:
      • 示例
      • 摘要的写法
    • 引言:
    • 系统分析
    • 总体设计
      • 总体功能
      • 总体功能如图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.mzph.cn/news/9853.shtml

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

相关文章

Linux磁盘管理命令

目录 1. du (disk usage文件和目录占用的磁盘空间) 2. df (disk free 查看磁盘使用情况) 3. lsblk(list block查看块设备挂载情况) 1. du (disk usage文件和目录占用的磁盘空间) du [-ahskm] 目录/文件(文件大小可以直接使用ll查看) 选项与参数&a…

(八九)如何与InfluxDB交互InfluxDB HTTP API

以下内容来自 尚硅谷,写这一系列的文章,主要是为了方便后续自己的查看,不用带着个PDF找来找去的,太麻烦! 第 8 章 前言:如何与InfluxDB交互 1、InfluxDB启动后,会向外提供一套HTTP API。外部程…

正则表达式-速成教程

正则表达式-速成教程 今天遇到一枚程序媛在群里吐槽,并附了截图;然后无意中看到她的一个正则与她的注释描述不一致,就提醒了一下。顺带着给了个速成教程,在这里把这个速成教程贴出来,一是为了自己备份;二是…

QT【day1】

登录框: #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setFixedSize(600,600); //大小this->setWindowTitle("MUMU"); //文本内容this->setWindowOpacity(0.8); //透…

力扣 -- 978. 最长湍流子数组

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int maxTurbulenceSize(vector<int>& nums) {int nnums.size();vector<int> f(n);…

k8s中强制删除pv

K8s 集群内有一个已经不再使用的 PV&#xff0c;虽然已经删除了与其关联的 Pod 及 PVC&#xff0c;并对其执行了删除命令&#xff0c;但仍无法正常删除&#xff0c;一直处于 Terminating 状态&#xff1a; 解决办法&#xff1a; 1. 获取pv信息 kubectl get pv 2. 解除pv锁定 …

对话商汤王晓刚:“百模大战”下半场,如何才能突出重围?

点击关注 文 | 姚悦 今年最早发布的那批大模型&#xff0c;现在怎么样了&#xff1f; 近期&#xff0c;商汤科技宣布“商汤日日新SenseNova”大模型体系完成了第一次重大迭代。这距离其发布过去3个月时间。 “每天不断接到用户调用&#xff0c;收到建议反馈后&#xff0c;每隔…

阿里Java开发手册~日志规约

1. 【强制】应用中不可直接使用日志系统 &#xff08; Log 4 j 、 Logback &#xff09; 中的 API &#xff0c;而应依赖使用日志框架 SLF 4 J 中的 API &#xff0c;使用门面模式的日志框架&#xff0c;有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

Python - OpenCV机器视觉库的简单使用经验

OpenCV是一个开源的计算机视觉库&#xff0c;它支持多种编程语言&#xff0c;包括Python。下面是Python 3中OpenCV的详细解析&#xff1a; 安装OpenCV 在Python 3中安装OpenCV&#xff0c;可以使用pip命令来安装。例如&#xff0c;在终端中输入以下命令&#xff1a; pip ins…

面试题-TS(六):TypeScript 中的泛型是什么?

面试题-TS(6)&#xff1a;TypeScript 中的泛型是什么&#xff1f; 在TypeScript中&#xff0c;泛型&#xff08;Generics&#xff09;是一种强大的特性&#xff0c;它允许我们在编写可重用的代码时增加灵活性。泛型使得我们可以编写不特定数据类型的代码&#xff0c;从而提高代…

k8s1.27.4最新版本使用kubeadm+containerd方式安装

k8s1.27.4 最新版本使用kubeadm+containerd方式安装 1、环境准备 [全部节点配置]1.1系统环境1.2主机配置1.2.1 主机名配置1.2.2 主机IP地址配置1.2.3 主机名与IP地址解析1.2.4 防火墙配置1.2.5 SELINUX配置1.2.6 时间同步配置1.2.7 禁用swap交换分区(kubernetes强制要求禁用)…

使用java.lang.Comparable实现比较器和使用java.util.Collections排序

记录&#xff1a;469 场景&#xff1a;使用java.lang.Comparable实现比较器&#xff0c;使用java.util.Collections排序&#xff0c;实现找出最大值。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3,fastjson-2.0.33。 1.一个JSON字符串&#xff0c;找出最大值 1.1JSON字符串…

Set 和 Map 数据结构

数据结构Set ES6提供了新的数据结构Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成Set数据结构。 // 数组去重 const set new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4]目前个人感觉Se…

.NET 5 Web API 中JWT详细教程:保护你的Web应用

第一部分&#xff1a; 理解JWT JSON Web Token&#xff08;JWT&#xff09;是一种在不同系统之间传递信息的安全方式。它由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷&#xff08;Payload&#xff09;和签名&#xff08;Signature&#xff09;。头部包…

SpringBoot 整合Docker Compose

Docker Compose是一种流行的技术&#xff0c;可以用来定义和管理你的应用程序所需的多个服务容器。通常在你的应用程序旁边创建一个 compose.yml 文件&#xff0c;它定义和配置服务容器。 使用 Docker Compose 的典型工作流程是运行 docker compose up&#xff0c;用它连接启动…

全面防护!Fortinet发布混合式部署防火墙HMF

在企业IT复杂性日益增长、网络安全威胁日趋紧迫、网络安全设施可维护性逐渐降低的背景下&#xff0c;企业迫切寻求可无缝跨越所有IT区域&#xff0c;有效简化企业防护架构的统一解决方案。近日&#xff0c; Fortinet Accelerate 2023中国区15城巡展圆满落幕&#xff0c;在收官之…

【深度学习之YOLO8】视频流推断

官方V8模型下载 需要准备两个东西 simsun.ttc字体包YOLOv8官方模型成品 ScreenCapture屏幕图像类 import cv2 import mss import numpy as npclass ScreenCapture:"""parameters----------screen_resolution : Tuple[int, int]屏幕宽高&#xff0c;分别为x&a…

【文献分享】比目前最先进的模型轻30%!高效多机器人SLAM蒸馏描述符!

论文题目&#xff1a;Descriptor Distillation for Efficient Multi-Robot SLAM 中文题目&#xff1a;高效多机器人SLAM蒸馏描述符 作者&#xff1a;Xiyue Guo, Junjie Hu, Hujun Bao and Guofeng Zhang 作者机构&#xff1a;浙江大学CAD&CG国家重点实验室 香港中文大学…

Vue系列第四篇:Vue2 + Element开发登录页面

Vue开发中Element是一个比较受欢迎的界面库&#xff0c;实际开发中Vue2搭配Element UI开发&#xff0c;Vue3搭配Element plus开发&#xff0c;今天就用Vue2 Element来开发登录页面。 目录 1.Element UI介绍 1.1官网 1.2element-ui安装 2.开发环境准备 2.1core-js安装 2…