Java游戏开发之坦克大战代码(四)

2014-11-24 08:49:44 ? 作者: ? 浏览: 13
if(hero.isLive = true){
// this.hintTank2(myshot, hero);
// }
//
// }
// }
this.repaint();
}
}
private void hintMyTank() {

for(int i = 0; i < ets.size(); i++){
EnemyTask et = ets.get(i);
for(int j = 0; j < et.ss.size(); j++ ){
shot s = et.ss.get(j);
if(s != null){
if(hero.isLive){
this.hintTank(s, hero);
if(this.hintTank(s, hero)){//判断是否击中,返回true则hero数量减一
Recoder.setMyLife(Recoder.getMyLife() - 1 );
}
}
}
}
}

}
private void hintEnemyTank() {

for(int i = 0; i < hero.ss.size(); i ++){
shot myshot = hero.ss.get(i);
if(myshot.isLive == true){
for(int j = 0; j < ets.size(); j ++){
EnemyTask et = ets.get(j);
if(et.isLive = true){
this.hintTank(myshot, et);
if(this.hintTank(myshot, et)){
hintEnemyTanks ++;
Recoder.setEnNum(Recoder.getEnNum() - 1);

}
}
}
}
}

}
private void KeepExit(){


int [] heros = new int[]{
hero.getX(),
hero.getY(),
hero.direct,

};
for(int i = 0 ; i < ets.size(); i ++){
EnemyTask et = ets.get(i);
TanksX[i] = et.getX();
TanksY[i] = et.getY();
ETdirects [i] = et.direct;

for(int j = 1 ; j < et.ss.size(); j++){
shot s = et.ss.get(j);
ShotsX[j] = s.x;
ShotsY[j] = s.y;
}
}
for(int i = 0 ; i < hero.ss.size(); i++ ){
shot s = hero.ss.get(i);
HeroShotsX[i] = s.x ;
HeroShotsY[i] = s.y;

}

BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("d:\\aa\\TanksX.txt"));
for(int i = 0 ; i < enSize ; i ++){
bw.write(TanksX[i] + "\r\n");
bw.write(TanksY[i] + "\r\n");
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
public void GetKeeper (){//继续游戏时还原数据
BufferedReader br = null ;
try {
br = new BufferedReader(new FileReader("d:\\aa\\TanksX.txt"));
for(int i = 0; i < enSize*2 ; i ++){
if(i % 2 !=0){
TanksY[i] = Integer.parseInt(br.readLine());
System.out.println("TanksY" + TanksY[i]);
}else{
TanksX[i] = Integer.parseInt(br.readLine());
System.out.println("TanksX" + TanksX[i]);
}

}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
}


//class tank extends Tank{
//
// public tank(int x, int y, int direct,int type) {
// super(x, y, direct,type);
// // TODO Auto-generated constructor stub
// }
//
//}


下面是工具类:


package com.qq.TankGame;


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Vector;
class Recoder{
/**
*
*/
private static Vector ets = new Vector();
public static Vector getEts() {
return ets;
}
public static void setEtss(Vector ets) {
Recoder.ets = ets;
}
private static int enSize ;
public static int getEnSize() {
return enSize;
}
public static void setEnSize(int enSize) {
Recoder.enSize = enSize;
}
private static Hero hero ;

public static Hero getHero() {
return hero;
}
public static void setHero(Hero hero) {
Recoder.hero = hero;
}
public static void KeepExit(){
//System.out.println(hero.getX());
int [] TanksX = new int[20];
int [] TanksY = new int[20];
int [] ShotsX = new int[100];
int [] ShotsY = new int[100];
int [] ETdirects = new int[20];
int [] HeroShotsX = new int[10];
int [] HeroShotsY = new int[10];

int [] heros = new int[]{
hero.getX(),
hero.getY(),
hero.direct

};

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: