手写【坦克大战】(从自闭到更自闭!)

2023-10-18 13:20
文章标签 手写 大战 坦克 自闭

本文主要是介绍手写【坦克大战】(从自闭到更自闭!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于本人最近的长期自闭,因此找了一个坦克大战的j2se的小东西,准备开始做出来(虽然这个坦克长得有点不伦不类,但是,麻雀虽小五脏俱全)。此次做的是一个单机版(联网版下次再说),emmm,先给演示一下运行时的亚子吧。

嘿嘿,红的这个字是我设计的墙,红色的小方块是血包。吃完就是大哥。丑不丑的先不说了 ,先哒哒哒哒哒再说....(真好玩!!!....)

分析一下做坦克大战时需要的一些知识和注意的点:

1.需要使用java画图基础,(这个版本没有用到任何图片资源文件)。需要画出区域,坦克,还有墙。

2.关于解决画面刷新频率过高,而导致的闪烁现象,可以采用双重缓冲技术,可以有效解决!

3.关于坦克的8个方向移动问题,需要枚举出8个方向,并添加监听器。

4.关于坦克子弹的射击问题,怎么样让坦克打出子弹来(其实就是画出一个圆圈)。

5.关于坦克被子弹打掉的问题以及不能打己方坦克问题,(需要涉及到碰撞监测,Rectangle 的 getRect intersects()方法),并需要给坦克和子弹加上标识(相对而言,谁是好的,谁是坏的)

6.关于坦克爆炸的处理,当坦克被子弹打中,应该产生爆炸(利用画图,在被打中的坦克周围画出爆炸的效果)。

7.关于坦克和子弹的消亡,在坦克被打中之后,坦克和子弹应该消失(不然就是穿甲弹和隐形战机!!!),因此需要给坦克一个life属性。

8.关于坦克与子弹出界问题,(世界这么大,坦克可不能乱跑),我们需要检测坦克的位置,不能超过我们设计的地图!

9.关于墙的设计,血块(吃完就加满血)的设计。子弹不能穿墙,坦克不能穿墙(为了增加“可玩性”,此版本我方可以穿墙,敌方不能穿墙!),因此这里也需要涉及到碰撞检测问题,和第五条一样!

10.关于血条的显示,这个就比较简单,只要在坦克上方画出血条即可,假设满血量为100,那么血条的长度可以设计为:满血长度 * (当前血量/100)。

11.原地复活,f12,增加敌方坦克,f11,方向键控制坦克移动,ctrl键发射子弹。

12.神秘技能(你猜啊),不用你充一分钱,就可以使用大招,灭霸的待遇!!!(请自行摸索!)

(写完忽然发现还有东西没写到)补充:关于炮筒及其方向:利用数学知识(画个圆做加减法),从坦克的圆中心画一条线即可!(方向与当前坦克保持一致!)

好了就到这里了,jar包也会发出来,jdk版本为8!直接运行即可!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

https://download.csdn.net/download/weixin_43249548/11913712

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

 

这篇关于手写【坦克大战】(从自闭到更自闭!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232825

相关文章

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort algorithm。 题主你提到的先quicksort到一定深度之后就转为heapsort,这种是introsort。 每种STL实现使用的算法各有不同,GNU Standard C++ Lib

JS手写实现深拷贝

手写深拷贝 一、通过JSON.stringify二、函数库lodash三、递归实现深拷贝基础递归升级版递归---解决环引用爆栈问题最终版递归---解决其余类型拷贝结果 一、通过JSON.stringify JSON.parse(JSON.stringify(obj))是比较常用的深拷贝方法之一 原理:利用JSON.stringify 将JavaScript对象序列化成为JSO

T1打卡——mnist手写数字识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.定义GPU import tensorflow as tfgpus=tf.config.list_physical_devices("GPU")if gpus:gpu0=gpus[0]tf.config.experimental.set_memort_groth(gpu0,True) #设置GPU现存用量按需

军事目标无人机视角检测数据集 3500张 坦克 带标注voc

数据集概述 该数据集包含3500张无人机拍摄的图像,主要用于坦克目标的检测。数据集已经按照VOC(Visual Object Classes)标准进行了标注,适用于训练深度学习模型,特别是物体检测模型。 数据集特点 目标明确:专注于坦克这一特定军事目标的检测。多样视角:图像采集自无人机的不同飞行高度和角度,涵盖了各种环境下的坦克图像。高质量标注:每个坦克实例都被精确标注,包括位置信息和类别

【DL--22】实现神经网络算法NeuralNetwork以及手写数字识别

1.NeuralNetwork.py #coding:utf-8import numpy as np#定义双曲函数和他们的导数def tanh(x):return np.tanh(x)def tanh_deriv(x):return 1.0 - np.tanh(x)**2def logistic(x):return 1/(1 + np.exp(-x))def logistic_derivati

【tensorflow CNN】构建cnn网络,识别mnist手写数字识别

#coding:utf8"""构建cnn网络,识别mnistinput conv1 padding max_pool([2,2],strides=[2,2]) conv2 x[-1,28,28,1] 卷积 [5,5,1,32] -> [-1,24,24,32]->[-1,28,

【tensorflow 全连接神经网络】 minist 手写数字识别

主要内容: 使用tensorflow构建一个三层全连接传统神经网络,作为字符识别的多分类器。通过字符图片预测对应的数字,对mnist数据集进行预测。 # coding: utf-8from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfimport matplotlib.pyplot

微信小程序手写签名

微信小程序手写签名组件 该组件基于signature_pad封装,signature_pad本身是web端的插件,此处将插件代码修改为小程序端可用。 signature_pad.js /*!* Signature Pad v5.0.3 | https://github.com/szimek/signature_pad* (c) 2024 Szymon Nowak | Released

手写全排列(递归 | 非递归)

博客搬家:最爱午后红茶 以下内容转自:点击打开链接 用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,  如 abc 的全排列: abc, acb, bca, dac, cab, cba 一.全排列的递归实现 为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这