博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java项目之——坦克大战10
阅读量:2381 次
发布时间:2019-05-10

本文共 1720 字,大约阅读时间需要 5 分钟。

实现了坦克的移动,现在要实现坦克可以打出炮弹:

功能:添加子弹类,添加方法和参数。

1.位置和方向属性

int x,y; Tank.Direction dir;

2.构造方法

public Missile(int x, int y,Tank.Direction dir) {		this.x = x;		this.y = y;		this.dir=dir;	}

3.画坦克的方法

public void draw(Graphics g){		Color c = g.getColor();		g.setColor(Color.BLACK);		g.fillOval(x, y, 10, 10);		g.setColor(c);				move();	}
4.move方法:

private void move(){		switch(dir){		case L: x -= XSPEED;break;		case LU: x -= XSPEED; y -= XSPEED;break;		case U: y -= XSPEED;break;		case RU: x += XSPEED;y -= XSPEED;break;		case R: x += XSPEED;break;		case RD: x += XSPEED;y += XSPEED;break;		case D: y += XSPEED;break;		case LD: x -= XSPEED;y += XSPEED;break;		   }	   	   }

设置速度

public static final int XSPEED =10;  public static final int YSPEED =10;

5.测试:

在主类里面创建对象

Tank myTank = new Tank(50, 50);    Missile ms = new Missile(100, 100, Tank.Direction.RD);    Image offScreenImage = null;        public void paint(Graphics g) {        ms.draw(g);        myTank.draw(g);            }
附带子弹类的代码:

public class Missile {    	        public static final int XSPEED =10;        public static final int YSPEED =10;    	        int x,y;        Tank.Direction dir;            	public Missile(int x, int y,Tank.Direction dir) {		this.x = x;		this.y = y;		this.dir=dir;	}    	public void draw(Graphics g){		Color c = g.getColor();		g.setColor(Color.BLACK);		g.fillOval(x, y, 10, 10);		g.setColor(c);				move();	}		private void move(){		switch(dir){		case L: x -= XSPEED;break;		case LU: x -= XSPEED; y -= XSPEED;break;		case U: y -= XSPEED;break;		case RU: x += XSPEED;y -= XSPEED;break;		case R: x += XSPEED;break;		case RD: x += XSPEED;y += XSPEED;break;		case D: y += XSPEED;break;		case LD: x -= XSPEED;y += XSPEED;break;		   }	   	   }}

转载地址:http://dlrxb.baihongyu.com/

你可能感兴趣的文章
Linux内核和用户空间通信的方式— proc文件和mmap共享内存
查看>>
基于DSP/BIOS和NDK的嵌入式网络操作系统设计方案
查看>>
CCS开发环境搭建小结
查看>>
DM642 gel文件和.cmd文件参考
查看>>
DSP软件优化小实验
查看>>
DSP/BIOS 介绍
查看>>
多线程编程之重点--使用DSP/BIOS时选择线程类型的参考方法
查看>>
DSP/BIOS在嵌入式数据采集系统中的应用
查看>>
基于DSP/BIOS和NDK的嵌入式网络操作系统设计方案
查看>>
迅雷C++试题及解答
查看>>
Linux 中断学习之小试牛刀篇
查看>>
中断之原理篇
查看>>
高内聚 低耦合
查看>>
GUI开发之DirectFB
查看>>
GTK/DirectFB两个闪烁的问题
查看>>
《Linux内核修炼之道》 之 高效学习Linux驱动开发
查看>>
编写可移植C/C++程序的要点
查看>>
DirectFB代码导读
查看>>
linux fork函数浅析
查看>>
内核启动时间优化
查看>>