Java大作业报告(截止5月20日)
//判断子弹是否碰撞到坦克的函数
public void hitTank(Shot s , Tank et){ //判断敌军坦克的方向 switch(et.direct){ //向上或者向下的情况下 case 0: case 2:
if(s.x>et.x&&s.x //击中 //子弹死亡 s.isLive = false; //坦克死亡 et.isLive = false; //创建一个炸弹,放入Vector Bomb b = new Bomb(et.x,et.y); bombs.add(b); } //向左或者向右的情况下 case 1: Java大作业报告(截止5月20日) case 3: if(s.x>et.x&&s.x //击中 //子弹死亡 s.isLive = false; //坦克死亡 et.isLive = false; //创建一个炸弹,放入Vector Bomb b = new Bomb(et.x,et.y); bombs.add(b); } } } //画坦克的函数。四个参数分别为:起始画的坐标,方向,类型 public void drawTank(int x,int y,Graphics g,int direct,int type){ //判断坦克的类型 switch(type){ case 0: Java大作业报告(截止5月20日) g.setColor(Color.RED);//我的坦克 break; case 1: g.setColor(Color.blue);//敌军坦克 break; } switch(direct){ case 0://炮筒向上 //画坦克 //第一步 画左边的那条履带 g.fill3DRect(x, y, 5, 30,false);//四个参数分别表示起始点和大小 //第二步 画出右边的那条履带 g.fill3DRect(x+15, y, 5, 30,false); //第三部 画出中间的驾驶舱 g.fill3DRect(x+5, y+5, 10, 20,false); //第四部 画出中间的炮塔 g.fillOval(x+5, y+9, 10, 10); //第五步 画出炮筒 g.drawLine(x+10, y+15, x+10, y);//四个参数分别表示起始点和终止点 break; Java大作业报告(截止5月20日) case 1://炮筒向右 //画坦克 //第一步 画上边的那条履带 g.fill3DRect(x, y, 30, 5,false);//四个参数分别表示起始点和大小 //第二步 画出下边的那条履带 g.fill3DRect(x, y+15,30, 5,false); //第三部 画出中间的驾驶舱 g.fill3DRect(x+5, y+5, 20, 10,false); //第四部 画出中间的炮塔 g.fillOval(x+9, y+5, 10, 10); //第五步 画出炮筒 g.drawLine(x+15, y+10, x+30, y+10);//四个参数分别表示起始点和终止点 break; case 2://炮筒向下 //第一步 画左边的那条履带 g.fill3DRect(x, y, 5, 30,false);//四个参数分别表示起始点和大小 //第二步 画出右边的那条履带 g.fill3DRect(x+15, y, 5, 30,false); //第三部 画出中间的驾驶舱 Java大作业报告(截止5月20日) g.fill3DRect(x+5, y+5, 10, 20,false); //第四部 画出中间的炮塔 g.fillOval(x+5, y+9, 10, 10); //第五步 画出炮筒 g.drawLine(x+10, y+15, x+10, y+30);//四个参数分别表示起始点和终止点 break; case 3://炮筒向左 //第一步 画上边的那条履带 g.fill3DRect(x, y, 30, 5,false);//四个参数分别表示起始点和大小 //第二步 画出下边的那条履带 g.fill3DRect(x, y+15,30, 5,false); //第三部 画出中间的驾驶舱 g.fill3DRect(x+5, y+5, 20, 10,false); //第四部 画出中间的炮塔 g.fillOval(x+9, y+5, 10, 10); //第五步 画出炮筒 g.drawLine(x+15, y+10, x, y+10);//四个参数分别表示起始点和终止点 } }