/** Effectue un tirage au sort */ public void tirageAuSort() { int random = (int) (Math.random() * 2); if (random == 0) { tour = new Tour(joueur1); } else { tour = new Tour(joueur2); } }
public static void creer_match() throws Exception { int nbequipe = Tour.getNbEquipe(); MainWindows.barmatch.setMaximum(nbequipe / 2); MainWindows.barmatch.setMinimum(0); MainWindows.barmatch.setValue(0); int nbterrain = Tournois.getNbTerrain(); // No� List<Equipe> liste_equipe = Tour.getListEquipe(); int nbMatch = nbequipe / 2; int nbEquipe = Tour.getNbEquipe(); for (int i = 1; i <= nbMatch; i++) { Equipe e1 = liste_equipe.get((int) (Math.random() * (nbEquipe))); Equipe e2 = liste_equipe.get((int) (Math.random() * (nbEquipe))); while (e1.getJoue()) { e1 = liste_equipe.get((int) (Math.random() * (nbEquipe))); } while (e2.getJoue() || (e2.equals(e1))) { e2 = liste_equipe.get((int) (Math.random() * (nbEquipe))); } e1.setJoue(true); e2.setJoue(true); database.insert( "insert into match(numtour, terrain, idequipe1, idequipe2, pointequipe1, pointequipe2, matchjoue) values (" + Tournois.getNbToursEffectif() + ", " + (((i - 1) % nbterrain) + 1) + ", " + e1.getIdEquipe() + " , " + e2.getIdEquipe() + ", 0, 0, 0)"); new ThreadProgressBar(MainWindows.barmatch, 0).start(); } }
/** * Retourne les cases où l'on peut utiliser l'action pour le personnage selectionné * * @param idActionSelectionné numéro de l'action selectionné * @return les cases où l'on peut utiliser l'action pour le personnage selectionné */ public ArrayList<int[]> VoisinageCaseAction(int idActionSelectionné) { boolean[] obstacle = {false, false, false, false}; ArrayList<int[]> voisinage = new ArrayList<int[]>(); Class<?> c = personnageSelectionné.getAction(idActionSelectionné); int pmMin = 0; int pmMax = 0; Action.typePortee tp; try { tp = (typePortee) c.getMethod("getTypePortee").invoke(c); pmMin = (Integer) c.getMethod("getPorteeMin").invoke(c); if (tp == Action.typePortee.NORMAL) pmMax = (Integer) c.getMethod("getPorteeMax").invoke(c); else if (tp == Action.typePortee.CIBLE) pmMax = Math.min(TaillePlateauX, TaillePlateauY) / 2; else if (tp == Action.typePortee.SELF) { voisinage.add(personnageSelectionné.getPosition()); return voisinage; } int x = personnageSelectionné.getPosition()[0]; int y = personnageSelectionné.getPosition()[1]; for (int i = 1; i <= pmMax; i++) { if (x - i >= 0) { int[] positionCaseSelectionné = {x - i, y}; if (!obstacle[0] && !this.getCase(positionCaseSelectionné).estVide()) { obstacle[0] = true; if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (!obstacle[0] && this.getCase(positionCaseSelectionné).estVide()) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (personnageSelectionné.getSaitVoler() && obstacle[0]) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } } if (x + i < TaillePlateauX) { int[] positionCaseSelectionné = {x + i, y}; if (!obstacle[1] && !this.getCase(positionCaseSelectionné).estVide()) { obstacle[1] = true; if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (!obstacle[1] && this.getCase(positionCaseSelectionné).estVide()) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (personnageSelectionné.getSaitVoler() && obstacle[1]) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } } if (y - i >= 0) { int[] positionCaseSelectionné = {x, y - i}; if (!obstacle[2] && !this.getCase(positionCaseSelectionné).estVide()) { obstacle[2] = true; if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (!obstacle[2] && this.getCase(positionCaseSelectionné).estVide()) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (personnageSelectionné.getSaitVoler() && obstacle[2]) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } } if (y + i < TaillePlateauY) { int[] positionCaseSelectionné = {x, y + i}; if (!obstacle[3] && !this.getCase(positionCaseSelectionné).estVide()) { obstacle[3] = true; if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (!obstacle[3] && this.getCase(positionCaseSelectionné).estVide()) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } else if (personnageSelectionné.getSaitVoler() && obstacle[3]) { if (i >= pmMin) { voisinage.add(positionCaseSelectionné); } } } } } catch (Exception e) { } return voisinage; }