tankwar的java坦克子弹撞墙_tankwar

tankwar 是使用java开发的一个单机版的小游戏 (未使用任何游戏引擎).

和90经典版的坦克大战有些不同, 这里是纯坦克之间的战争, 英雄坦克并不用保护它的家.

特色:

1. 游戏共设6个关卡. (支持无限关卡)

关卡设置中包括敌人坦克数量, 移动速度, 子弹速度, 以及子弹的杀伤力, 炸弹数量, 飞弹数量, 移动随机因子, 子弹发送频率因子.

英雄坦克的设置同上, 更改org.lionsoul.tankwar.LionBarriers可以加入更多关卡, 修改现有关卡选项.

2. 游戏子弹分为三类:

(1). 普通子弹(移动速度和杀伤力小),

(2). 普通炸弹(移动速度和杀伤力一般),

(3). 超级飞弹(移动速度很快,并且杀伤力很强).

3. 关于游戏地图:

当前默认地图算法为随机文字点矩阵地图, 即,地图是依据由文字生成的.

4. 关于坦克:

分为两个大类, 英雄坦克(玩家), 敌人坦克. 敌人坦克分类:

(1). 随机坦克. (移动和子弹发射,以及发射频率全是随机, 可以控制随机因子来控制)

(2). 反抗坦克. (在你射击它之前处于随机模式, 当你射击他之后, 他会分析射击数据来追着你打, 哈哈, 这个还没有完成).

(3). 追踪坦克. (从他出生那刻, 他就一直在分析你的位置,并且向你靠近然后消灭你, 会在后续完成)

5. 关于游戏效果:

没什么特别的, 用到了比较多的图片资源, 就一个爆炸效果还可以吧.

爆炸效果分为两种, 小爆炸和打爆炸. 有爆炸声音的.

6. 关于模式:

本游戏分为两种模式: 简易模式(可以无限制的发射子弹), 标准模式(在你发射的子弹消失前, 不能发射子弹)

游戏操作: 运行下载下来的jar文件.

1. 选择关卡.

2.进入游戏:

J - 发射普通子弹,

K - 发射普通炸弹

L - 发射无敌飞弹(需要有飞弹, 可以在关卡中设置)

P - 暂停/开始

ESC - 退回关卡选择界面.

H - 弹出/隐藏帮助窗口.

来几张图片吧: (用java截的图, 效果不是很好)

e1074129161efc63d7f0323058fb4c03.png

游戏界面:

5fb6afe8c89d941138cc24e8e71b0280.png

3dfc35cef15cf3be1ecbaa2f2792f00c.png

游戏帮助:

0616aff0a6e43c6943befe5fcb199fb2.png

爆炸效果:

85f42e71128e95570362bb2b050d76c9.png

游戏帮助: (按H)

5d1eae346d888d4e2383fdda7a586314.png

游戏结果:

c0bf5a883088e3f4977530def724e95b.png

仅供学习之用.

后续会完成上面提及的两种智能坦克, 并且会加上游戏食物(捡血), 地雷功能, 专门对付追踪坦克.

13.gif

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

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

相关文章

材质加载

UMaterial* Material LoadObject<UMaterial>(NULL, TEXT("/Game/VertexColorMaterial"), NULL, LOAD_None, NULL);

java如何添加进程_如何创建一个进程,如何进程调用进程

java一般用线程就够了&#xff0c;多进程优势在于每个进程互不干扰&#xff0c;劣势在于太耗费内存&#xff0c;任何事情都不是绝对的&#xff0c;在编写Java程序时&#xff0c;有时候需要在Java程序中执行另外一个程序。1、启动程序Java提供了两种方法用来启动其它程序&#x…

输入学生成绩,并按升序排列 Ascending.java

import java.util.Arrays;import java.util.Scanner;public class Ascending{ public static void main(String[] args){ Scanner innew Scanner(System.in); int[] arrnew int[10]; for(int i0;i<arr.length;i){ System.out.println("请输入第"(i1)"个学生的…

java判断ftp创建目录是否成功_Java判断Ftp服务器目录是否存在,若不存在创建目录 ....

解决方法1&#xff1a;package com.soft4j.log4j;import java.io.IOException;import sun.net.ftp.FtpClient;public class FtpTest{static String middle_ftpServer "10.103.2.250";static String middle_user "ora9iftp";static String middle_passwor…

第三方静态库的使用

1. 工程根目录下创建文件夹“ThirdParty”&#xff0c;然后在此文件夹下创建“includes”和“libs”文件夹 2. 拷贝静态库的头文件和库文件到上面的文件夹下 3. 修改工程的build.cs文件&#xff0c;增加下面代码1&#xff09;在类中private string ThirdPartyPath { …

UITableView:改变 TableHeaderView 的高度

参考&#xff1a;http://stackoverflow.com/a/526825 有这么一种需求&#xff0c;在列表顶端显示一些别样的数据&#xff0c;而这个别样的数据则需要通过一个别样的 View 来展现&#xff0c;它便是 UITableView 的 tableHeaderView。 倘若 tableHeaderView 里的内容很固定&…

perl 远程 mysql_写的一个perl脚本,用于发送远程MySQL命令 -电脑资料

想写一些简化管理操作的脚本&#xff0c;下面是基础脚本之一&#xff0c;对于一个从来没使用过perl脚本的我来说还是有些难度的&#xff0c;直接上代码。此脚本用于发送远程MySQL命令并且接收结果&#xff0c;功能比较简单&#xff0c;后面会渐渐完善。#!/usr/bin/perl use Get…

【翻译】使用Ext JS设计响应式应用程序

原文&#xff1a;Designing Responsive Applications with Ext JS在当今这个时代&#xff0c;用户都希望Web应用程序无论在形状还是大小上&#xff0c;既能在桌面电脑&#xff0c;也能在移动设备上使用。使应用程序能适应不同的需求渐成趋势。幸运的是&#xff0c;Ext JS 5提供…

java各种的不好_译文《最常见的10种Java异常问题》

封面&#xff1a;洛小汐译者&#xff1a;潘潘知彼知己&#xff0c;方能百战不殆。前言本文总结了有关Java异常的十大常见问题。目录检查型异常(checked) vs. 非检查型异常(Unchecked)异常管理的最佳实践箴言为什么在try代码块中声明的变量不能在catch或者finally中被引用&#…

Hadoop 开源调度系统zeus(二)

紧跟之前Hadoop 开源调度系统zeus(一) 本节主要介绍一下zeus的架构&#xff1a; 先给一个zeus的架构图 无论Master还是Worker都有一套WEB UI&#xff0c;无论从哪个上面去看&#xff0c;看到的结果都是一样的&#xff0c;实际上一般仅仅看主 Master&#xff1a;调度内核&#x…

ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER

该宏非常重要&#xff0c; 其作用是&#xff1a; 创建一个渲染命令任务&#xff0c;并将该任务压入渲染队列&#xff0c;待渲染线程执行. 主要用于多线程渲染&#xff01;#define ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER(TypeName,ParamType1,ParamName1,ParamValue1,Code…

python十条建议_十条建议帮你提高Python编程效率

程序员的时间很宝贵&#xff0c;Python这门语言虽然足够简单、优雅&#xff0c;但并不是说你使用Python编程&#xff0c;效率就一定会高。要想节省时间、提高效率&#xff0c;还是需要注意很多地方的。今天就与大家分享资深Python程序员总结的10点建议&#xff0c;帮助大家大幅…

Django:快速搭建简单的Blog

一&#xff0c;创建项目 1, 为blog创建名为mysite的工程项目&#xff1a; django-admin.py startproject mysite2, 项目结构如下&#xff1a; mysite├── manage.py└── mysite├── __init__.py├── settings.py├── urls.py└── wsgi.pymanage.py ----- Django项目…

添加纹理到材质

1. 导入一个图片资源作为纹理贴图 2. 新建一个材质 3. 打开材质编辑器&#xff0c;将“TextureSample”和“TextureCoordinate”两个材质表达式放到蓝图中 4. 设置“TextureSample”的纹理属性为第1步导入的纹理贴图 5. 将“TextureCoordinate”的输出与“TextureSample”的UVs…

c# 路径空格---ProcessStartInfo参数问题

今天在整合程序的时候&#xff0c;要从一个程序转到另一个程序 当然要使用&#xff1a; ProcessStartInfo startInfo new ProcessStartInfo("\\Program Files\\IE\\IE.exe", s); Process.Start(startInfo); 不过对于wm来说 不支持Process.St…

发票 ocr java_OCR识别技术—增值税发票识别

增值税发票识别产品背景在经济活动中产生大量的增值税发票需要进行扫描、数据录入、人工校对等工作。传统的人工录入方式&#xff0c;用户需要投入大量的人力成本和时间成本&#xff0c;不仅抬高了运营成本&#xff0c;而且录入速度难以提升&#xff0c;错误率难以降低&#xf…

java se好用吗_利用 Java SE 7 更好地管理资源

2011 年 5 月发布作者&#xff1a;Julien Ponge本文介绍 Java 7 针对自动资源管理问题给出的解决办法&#xff0c;即 Coin 项目中提出的新语言结构 try-with-resources 语句。&#xff1a;示例源文件 (zip) 简介典型的 Java 应用程序可以处理多种类型的资源&#xff0c;如文件、…

法线贴图Nomal mapping 原理

法线贴图多用在CG动画的渲染以及游戏画面的制作上&#xff0c;将具有高细节的模型通过映射烘焙出法线贴图&#xff0c;贴在低端模型的法线贴图通道上&#xff0c;使之拥有法线贴图的渲染效果&#xff0c;却可以大大降低渲染时需要的面数和计算内容&#xff0c;从而达到优化动画…

Html.Action、html.ActionLink与Url.Action的区别

1.html.ActionLink返回的指向指定controller、指定action的超链接标签<a>标签.如果没有指定controller&#xff0c;则默认为本页面对应的Controller. 如Html.ActionLink(“链接文本”、“someaction”、“somecontroller”,new { id " 123 " },null)生成:<…