仿FC版坦克大战JAVA版

news/2024/11/18 11:33:20/

游戏演示视频地址:https://www.bilibili.com/video/BV1134y1v7Tx?p=1

游戏主界面
游戏界面
关卡1
关卡场景
当在主界面停留10秒钟进入游戏演示模式,已方坦克AI双打
当在主界面停留10秒钟进入游戏演示模式,已方坦克AI双打
战斗统计场景
在这里插入图片描述
地图编缉场景,支持对编缉关卡保存为文件
在这里插入图片描述

类比较多,代码量比较大,源代码可以在我的githup上下载
类比较多,代码量比较大,源代码可以在我的githup上下载
操作说明:

玩家1:
w:上,s:下,a:左,d:右,j:发射子弹或确定选择

玩家2:
↑:上,↓:下,←:左,→右,del:发射子弹

其它功能键:
ESC:回到主界面
F1:战斗模式切换(也可以回到主界面)。模式1:敌方不可以拾取宝物,模式2:敌方可以拾取宝物,并对其进行增强
F12:全屏与窗口模式的相互切换
Enter:滚动界面快速归位

游戏暂停:
当窗口失去焦点时游戏将会暂停,当游戏获得焦点后将会继续游戏。

地图编缉场景
功能键说明
F3:清除当前关卡地图中所有可编缉装饰物
F4:创建一张新地图,做为新增关卡。例如:当前最大关卡为35,则创建的地图为36关
F5:删除当前地图,当删除成功后,当前关之后的关卡将后移。例如:当前被删除的关卡为24,则24关卡之后的关卡则-1
F8:保存当前所有关卡地图。保存路径为游戏jar所在目录。地图文件为一个map(没有扩展名)文件。需注意:当jar所在目录存在map文件时游戏关卡将会使用map文件中的游戏关卡,如需要使用游戏自带关卡,重命名map文件名或删除其既可

源代码下载地址:
https://github.com/qs79662k/battle_city.git
有想过在演示模式中对已方坦克加入保护基地的AI,一个是时间一个是能力问题,始终没有想到解决寻路时坦克被障碍物卡住的问题而放弃是我写这个小项目最大的遗憾如有大神指点感激不尽。
如有其它疑问、BUG、建议欢迎留言交流


http://www.ppmy.cn/news/392951.html

相关文章

JAVA之坦克大战(四)敌方坦克的移动和发射子弹

思路:敌方坦克移动和发射子弹肯定需要单独的线程,然后敌方坦克的随机移动需要获取四个随机的方向做到以上几点之后会发现做出来的敌方坦克非常的鬼畜,原因是获取随机的方向太频繁,所以我写了一个for循环控制15*50ms一次获取方向&a…

写一个vscode支持vue文件跳转到定义的插件,又可以愉快地摸鱼了

1. 背景 vscode自身是支持vue文件组件跳转到定义的,但是支持的力度是非常弱的。我们在vue-cli的配置的下,可以写很多灵活的用法,这样可以提升我们的生产效率。但是正是这些灵活的写法,导致了vscode自身提供的功能无法支持跳转到文…

python357左轮枪模内部结构图_CODOL武器与COD4678代中原型的第一人称枪模对比(手枪篇)...

先说明一下,本贴选用了CODonline里的大部分武器的第一人称枪模和正作的MW、MW2、BO、MW3这四代中的原型枪进行对比(没有原型枪的就不上图了),由于我这会儿手头没有online所以借用了call of duty wiki里的一些图。 手枪篇 CODOL:USPT.45 MW&am…

合金弹头 无敌版

给大家推荐一个不错的游戏 合金弹头 无敌版 。 下载地址 转载于:https://blog.51cto.com/haiyang457/1055133

vijos-1199,核弹危机

题目描述: shibowen和ganggang正在玩红警,可不料shibowen造出了核弹正要发射......(ganggang _) 已知核弹的攻击范围是边长n的正方形,ganggang的基地是边长m的正方形 基地样例: ...#.# .#...# ##...# ...... ..#### .#…

JS坦克大战游戏

文章目录 个人初学JS写的程序(看看就好)代码不够优雅代码具体实现功能1.画布代码画出坦克,子弹2.实现敌人坦克的自动走路,发射子弹飞行3.敌人坦克的重叠问题,边界检测4.子弹打中坦克,坦克消失并产生爆炸效果…

重回童年的经典系列☀️| 【坦克大战3D版】游戏制作+解析

💚坦克大战💚 📢前言 坦克大战小游戏,想必只要是能刷到这篇博客的,无一例外都是玩过这款经典童年游戏的。记得小时候每到放学或者周六日,都会一起聚到有影碟机的小伙伴家里,然后打开“屁股超级大”的电视机和影碟机,将游戏碟放进去、手柄插上去。这个时候哪怕一天不…

合金弹头技术文案

合金弹头技术文案 平台:利用System.getProperty("microedition.platform")来判断平台类型 I/O建立流连接的方式很奇怪,经过讨论初步猜测是遇到了什么技术问题因而写出了这么乱七八糟的代码(源引Gameloft Lyman)protec…