public RésultatDeTir VérifierLeRésultatDuTir(CoordonnéesDeBatailleNavale caseCible) { int nbSection = 0; RésultatDeTir res = RésultatDeTir.Raté; for (int i = 0; i < Sections.Length; i++) { if (caseCible == Sections[i].Position) { Sections[i].Etat = EtatDeSectionDeNavire.Touché; res = RésultatDeTir.Touché; } } for (int j = 0; j < Sections.Length; j++) { if (Sections[j].Etat == EtatDeSectionDeNavire.Touché) { nbSection++; } } if (nbSection == Sections.Length) { this.Etat = EtatDeNavire.Coulé; res = RésultatDeTir.TouchéCoulé; } return(res); }
//public RésultatDeTir VérifierLeRésultatDuTir(CoordonnéesDeBatailleNavale caseCible) //{ // int i = 0; // int couléCount = 0; // RésultatDeTir res = RésultatDeTir.Raté; // while (Navires[i].VérifierLeRésultatDuTir(caseCible) == RésultatDeTir.Raté) // { // if (Navires[i].VérifierLeRésultatDuTir(caseCible) == RésultatDeTir.TouchéCoulé) // { // res = RésultatDeTir.Touché; for (int j = 0; j < Navires.Length; j++) // { // if (Navires[i].Etat == EtatDeNavire.Coulé) // couléCount++; // } // } // i++; // } // if (couléCount >= Navires.Length) // { // res = RésultatDeTir.TouchéCoulé; // } // return res; //} public RésultatDeTir VérifierLeRésultatDuTir(CoordonnéesDeBatailleNavale caseCible) { RésultatDeTir res = RésultatDeTir.Raté; bool couléFinal = true; foreach (UnNavire navire in Navires) { RésultatDeTir resTir = navire.VérifierLeRésultatDuTir(caseCible); if (navire.Etat != EtatDeNavire.Coulé) { couléFinal = false; } if (resTir == RésultatDeTir.Touché) { res = RésultatDeTir.Touché; break; } if (resTir == RésultatDeTir.TouchéCoulé) { res = RésultatDeTir.TouchéCoulé; } } if (couléFinal) { res = RésultatDeTir.TouchéCouléFinal; } return(res); }
public UneSectionDeNavire() { Etat = EtatDeSectionDeNavire.Intact; Position = new CoordonnéesDeBatailleNavale('A', 1); if (Position == null) { throw new ArgumentOutOfRangeException("la position ne peux pas être null"); } }
public CoordonnéesDeBatailleNavale Attaquant_ChoisirLesCoordonnéesDeTir() { Console.WriteLine(Pseudo + "Veuillez choisir une coordonnée valide. Entre 'A' et 'J'."); string saisieLettre = Console.ReadLine(); char letter = Char.Parse(saisieLettre); Console.WriteLine(Pseudo + "Veuillez choisir une coordonnée valide. Entre '1' à '10'"); string saisieChiffre = Console.ReadLine(); byte number = Byte.Parse(saisieChiffre); CoordonnéesDeBatailleNavale data = new CoordonnéesDeBatailleNavale(letter, number); return(data); }
public void Positionner(CoordonnéesDeBatailleNavale coordonnées, OrientationNavire orientation) { char colonne = coordonnées.Colonne; byte ligne = coordonnées.Ligne; for (int i = 0; i < this.Sections.Length; i++) { CoordonnéesDeBatailleNavale coord; if (orientation == OrientationNavire.Horizontal) { coord = new CoordonnéesDeBatailleNavale(colonne, coordonnées.Ligne); } else { coord = new CoordonnéesDeBatailleNavale(coordonnées.Colonne, ligne); } this.Sections[i].Position = coord; colonne++; ligne++; } }
public void JouerLaPartie() { CoordonnéesDeBatailleNavale choixAttaquant = this.Attaquant.Attaquant_ChoisirLesCoordonnéesDeTir(); RésultatDeTir reponseDef = this.Défenseur.Défenseur_FournirLeRésultatDuTir(choixAttaquant); this.Attaquant.Attaquant_GérerLeRésultatDuTir(choixAttaquant, reponseDef); if (reponseDef != RésultatDeTir.TouchéCouléFinal) { this.IntervertirLesRôlesDesJoueurs(); } while (reponseDef != RésultatDeTir.TouchéCouléFinal) { CoordonnéesDeBatailleNavale choixAttaquants = this.Attaquant.Attaquant_ChoisirLesCoordonnéesDeTir(); RésultatDeTir reponseDefs = this.Défenseur.Défenseur_FournirLeRésultatDuTir(choixAttaquants); this.Attaquant.Attaquant_GérerLeRésultatDuTir(choixAttaquants, reponseDefs); if (reponseDefs != RésultatDeTir.TouchéCouléFinal) { this.IntervertirLesRôlesDesJoueurs(); } } Console.WriteLine("Le gagnant est " + this.Attaquant + "."); }
public void Attaquant_GérerLeRésultatDuTir(CoordonnéesDeBatailleNavale coordonnéesDuTir, RésultatDeTir résultatDuTir) { throw new NotImplementedException(); }
public abstract CoordonnéesDeBatailleNavale.RésultatDeTir Défenseur_FournirLeRésultatDuTir(CoordonnéesDeBatailleNavale cbn);
public abstract void Attaquant_GérerLeRésultatDuTir(CoordonnéesDeBatailleNavale cbn, CoordonnéesDeBatailleNavale.RésultatDeTir rt);
public CoordonnéesDeBatailleNavale.RésultatDeTir Défenseur_FournirLeRésultatDuTir(CoordonnéesDeBatailleNavale cbn) { Console.WriteLine(Pseudo + "Veuillez saisir le résultat de tir de (Inconnu, Raté, Touché, TouchéCoulé, TouchéCouléFinal)" + " : " + cbn.Colonne + " " + cbn.Ligne); string saisieChoix = Console.ReadLine(); if (saisieChoix == "Raté") { return(CoordonnéesDeBatailleNavale.RésultatDeTir.Raté); } else if (saisieChoix == "Touché") { return(CoordonnéesDeBatailleNavale.RésultatDeTir.Touché); } else if (saisieChoix == "TouchéCoulé") { return(CoordonnéesDeBatailleNavale.RésultatDeTir.TouchéCoulé); } else if (saisieChoix == "TouchéCouléFinal") { return(CoordonnéesDeBatailleNavale.RésultatDeTir.TouchéCouléFinal); } else { return(CoordonnéesDeBatailleNavale.RésultatDeTir.Inconnu); } }
public void Attaquant_GérerLeRésultatDuTir(CoordonnéesDeBatailleNavale cbn, CoordonnéesDeBatailleNavale.RésultatDeTir rt) { Console.WriteLine(rt); }