疯狂的坦克大战项目实现点:Version:1.0                 2016.10.22/上传

1)生成一个可玩,可操作的游戏窗口 a)继承Frame类,导入相应jar包快捷键 shift+ctrl+o; b)重写paint()

2)添加一个关闭窗口的处理 a)addWindowListener(new WindowAdaptor()) b)重写 windowClosing()方法

3)生成一个坦克,使用实心圆来代替(静态版) a)重写paint()方法,g.fillOval() b)给坦克改变颜色,顺便将窗口的背景颜色改变

4)让坦克动起来 a)将坦克的x,y定义为变量 b)启动一个重画线程的内部类,重写run()方法 (1)定义死循环 (2)调用repaint() (3)注意线程要sleep() c)使用双缓冲方法解决屏幕闪烁的问题

5)将游戏窗口的定值改为常量,方便后期修改、维护

6)添加键盘监听器,让坦克听从玩家的指挥 a)addkeyListener(new keyAdapter()) b)重写keyPressed()和keyReleased()方法 c)添加操纵坦克的逻辑代码 d)注意break穿透问题 7)使用面向对象的思维方式及设计模式重构代码(重点)

8)坦克朝8个方向运动 a)确定坦克的运动方向是哪个方向,使用枚举类型定义 L,LU,RD... locateDirection() b)确定键盘按下后坦克到底朝哪个方向运动,使用布尔类型定义 bL,bD... c)写出坦克运动的方法move()

9)生成一枚子弹 a)定义一个子弹类Bullet,定义相关属性和方法 b)new出来一枚子弹 10)使用键盘中的某一个键,来控制子弹的打出 使用 space键

11)解决坦克在停止的情况下也能发出子弹 a)先画出代表子弹运行方向的炮筒drawLine() b)判断炮筒方向和坦克的方向的关系 c)将原来new 子弹的构造器的方向参数改为炮筒的方向

12)解决只有一颗子弹的问题,实现多发炮弹的连射 a)创建一个放炮弹的容器 b)使用泛型,约束容器中只能放炮弹类型的元素 c)往容器中添加元素的方法容器.add()

13)生成敌方坦克 a)给Tank类添加一个区分敌我的boolean变量 good b)添加重载的构造器,将good属性添加到构造器当中 c)给我方和敌方的坦克添加不同颜色

14)生成一个爆炸类 a)在爆炸类当中添加应有的属性x,y,live b)使用直径不同的圆来模拟爆炸效果,int[] diameter 静态初始化 c)添加一个表示步骤的变量 step d)drawOval(x,y,diameter[step],diameter[step])来表示每一次画圆的步骤 e)在ctc中new出来一个静态的爆炸

15)敌方坦克死亡时添加爆炸效果 a) public Rectangular getRect(){ return new Rectangular(x,y,w,h); } b)添加判断两个矩形是否相交的方法 打击一辆坦克 hitTank(Tank tank) 将坦克放到容器中,打击一系列坦克 hitTanks(List tanks)

16)让敌人坦克运动更加智能 步骤: a)让敌人坦克动起来 构造函数中可以指定方向 New敌人坦克的时候指定敌人坦克的方向 b)让敌军坦克向随机方向移动 Tank是静态的,添加随机数产生器Random类 move完成后,如果是敌军坦克,随机产生一个数,来设定坦克的下一个方向 Direction.values() c)敌军坦克向随机方向移动随机的步骤 添加变量step,记录随机步骤 当step==0时,改变方向,否则,只要随机步骤递减 d)敌人坦克发射炮弹 本军炮弹不打本军 炮弹添加好坏good,根据好坏画不同颜色 修改炮弹的构造方法 修改Tank的fire()方法 修改hitTank()方法 e)敌人的炮火不能太猛烈

17)添加障碍物Obstruction a)创建一个障碍物的父类Obstruction为抽象类,添加属性x,y,w,h,draw()为抽象方法,方便后期维护及修改 b)创建Wall类Grass类继承Obstruction类 c)new Wall() new Grass()

18)子弹撞墙的问题 a)如果撞到,子弹live = false

19)坦克撞墙的问题 a)如果撞到,记录上一步坦克运动的位置,返回上一步的位置 b)不可让坦克的方向Direction.STOP

20)坦克撞坦克问题 a)如果撞到,记录上一步坦克运动的位置,返回上一步的位置

21)超级子弹 a)朝各个方向发射的子弹superFire() b)添加一个很大的炮弹,打到坦克上,此炮弹不消亡,完全出窗口才消亡 c)弹雨

for DeNan k./2015.6

java游戏牛仔炮筒,Java版坦克大战游戏!相关推荐

  1. jQuery 版坦克大战游戏

    查看效果 下载地址 jQuery 版坦克大战游戏,仅完成了一个基本的对战模块雏形,为你打造功能完备的大型射击类网页游戏做准备.通过这个小游戏的编程实战,你可以了解到角色转换.角色移动.子弹碰撞判断.生 ...

  2. Java版坦克大战游戏的分析与实现

    技术:Java等 摘要: J2SE (Java 2 Standard Edition)就是Java2的标准版,主要用于桌面应用软件的编程,是伴随着计算机技术的飞速发展而诞生的一项新的开发技术.随着个人 ...

  3. Java版坦克大战游戏

    技术:Java等 摘要: Java随着各种电子设备,其中尤其是移动通信设备的发展所诞生的一项新的开发技术.Java定位在各种电子设备产品的功能应用上,对电子产品的多样,智能化,提供了很大的帮助.本次设 ...

  4. Java版坦克大战游戏毕业设计

    技术:Java等 摘要: Java是近几十年来随着各种技术的发展,尤其是编程语言飞速发展而诞生的一项新的开发语言.随着信息技术的飞速发展,计算机的使用也日渐普及,各种各样游戏也纷纷出现在我们的视野中. ...

  5. 坦克大战java_java版坦克大战游戏源码

    [java]代码库package tankwar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; imp ...

  6. python实现双人版坦克大战游戏

    游戏介绍: 双人版的<坦克大战>的基本规则是玩家消灭出现的敌方坦克保卫我方基地. 中间还会随机出现很多特殊道具吸收可获得相应的功能,消灭玩即可进入下一关. 方向键:上下左右移动即可.另一个 ...

  7. 花了两天时间用html+css+js做了一个网页版坦克大战游戏

    大家好,我是孙叫兽,本期内容给大家分享如何用html+css+javaScript去做一个简易网页版坦克游戏. 目录 坦克游戏玩法及介绍 项目结构 源码地址: 坦克游戏玩法及介绍 我们先来看一下首页. ...

  8. Java小项目:图片版坦克大战

    0.1最低版本 (1)要求:产生一个空白窗口 (2)掌握技巧: a.通过eclipse建立新的项目 b.为新的项目指定不同的源代码和输出目录 c.指定项目所用的JDK d.通过eclipse建立新的类 ...

  9. 基于JavaSwing坦克大战游戏的设计和实现

     还记得传说中的经典90坦克大战吗?那些怀旧的记忆,伴随着我们一起走过来的经典坦克大战,刚开始那战战兢兢,屡屡被敌人坦克击毁的情景历历在目.现在好了,再也不用担心敌人坦克了,可以横冲直撞,横扫敌人坦克 ...

最新文章

  1. Hive group by实现-就是word 统计
  2. python ocr中文识别库 tesseract安装及问题处理
  3. 计算机包括桌面计算机和便携式计算机,()计算机包括桌面计算机和便携式计算机这两种形式...
  4. QT的QGraphicsProxyWidget类的使用
  5. 年度最期待游戏废土2登陆Linux
  6. CCNA知识总结(一)
  7. C java new_你还在new对象吗?Java8通用Builder了解一下?
  8. php框架 事件,php框架Minor5事件(附代码)
  9. SpringBoot 整合 MyCat 实现读写分离
  10. 秋季唯美海报,打造的一系列秋季主题视觉
  11. Windows与Linux下查看占用端口的进程
  12. Android关于Paint你所知道的和不知道的一切
  13. 来电通java版_Java 程序员常用的 11 款免费 IDE 编辑器
  14. linux 多块网卡 bridge,理解linux虚拟网络设备bridge
  15. C什么k什么_K线基础——什么是MACD?
  16. c# 通过读取Json文件生成HTML页并在浏览器显示
  17. 输入一个整数求其位数和各个位数之和
  18. ICCV 2021 | 性能炸裂的通道剪枝算法ResRep(Keras复现)
  19. 中国筋膜枪行业销售状况及营销前景预测报告(2022-2027年版)
  20. BLOXORZ 游戏攻略

热门文章

  1. P4994 终于结束的起点
  2. 文件上传/下载接口(超简单的教程来了)
  3. foxmail如何不接收以前的邮件
  4. 简单在线剪辑音乐工具分享
  5. linux 下安装飞鸽
  6. 华为动力学:狼文化与灰色领导思想
  7. python实战项目网站_python实战项目,搜索自己网站的关键词,使用代理并且模拟点击...
  8. Python爬虫库-Beautiful Soup的使用
  9. 什么是 ill-posed 问题
  10. TypeError: string indices must be integers