分享一下Java写的坦克大战游戏,相信很多人小时候玩过

写在前面

程序是五六年前读书的时候写的,里面会有一些不规范的,我已经将代码传到github上了,有时间会优化修改。

程序运行机制

定义了一个JPanel,然后每隔一小段时间重绘一遍。

重绘的内容如下:

  • 地图信息;
  • 敌方坦克;
  • 我方坦克;
  • 右边游戏基本信息;
  • 炸弹爆炸。

涉及一些逻辑:

  • 重叠判断;
  • 坦克什么时候改变方向;
  • 坦克什么时候射击;
  • 坦克中弹之后的处理;
  • 砖块、铁块、河流中弹,碰撞逻辑;
  • 。。。等等

如何执行程序

下载源码:

  1. 执行maven命令clean package,可在target目录下生成jar包,直接执行jar包即可;
  2. 或者直接用eclipse导入源码,找到StartGame类,右键run as Java Application..如发现“找不到或无法加载主类”,请清理下工程。

程序运行效果图

程序源码

https://github.com/peterchenhdu/tankbattle

时间: 2024-08-13 20:15:16

分享一下Java写的坦克大战游戏,相信很多人小时候玩过的相关文章

JAVA写的坦克大战(单机图片版)

第一次写那么大的程序(感觉还是不错) package _25增加配置文件; import java.awt.*; import java.awt.event.*; import java.util.List; import java.util.ArrayList; /** * 这是这款游戏的主窗口,各个类都有他的引用 * @author ☆东★ * */ public class TankClient extends Frame{ private Image offScreamImage = n

java学习之坦克大战游戏

总结:由于这几天快过年比较忙然后没怎么写,写代码途中一些经验总结现在给忘记了.这次的小项目感觉比上次写的思路清楚了点.没有之前第一次写那么逻辑混乱,结构也搞的比之前的要好,添加功能比较容易.学习了之前的经验,操作对象的方法由对象本身提供.不过这次小项目还有不足和不完善之处,有些可以做的功能没有实现,比如游戏存档,这里应该可以用下对象的序列化,还有游戏难度的设置也可以写个文件弄出来.要过年了,到处走亲戚没什么心思写了,这里只能留个尾巴了. 前言:之前的及时通信项目完成后感觉线程方面和对java的运

Java坦克大战游戏源代码

转载自: http://blog.csdn.net/java_cxrs/article/details/3860870 经过几天的练习和研究终于自己能写出坦克大战游戏了,写完这个程序后感觉收获了很多东西,对JAVA的知识又有了一定的增长,接下来还准备继续写几个小项目来练习J2SE 由于代码太长就不发在博客里了,我上传到了资源下载里,有需要的朋友大家可以去下载 下载地址:http://download.csdn.net/source/988654

【Java_项目篇<1>】--JAVA实现坦克大战游戏--赋予敌人行动和攻击(五)

前期相关文章 [Java_项目篇<1>]–JAVA实现坦克大战游戏–画出坦克(一) [Java_项目篇<1>]–JAVA实现坦克大战游戏–坦克移动+添加敌方坦克(二) [Java_项目篇<1>]–JAVA实现坦克大战游戏–坦克发射子弹(三) [Java_项目篇<1>]–JAVA实现坦克大战游戏–子弹连发+爆炸效果(四) 一.任务需求 赋予敌人行动和攻击. 二.思路 - 敌人行动 1.需要把EnemyTank做成线程类实现Runnable接口. run方法中,

【blade04】用面向对象的方法写javascript坦克大战

前言 javascript与程序的语言比如C#或者java不一样,他并没有“类”的概念,虽然最新的ECMAScript提出了Class的概念,我们却没有怎么用 就单以C#与Java来说,要到真正理解面向对象的程度也是要花一点功夫的,特别是初学的同学往往意识不到面向对象的好处,因为我们编码的流程是这样的 ① 面向过程 这个时候,我们要思想一个东西,往往就用一个大代码段完成了 ② 方法重用 我们有时候再也受不了重复的代码在一个地方存在了,于是这个时候我们会将相同的逻辑抽象为一个方法 ③ 当代码达到一

HTML5移动开发之路(8)——坦克大战游戏2

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(8)--坦克大战游戏2 在上一篇文章中我们已经画出了自己的坦克,并且可以控制自己的坦克移动,我们继续接着上一篇来实现我们的坦克大战游戏吧. 一.将JS文件分离出来 使用OO的思想,我们已经对坦克进行了封装,对画坦克也进行了封装,下面我们将这两个对象提取到外部的js文件中,文件内容如下: [javascript] view plain copy print? //定义一个Hero类(后面还要改进) //x表示

(java项目)坦克大战 2.0

这个版本,只能算是一个雏形,把最基本的东西给完成了,不过,后面可添加的也不多.有一点,还是想去实现,那就是敌方坦克自己寻找对手!也就是游戏AI. emmm, 什么时候可以了解一下这个AI.顺便学学python. 这个帖子只是为了贴上代码,对后续的代码作为优化和添加游戏AI做准备的. 1. 各类接口 package Event; /* *具有攻击力的接口 */ public interface Attackable { /* * 校验具有攻击力的实物, 和, 具有被攻击的实物,是否能撞在一起 *

基于HTML5坦克大战游戏简化版

之前我们有分享过不少经典的HTML5游戏,有些还是很有意思的,比如HTML5版切水果游戏和HTML5中国象棋游戏.今天要分享的是一款简化版的HTML5坦克大战游戏,方向键控制坦克的行进方向,空格键发射子弹,命中敌方坦克后也会发出声音,效果还算可以.效果图如下: 在线预览   源码下载 实现的代码. javascript代码: window.addEventListener("load", canvasApp, false); //是否支持canvas function canvasSu

HTML5移动开发之路(7)——坦克大战游戏1

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(7)--坦克大战游戏1 上一篇中我们介绍了关于Canvas的基础知识,用Canvas绘制各种图形和图片,在上一篇的基础上我们来做一个基于HTML5的坦克大战游戏,下面我们开始吧 一.用Canvas画出我们的坦克 我们设计的坦克结构如下图所示,如果有的朋友有更好的设计,希望分享和交流一下. 如上图所示,我们的坦克基本上是由三个矩形和一个圆形一个线段组成,每个部件的尺寸进行了标记,单位为px,下面我们用上一篇中