public static string WriteBoatState(joueur joueur, int i, int j) { switch (joueur.grille.tab[i, j].etat) { case etat.eau: //return "| "; case etat.bateau: return "| "; case etat.boum: if (joueur.grille.tab[i, j].bateau.coulé) { string nom = joueur.grille.tab[i, j].bateau.nom.ToString(); nom = nom.Substring(0, 1); return "|" + nom; } else { return "|x"; } case etat.plouf: return "|O"; default: return "|?"; } }
public static void ShowGrid(joueur joueur1, joueur joueur2) { Console.WriteLine("{0} {1}", joueur1.Pseudo, joueur2.Pseudo); Console.WriteLine("| |A|B|C|D|E|F|G|H|I|J| | |A|B|C|D|E|F|G|H|I|J|"); for (int i = 0; i < grille.horizontal; i++) { string line1 = "|"; string line2 = "|"; int nbr = (i + 1); if (nbr < 10) { line1 = line1 + nbr + " "; line2 = line2 + nbr + " "; } else { line1 = line1 + nbr; line2 = line2 + nbr; } for (int j = 0; j < grille.vertical; j++) { string ajout1 = WriteBoatState(joueur1, i, j); string ajout2 = WriteBoatState(joueur2, i , j); line1 = line1 + ajout1; line2 = line2 + ajout2; } line1 = line1 + "| " + line2 + "|"; Console.WriteLine(line1); } }
public static int CoupAuto(joueur joueur, Random rnd) { int result; do { int x = rnd.Next(0, 10); int y = rnd.Next(0, 10); result = joueur.grille.tab[x, y].attaque(); } while (result == 4 || result == 5); return result; }
public static int Coup(joueur joueur) { int x; int y; int result; do { tools.GetPositionFromConsole("Où voulez-vous faire feux? (ex : c6)", out x, out y); result = joueur.grille.tab[x, y].attaque(); } while (result == 4 || result == 5); return result; }
public static void ShowGridPerso(joueur joueur) { Console.WriteLine("| |A|B|C|D|E|F|G|H|I|J|"); for (int i = 0; i < grille.horizontal; i++) { string line1 = "|"; int nbr = (i + 1); if (nbr < 10) { line1 = line1 + nbr + " "; } else { line1 = line1 + nbr; } for (int j = 0; j < grille.vertical; j++) { switch (joueur.grille.tab[i, j].etat) { case etat.eau: line1 = line1 + "| "; break; case etat.bateau: line1 = line1 + "|B"; break; case etat.boum: case etat.plouf: line1 = line1 + "| "; break; default: line1 = line1 + "| "; break; } } line1 = line1 + "|"; Console.WriteLine(line1); } }
public static void PutBoatAuto(joueur joueur, Random rnd) { int x; int y; bool retour = false; direction directiond; do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.PorteAvion, joueur.grille.tab[x, y], directiond); } while (!retour); do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.Croiseur, joueur.grille.tab[x, y], directiond); } while (!retour); do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.ContreTorpilleur, joueur.grille.tab[x, y], directiond); } while (!retour); do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.SousMarin, joueur.grille.tab[x, y], directiond); } while (!retour); do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.Torpilleur1, joueur.grille.tab[x, y], directiond); } while (!retour); do { x = rnd.Next(0, 10); y = rnd.Next(0, 10); int dir = rnd.Next(0, 4); string directionstr = ((direction)dir).ToString(); directiond = GetDirectionFromString(directionstr); retour = joueur.grille.ajoutBateau(joueur.grille.Torpilleur2, joueur.grille.tab[x, y], directiond); } while (!retour); }
public static void PutBoat(joueur joueur) { int x; int y; Console.WriteLine("Mise en place des bateaux de {0}", joueur.Pseudo); bool retour = false; views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre porte avions (5)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.PorteAvion, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre croiseur (4)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.Croiseur, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre contre torpilleur (3)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.ContreTorpilleur, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre sous marin (3)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.SousMarin, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre torpilleur1 (2)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.Torpilleur1, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); do { tools.GetPositionFromConsole("A partir d'où voulez-vous placer votre torpilleur2 (2)? (ex : c6)", out x, out y); direction direction = tools.GetDirectionFromConsole(); retour = joueur.grille.ajoutBateau(joueur.grille.Torpilleur2, joueur.grille.tab[x, y], direction); } while (!retour); views.ShowGridPerso(joueur); }
static void Main(string[] args) { //Console.WriteLine("Comment s'appel le joureur N°1?"); //string nom1 = Console.ReadLine(); //Console.WriteLine("Comment s'appel le joureur N°2?"); //string nom2 = Console.ReadLine(); //joueur joueur1 = new joueur(nom1); //joueur joueur2 = new joueur(nom2); joueur joueur1 = new joueur("Flink"); joueur joueur2 = new joueur("Plop"); Random rnd = new Random(); tools.PutBoatAuto(joueur1, rnd); Console.Clear(); tools.PutBoatAuto(joueur2, rnd); Console.Clear(); joueur current = joueur1; do { if (current == joueur1) { if (joueur1.grille.PorteAvion.coulé && joueur1.grille.SousMarin.coulé && joueur1.grille.Croiseur.coulé && joueur1.grille.ContreTorpilleur.coulé && joueur1.grille.Torpilleur1.coulé && joueur1.grille.Torpilleur2.coulé) { Console.Clear(); views.ShowGrid(joueur1, joueur2); Console.WriteLine("{0} a gagné !", joueur2.Pseudo); Console.ReadKey(); break; } else { views.ShowGrid(joueur1, joueur2); Console.WriteLine("\n{0}, à vouz de jouer !", current.Pseudo); Console.WriteLine("-------------------------------------------"); //int retour = tools.Coup(joueur2); System.Threading.Thread.Sleep(250); int retour = tools.CoupAuto(joueur2, rnd); current = joueur2; Console.Clear(); switch (retour) { case 1: Console.WriteLine("Vous avez coulé un bateau"); break; case 2: Console.WriteLine("Vous avez touché un bateau"); break; case 3 : Console.WriteLine("Malheureusement c'était un coup dans l'eau :("); break; } } } else { if (joueur2.grille.PorteAvion.coulé && joueur2.grille.SousMarin.coulé && joueur2.grille.Croiseur.coulé && joueur2.grille.ContreTorpilleur.coulé && joueur2.grille.Torpilleur1.coulé && joueur2.grille.Torpilleur2.coulé) { Console.Clear(); views.ShowGrid(joueur1, joueur2); Console.WriteLine("{0} a gagné !", joueur1.Pseudo); Console.ReadKey(); break; } else { views.ShowGrid(joueur1, joueur2); Console.WriteLine("\n{0}, à vouz de jouer !", current.Pseudo); Console.WriteLine("-------------------------------------------"); System.Threading.Thread.Sleep(250); int retour = tools.CoupAuto(joueur1, rnd); current = joueur1; Console.Clear(); switch (retour) { case 1: Console.WriteLine("Vous avez coulé un bateau"); break; case 2: Console.WriteLine("Vous avez touché un bateau"); break; case 3: Console.WriteLine("Malheureusement c'était un coup dans l'eau :("); break; } } } } while (true); }