public static Plateau GetInstance(int nbC, int nbJ) { if (_instance == null) { lock (_mutex) { if (_instance == null) { _instance = new Plateau(nbC, nbJ); } } } return(_instance); }
static void Main(string[] args) { bool fin = false; Console.WriteLine("Nombre de joueurs ? "); int nbJoueurs = Convert.ToInt32(Console.ReadLine()); Plateau board = Plateau.GetInstance(40, nbJoueurs); List <Joueur> lesJoueurs = new List <Joueur>(); NormalState deb = new NormalState(); Joueur init = new Joueur(deb); for (int i = 0; i < nbJoueurs; i++) { lesJoueurs.Add(init); } fin = isOver(lesJoueurs); while (!fin) { } }
static void Main(string[] args) { /*Console.WriteLine(lancerDés()); * int milliseconds = 200; * Thread.Sleep(milliseconds); * Console.WriteLine(lancerDés());*/ bool fin = false; Console.WriteLine("Nombre de joueurs ? "); int nbJoueurs = Convert.ToInt32(Console.ReadLine()); Plateau board = Plateau.GetInstance(40, nbJoueurs); List <Joueur> lesJoueurs = new List <Joueur>(); NormalState deb = new NormalState(); /*Joueur init = new Joueur(deb); * for (int i = 0; i < nbJoueurs; i++) * { * lesJoueurs.Add(init); * }*/ for (int i = 0; i < nbJoueurs; i++) { lesJoueurs.Add(new Joueur(deb)); } /*String nom = ""; * for (int i = 0; i < nbJoueurs; i++) * { * Console.WriteLine("Quel est le nom du joueur " + i); * nom = Console.ReadLine(); * lesJoueurs.Add(init, nom); * }*/ int d; int whichTurn = 0; int numJ; bool b; while (!isOver(lesJoueurs)) { numJ = whichTurn + 1; Console.WriteLine("C'est le tour du joueur " + numJ + "."); Console.ReadKey(); d = lancerDés(); if (d == 99) { toJailSir(lesJoueurs[whichTurn]); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } board.Grille[10, whichTurn] = 1; } if (lesJoueurs[whichTurn].getState() == deb) { Console.WriteLine("Le joueur a lancé les dés : " + d); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } if (d + lesJoueurs[whichTurn].Position >= 40) { lesJoueurs[whichTurn].Position -= 39; lesJoueurs[whichTurn].Moneyyy += 10000; } //Income board.Grille[d + lesJoueurs[whichTurn].Position, whichTurn] = 1; lesJoueurs[whichTurn].Position = d + lesJoueurs[whichTurn].Position; if (lesJoueurs[whichTurn].Position == 30) { toJailSir(lesJoueurs[whichTurn]); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } board.Grille[10, whichTurn] = 1; } } else { if (lesJoueurs[whichTurn].GetOut != 0) { b = lancerDésPrison(); while (true) { if (b == true) { Console.WriteLine("Quelle chance! Le joueur " + numJ + " sort de prison. "); lesJoueurs[whichTurn].GetOut = 0; lesJoueurs[whichTurn].TransitionTo(deb); break; } else { lesJoueurs[whichTurn].GetOut++; } if (lesJoueurs[whichTurn].GetOut == 3) { Console.WriteLine("Le joueur a purgé sa peine. Le joueur " + numJ + " sort de prison. "); lesJoueurs[whichTurn].GetOut = 0; lesJoueurs[whichTurn].TransitionTo(deb); break; } else { Console.WriteLine("Le joueur " + numJ + " reste en prison."); break; } } } else { lesJoueurs[whichTurn].GetOut++; } } Plateau.printBoard(board.Grille); if (whichTurn == nbJoueurs - 1) { whichTurn = 0; endOfTurn(lesJoueurs); } else { whichTurn++; Console.WriteLine(); } } Console.WriteLine("Partie finie"); }
static void Main(string[] args) { Console.WriteLine("Rules : Each time a player finish its move in a residential area or an hotel area,\nthe player can buy one house or one hotel respectively."); /*Console.WriteLine(lancerDés()); * int milliseconds = 200; * Thread.Sleep(milliseconds); * Console.WriteLine(lancerDés());*/ bool fin = false; Console.WriteLine("Nombre de joueurs ? "); int nbJoueurs = Convert.ToInt32(Console.ReadLine()); Plateau board = Plateau.GetInstance(40, nbJoueurs); List <Joueur> lesJoueurs = new List <Joueur>(); NormalState deb = new NormalState(); /*Joueur init = new Joueur(deb); * for (int i = 0; i < nbJoueurs; i++) * { * lesJoueurs.Add(init); * }*/ /*for (int i = 0; i < nbJoueurs; i++) * { * lesJoueurs.Add(new Joueur(deb)); * }*/ int posInit = 0; String nom = ""; for (int i = 0; i < nbJoueurs; i++) { Console.WriteLine("Quel est le nom du joueur " + i + "?"); nom = Console.ReadLine(); Console.WriteLine("Quel est la position initiale du joueur " + i + "? (De 0 à 39, sauf 30)"); posInit = Convert.ToInt32(Console.ReadLine()); lesJoueurs.Add(new Joueur(deb, nom, posInit)); for (int j = 0; j < board.Grille.GetLength(0); j++) { board.Grille[j, i] = 0; } board.Grille[posInit, i] = 1; } int d; int whichTurn = 0; int numJ; bool b; while (!isOver(lesJoueurs)) { numJ = whichTurn + 1; //Console.WriteLine("C'est le tour du joueur " + numJ + "."); Console.WriteLine("C'est le tour de " + lesJoueurs[whichTurn].Name + "."); Console.ReadKey(); d = lancerDés(); if (d == 99) { toJailSir(lesJoueurs[whichTurn]); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } board.Grille[10, whichTurn] = 1; } if (lesJoueurs[whichTurn].getState() == deb) { Console.WriteLine("Le joueur " + lesJoueurs[whichTurn].Name + " a lancé les dés : " + d); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } if (d + lesJoueurs[whichTurn].Position >= 40) { lesJoueurs[whichTurn].Position -= 39; lesJoueurs[whichTurn].Moneyyy += lesJoueurs[whichTurn].Income; } //Income / 10000 board.Grille[d + lesJoueurs[whichTurn].Position, whichTurn] = 1; lesJoueurs[whichTurn].Position = d + lesJoueurs[whichTurn].Position; if (lesJoueurs[whichTurn].Position == 30) { toJailSir(lesJoueurs[whichTurn]); for (int i = 0; i < board.Grille.GetLength(0); i++) { board.Grille[i, whichTurn] = 0; } board.Grille[10, whichTurn] = 1; } if (lesJoueurs[whichTurn].Position % 5 == 0 && lesJoueurs[whichTurn].Position != 10 && lesJoueurs[whichTurn].Position != 30) { wannaHotel(lesJoueurs[whichTurn]); } if (lesJoueurs[whichTurn].Position % 2 == 0 && lesJoueurs[whichTurn].Position != 10 && lesJoueurs[whichTurn].Position != 30 && lesJoueurs[whichTurn].Position % 5 != 0) { wannaHouse(lesJoueurs[whichTurn]); } } else { if (lesJoueurs[whichTurn].GetOut != 0) { b = lancerDésPrison(); while (true) { if (b == true) { Console.WriteLine("Quelle chance! Le joueur " + lesJoueurs[whichTurn].Name + " sort de prison. "); lesJoueurs[whichTurn].GetOut = 0; lesJoueurs[whichTurn].TransitionTo(deb); break; } else { lesJoueurs[whichTurn].GetOut++; } if (lesJoueurs[whichTurn].GetOut == 3) { Console.WriteLine("Le joueur a purgé sa peine. Le joueur " + lesJoueurs[whichTurn].Name + " sort de prison. "); lesJoueurs[whichTurn].GetOut = 0; lesJoueurs[whichTurn].TransitionTo(deb); break; } else { Console.WriteLine("Le joueur " + lesJoueurs[whichTurn].Name + " reste en prison."); break; } } } else { lesJoueurs[whichTurn].GetOut++; } } Plateau.printBoard(board.Grille); if (whichTurn == nbJoueurs - 1) { whichTurn = 0; endOfTurn(lesJoueurs); } else { whichTurn++; Console.WriteLine(); } } Console.WriteLine("Partie finie"); }