java项目之——坦克大战25
来源:互联网 发布:python抢电影票 编辑:程序博客网 时间:2024/05/29 12:27
本版本:添加一个血块类,让其固定轨迹运动。
定义相关量:
int x,y,w,h; TankClient tcClient; private boolean live = true;
简单轨迹(在游戏轨迹里面,是给出曲线,然后沿着它运动,在这里简单处理为几个点)
private int[][] pos = {{350,300},{360,300},{375,275},{400,200} ,{360,270},{365,290},{340,280}} ;
定义step:
int step = 0;
构造函数方法与画方法:
public Blood(){ x= pos[0][0]; y= pos[0][1]; w=h=15; } public void draw(Graphics g){ if(!live) return; Color c = g.getColor(); g.setColor(Color.MAGENTA); g.fillRect(x, y, w, h); g.setColor(c); move(); //花一次 move一次 }
写move方法
private void move() { step++; if(step == pos.length){ step = 0; } x = pos[step][0]; y = pos[step][0]; }
2.在坦克类中 写吃方法:
public boolean eat(Blood b){if(this.live && this.getRect().intersects(b.getRect()) && b.isLive()){this.life = 100;b.setLive(false);return true;}return false;}
在加血类中补充:
public boolean isLive(){ return live; } public void setLive(boolean live){ this.live = live; }
3.在主类中:创建对象,画出血块,调用eat;
Blood b = new Blood();
b.draw(g); w1.draw(g); w2.draw(g);myTank.draw(g);myTank.eat(b);
总结;到此坦克项目基本结束,补充一个版本,重新开始,重新加入坦克。
附 加血代码:
public class Blood { int x,y,w,h; TankClient tcClient; private boolean live = true; int step = 0; private int[][] pos = {{350,300},{360,300},{375,275},{400,200},{360,270},{365,290},{340,280}} ; public Blood(){ x= pos[0][0]; y= pos[0][1]; w=h=15; } public void draw(Graphics g){ if(!live) return; Color c = g.getColor(); g.setColor(Color.MAGENTA); g.fillRect(x, y, w, h); g.setColor(c); move(); } private void move() { step++; if(step == pos.length){ step = 0; } x = pos[step][0]; y = pos[step][0]; } public Rectangle getRect(){ return new Rectangle(x, y, w, h); } public boolean isLive(){ return live; } public void setLive(boolean live){ this.live = live; } }
0 0
- java项目之——坦克大战25
- java项目之——坦克大战01
- java项目之——坦克大战02
- java项目之——坦克大战03
- java项目之——坦克大战 04
- java项目之——坦克大战04.1
- java项目之——坦克大战05
- java项目之——坦克大战06
- java项目之——坦克大战07
- java项目之——坦克大战08
- java项目之——坦克大战09
- java项目之——坦克大战10
- java项目之——坦克大战11
- java项目之——坦克大战12
- java项目之——坦克大战13
- java项目之——坦克大战14
- java项目之——坦克大战15
- java项目之——坦克大战16
- 身份证实名认证
- 获取网络图片的几种方式
- html5解决大文件断点续传
- C#中Console.WriteLine(),Console.Write()的用法
- 学习jsp必须的基础知识
- java项目之——坦克大战25
- MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)
- 0830-0914 开源项目/app通信/mac软件收集/Reveal软件调试程序/APP监测更新
- JavaScript实现拖拽预览,AJAX小文件上传
- Ubuntu14.04安装mysql5.7
- Ios 应用架构详解
- 解决Eclipse导入V7包后报的各种错误
- Node.Js util模块
- 使用morris时出现js报错VM9763:10 Error: <text> attribute transform: Expected number, "matrix(NaN,NaN,