用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

花花shij    -  云代码空间

——

Java坦克

2017-11-08|830阅||

摘要:package MapT; import java.awt.Color; import java.awt.Point; import EnumT.ObjectType.TankType; import EnumT.PanelType; import ObjectT.O

package MapT;
import java.awt.Color;
import java.awt.Point;
import EnumT.ObjectType.TankType;
import EnumT.PanelType;
import ObjectT.ObjString;
 
public class Map_Score extends ObjectPanel implements ScoreListener{
 private static final long serialVersionUID = 1L;
 public static final int WIDTH=200;
 
 private int player1=3;
 private int player2=-1;
 private int tankNumber=20;
 private int tank1=0;
 private int tank2=0;
 private int tank3=0; 
 ObjString[] objstrs=new ObjString[4];
 
 
 public Map_Score(MainFram parent) {
  super(PanelType.map_score,parent);
  player1=3;
  player2=-1;
  tankNumber=20;
  tank1=0;
  tank2=0;
  tank2=0;
  objstrs[0]=new ObjString(new Point(20,180),  String.format("̹坦克数量:    %2d",tankNumber) , this);
  objstrs[1]=new ObjString(new Point(20,180+80),String.format("player1:  %d", player1) , this);
  objstrs[2]=new ObjString(new Point(20,180+160), String.format("player2:  %d", player2) , this);
  objstrs[3]=new ObjString(new Point(20,180+400), String.format("关卡:      %2d", ((MainFram)getParent()).getMap_war().getState()), this);
  IniMap_Score();
 }
 
 public void IniMap_Score(){
  add(objstrs[0]);
  add(objstrs[1]);
  if(player2>=0)add(objstrs[2]);
  else remove(objstrs[2]);
  add(objstrs[3]);
  
  StateChanged(getParent().getState());
 }
 
 
 public void StateChanged(int state) {
  objstrs[3].setContent(String.format("关卡:      %2d",((MainFram)getParent()).getMap_war().getState()));
 }
 
 
 protected void initialPanel() {
  setBackground(Color.GRAY);
  setSize(WIDTH, Map_War.WIDTH);
  setLocation(Map_War.WIDTH,0);  
 } 
 
 
 public void LifeTimeChanged(int tag, int lifeTime) {
  if(tag==1){
   //System.err.println(MainFram.status+":"+lifeTime);
   player1=lifeTime;
   objstrs[1].setContent(String.format("player1:  %d", player1));
  }else{
   player2=lifeTime;   
   if(player2>=0){
    if(!Contain(objstrs[2]))add(objstrs[2]);
    objstrs[2].setContent(String.format("player2:  %d", player2));
   }
  }
  if(player1<=0&&player2<=0){
   ((MainFram)getParent()).getMap_war().gameOver();
  }
 }
 
 public void TankNumberChanged(int tankNumber) {
  this.tankNumber=tankNumber;
  if(tankNumber==20){
   tank1=tank2=tank3=0;
  }
  objstrs[0].setContent(String.format("坦克数量:    %2d", tankNumber));
 }
 
 public void TankDestroyed(TankType tanktype) {
  switch (tanktype) {
  case tank1:
   tank1++;
   break;
  case tank2:
   tank2++;
   break;
  case tank3:
   tank3++;
   break;
  default:
   break;
  }
  if( tank1+tank2+tank3>=20&&tankNumber==0){
   ((MainFram)getParent()).getMap_war().nextClass();
  }
 }
 public int getTank1() {
  int t1=tank1;
  tank1=0;
  return t1;
 }
 public int getTank2() {
  int t2=tank2;
  tank2=0;
  return t2;
 }
 public int getTank3() {
  int t3=tank3;
  tank3=0;
  return t3;
 }
 public void setPlayer1(int player1) {
  this.player1 = player1;
 }
 public void setPlayer2(int player2) {
  this.player2 = player2;
 }
}
顶 0踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 花花shij
    • 等级: 初级程序员
    • 积分: 12
    • 代码: 0 个
    • 文章: 7 篇
    • 随想: 0 条
    • 访问: 4 次
    • 关注

    人气文章

    人气代码

      最新提问

        站长推荐