Diamond Dogs

DD-02

package testRobot;

import robocode.Robot;
import robocode.ScannedRobotEvent;
import robocode.BulletMissedEvent;
import robocode.HitByBulletEvent;
import robocode.HitWallEvent;
import robocode.BulletHitEvent;
import robocode.AdvancedRobot;
import java.awt.Color;
import robocode.HitWallEvent;



public class DiamondDogs_1 extends AdvancedRobot {
   private long tiempo = System.currentTimeMillis();
   private int poder = 1;
   private Estado estado;
   private int direccionCanon = 1;
   
     enum Estado{
       GIRANDO,
       DISPARANDO,
       HUYENDO
     }
     
     @Override
     public void run() {
       setBodyColor(Color.RED);
       setGunColor(Color.PINK);
       setRadarColor(Color.CYAN);
       setScanColor(Color.WHITE);
       estado = Estado.GIRANDO;
       while(true) {
         switch(estado) {
         case GIRANDO:
           turnLeft(10);
           ahead(60);
           break;
         case DISPARANDO:
          direccionCanon = -direccionCanon;
          setTurnGunRight(360*direccionCanon);
           fire(poder);
           break;
         case HUYENDO:
           turnLeft(90);
           ahead(100);
           turnRight(75);
           back(150);
           break;
         }
         
       }
       
     }
     @Override
     public void onScannedRobot(ScannedRobotEvent event) {
       estado = Estado.DISPARANDO;
     }
     @Override
     public void onBulletMissed(BulletMissedEvent event) {
       poder = 1;
       estado = Estado.GIRANDO;
     }
     @Override
     public void onHitByBullet(HitByBulletEvent event) {
       estado = Estado.HUYENDO;
       if (System.currentTimeMillis() - tiempo >=1000) {
         estado =Estado.GIRANDO;
         tiempo = System.currentTimeMillis();
       }   
     }
     @Override
     public void onBulletHit(BulletHitEvent event) {
       if(poder<3) {
         poder ++;
       }
     }
     @Override
     public void onHitWall(HitWallEvent event) {
       turnLeft(180);
     }
     
     
     

}

Comentarios

No hay ningún comentario

Añadir un Comentario: