//----------------------------------------------------------------------------- public string SeDeplacer(PlateauDeJeu plateau) { if (seDeplacer != null) { //Position p = new Position(1,1); List <ZoneAbstraite> voisins = plateau.GetNeighbourZones(this.position); Random rdm = new Random(DateTime.Now.Millisecond + this.PointsDeVie + this.position.X); bool found = false; int i = 0; if (voisins.Find((c) => c.Walkable == true) == null) { return("Je suis trop fatigué pour me déplacer"); } while (!found) { i = rdm.Next(0, voisins.Count - 1); if (voisins[i].Walkable) { found = true; } } //TODO: mettre une fonction avec dijkstra (Valérie) return(seDeplacer.SeDeplacer(this, voisins[i].point)); } return("Je suis trop fatigué pour me déplacer"); }
public override PlateauDeJeu CreerPlateau() { PlateauDeJeu plateau = new PlateauDeJeu(MapType.labyrinthe); //creer adjacent et case Zone actuelle = null; Zone ancienne = null; Acces lien = null; Position p = null; int h = 0; int j = 0; for (int i = 0; i < Parametres.nbCases; i++) { if (h >= Parametres.nbColonne) { h = 0; j++; } p = new Position(h, j); actuelle = (Zone)CreerZone("Zone " + i, p, i); plateau.AjoutZone((ZoneAbstraite)actuelle); if (ancienne != null) { lien = (Acces)CreerAcces((ZoneAbstraite)actuelle, (ZoneAbstraite)ancienne); plateau.AjoutAcces((AccesAbstrait)lien); } ancienne = actuelle; h++; } List <ZoneAbstraite> liste = plateau.zones; ZoneAbstraite za; foreach (Zone z in liste) { if (z.point.Y != 0) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y - 1)); if (za != null) { lien = (Acces)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } if (z.point.Y != Parametres.nbColonne - 1) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y + 1)); if (za != null) { lien = (Acces)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } } return(plateau); }
public override PlateauDeJeu CreerPlateau() { PlateauDeJeu plateau = new PlateauDeJeu(MapType.labyrinthe); //creer adjacent et case Zone actuelle = null; Zone ancienne = null; Acces lien = null; Position p = null; int h = 0; int j = 0; for (int i = 0; i < Parametres.nbCases; i++) { if (h >= Parametres.nbColonne) { h = 0; j++; } p = new Position(h, j); actuelle = (Zone)CreerZone("Zone " + i, p, i); plateau.AjoutZone((ZoneAbstraite)actuelle); if (ancienne != null) { lien = (Acces)CreerAcces((ZoneAbstraite)actuelle, (ZoneAbstraite)ancienne); plateau.AjoutAcces((AccesAbstrait)lien); } ancienne = actuelle; h++; } List<ZoneAbstraite> liste = plateau.zones; ZoneAbstraite za; foreach (Zone z in liste) { if (z.point.Y != 0) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y - 1)); if (za != null) { lien = (Acces)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } if (z.point.Y != Parametres.nbColonne - 1) { za =(ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y + 1)); if (za != null) { lien = (Acces)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } } return plateau; }
public ConfigurationGame(string nomR, string nomV, List<Personnage> joueursR, List<Personnage> joueursV, List<string> queteR, List<string> queteV, MapType map) { equipeRouge = new Equipe(nomR, joueursR, queteR); equipeVerte = new Equipe(nomV, joueursV, queteV); if (map == MapType.standard) { FabriquePlateauDeJeu f = new FabriquePlateauDeJeu(); plateau = f.CreerPlateau(); } else if ( map == MapType.labyrinthe) { FabriqueLabyrinthe f = new FabriqueLabyrinthe(); plateau = f.CreerPlateau(); } else { FabriqueEtage f = new FabriqueEtage(); plateau = f.CreerPlateau(); } }
public ConfigurationGame(string nomR, string nomV, List <Personnage> joueursR, List <Personnage> joueursV, List <string> queteR, List <string> queteV, MapType map) { equipeRouge = new Equipe(nomR, joueursR, queteR); equipeVerte = new Equipe(nomV, joueursV, queteV); if (map == MapType.standard) { FabriquePlateauDeJeu f = new FabriquePlateauDeJeu(); plateau = f.CreerPlateau(); } else if (map == MapType.labyrinthe) { FabriqueLabyrinthe f = new FabriqueLabyrinthe(); plateau = f.CreerPlateau(); } else { FabriqueEtage f = new FabriqueEtage(); plateau = f.CreerPlateau(); } }
public override PlateauDeJeu CreerPlateau() { PlateauDeJeu plateau = new PlateauDeJeu(MapType.labyrinthe); //creer adjacent et case Case actuelle = null; Case ancienne = null; Adjacent lien = null; Position p = null; int h = 0; int j = 0; for (int i = 0; i < Parametres.nbCases; i++) { if (h >= Parametres.nbColonne) { h = 0; j++; } p = new Position(h, j); actuelle = (Case)CreerZone("Zone " + i, p, i); plateau.AjoutZone((ZoneAbstraite)actuelle); if (ancienne != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)actuelle, (ZoneAbstraite)ancienne); plateau.AjoutAcces((AccesAbstrait)lien); } ancienne = actuelle; h++; } List<ZoneAbstraite> liste = plateau.zones; ZoneAbstraite za; foreach (Case z in liste) { if (z.point.Y != 0) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y - 1)); if (za != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } if (z.point.Y != Parametres.nbColonne - 1) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y + 1)); if (za != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } } Random rdm = new Random(DateTime.Now.Millisecond); for (int i = 0; i < 10; i++) { plateau.zones[rdm.Next(0, Parametres.nbCases)].Walkable = false; } return plateau; }
public override PlateauDeJeu CreerPlateau() { PlateauDeJeu plateau = new PlateauDeJeu(MapType.labyrinthe); //creer adjacent et case Case actuelle = null; Case ancienne = null; Adjacent lien = null; Position p = null; int h = 0; int j = 0; for (int i = 0; i < Parametres.nbCases; i++) { if (h >= Parametres.nbColonne) { h = 0; j++; } p = new Position(h, j); actuelle = (Case)CreerZone("Zone " + i, p, i); plateau.AjoutZone((ZoneAbstraite)actuelle); if (ancienne != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)actuelle, (ZoneAbstraite)ancienne); plateau.AjoutAcces((AccesAbstrait)lien); } ancienne = actuelle; h++; } List <ZoneAbstraite> liste = plateau.zones; ZoneAbstraite za; foreach (Case z in liste) { if (z.point.Y != 0) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y - 1)); if (za != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } if (z.point.Y != Parametres.nbColonne - 1) { za = (ZoneAbstraite)plateau.GetZone(new Position(z.point.X, z.point.Y + 1)); if (za != null) { lien = (Adjacent)CreerAcces((ZoneAbstraite)z, za); plateau.AjoutAcces((AccesAbstrait)lien); } za = null; } } Random rdm = new Random(DateTime.Now.Millisecond); for (int i = 0; i < 10; i++) { plateau.zones[rdm.Next(0, Parametres.nbCases)].Walkable = false; } return(plateau); }
//----------------------------------------------------------------------------- public string SeDeplacer(PlateauDeJeu plateau) { if (seDeplacer != null) { //Position p = new Position(1,1); List<ZoneAbstraite> voisins = plateau.GetNeighbourZones(this.position); Random rdm = new Random(DateTime.Now.Millisecond + this.PointsDeVie + this.position.X); bool found = false; int i = 0; if (voisins.Find((c) => c.Walkable == true) == null) return "Je suis trop fatigué pour me déplacer"; while (!found) { i = rdm.Next(0, voisins.Count - 1); if (voisins[i].Walkable) found = true; } //TODO: mettre une fonction avec dijkstra (Valérie) return seDeplacer.SeDeplacer(this, voisins[i].point); } return "Je suis trop fatigué pour me déplacer"; }