예제 #1
0
 public void testCaseVide() {
   Case[][] lc = new Case[16][16];
   for (int i = 0; i < 15; i++) {
     for (int j = 0; j < 15; j++) {
       lc[i][j] = new CaseVide();
     }
   }
   lc[14][15] = new CaseVide();
   MonJeu mj = new MonJeu(lc);
   Entite e = new Personnage(14, 14, mj);
   Commande c = new Commande();
   c.droite = true;
   e.seDeplacer(c);
   assertEquals("Le deplacement X ne doit pas pouvoir se faire", 15, e.getX());
   assertEquals("Le deplacement Y ne doit pas pouvoir se faire", 14, e.getY());
 }
예제 #2
0
 @Override
 public Commande IACommande() {
   Commande c = new Commande();
   int deplacement = -1;
   if (x < j.pj.x + 3 && x > j.pj.x - 3 && y < j.pj.y + 3 && y > j.pj.y - 3) {
     if (x >= j.pj.x && y >= j.pj.y) {
       if (x - j.pj.x >= y - j.pj.y) deplacement = Entite.gauche;
       else deplacement = Entite.haut;
     }
     if (x >= j.pj.x && y < j.pj.y) {
       if (x - j.pj.x > j.pj.y - y) deplacement = Entite.gauche;
       else deplacement = Entite.bas;
     }
     if (x < j.pj.x && y >= j.pj.y) {
       if (j.pj.x - x > y - j.pj.y) deplacement = Entite.droite;
       else deplacement = Entite.haut;
     }
     if (x < j.pj.x && y < j.pj.y) {
       if (j.pj.x - x > j.pj.y - y) deplacement = Entite.droite;
       else deplacement = Entite.bas;
     }
   } else {
     deplacement = (int) (Math.random() * 10);
   }
   switch (deplacement) {
     case Entite.gauche:
       c.gauche = true;
       break;
     case Entite.droite:
       c.droite = true;
       break;
     case Entite.haut:
       c.haut = true;
       break;
     case Entite.bas:
       c.bas = true;
       break;
   }
   return c;
 }