@Test public void testCollisionHaut() { 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[13][14] = new Mur(); MonJeu mj = new MonJeu(lc); Personnage e = new Personnage(14, 14, mj); Commande c = new Commande(); c.haut = true; e.seDeplacer(c); assertEquals("Le deplacement X ne doit pas pouvoir se faire", 14, e.getX()); assertEquals("Le deplacement Y ne doit pas pouvoir se faire", 14, e.getY()); }
@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; }