/// <summary> /// Cette fonction va permettre de jumeler des tables qui ont le même nombre de places /// On ne peut, pour l'instant, que jumeler deux tables /// </summary> /// <param name=""></param> public TableCombinee jumelerTables(TableJumelable table) { TableCombinee t = null; if (!(this.GetType() == t.GetType()) || (table.GetType() == t.GetType())) // On ne combine pas plusieurs tables qui sont déjà combinés { Console.WriteLine("Il faut que les deux côtés des tables que vous voulez jumeler aient le même nombre de places "); Console.WriteLine(""); bool intEntered = false; string demande; int monCoteAJumeler = 0, sonCoteAJumeler = 0; bool[] mesCotesNonJumeles = this.cotesNonJumele(); bool[] sesCotesNonJumeles = table.cotesNonJumele(); while ((intEntered == false) && (mesCotesNonJumeles[monCoteAJumeler] != true)) // Il faut absolument que ce qu'entre l'utilisateur soit un nombre { for (int i = 0; i < mesCotesNonJumeles.Length; i++) { if (mesCotesNonJumeles[i] == true) { Console.WriteLine("Côte N°{0}, nombre de places : {1}", i, this.monNbPlaces[i]); } } Console.WriteLine("A quel côté de ma table l'autre serat-telle jumelée ?"); Console.Write("-> "); demande = Console.ReadLine(); intEntered = Int32.TryParse(demande, out monCoteAJumeler); } intEntered = false; while ((intEntered == false) && (sesCotesNonJumeles[sonCoteAJumeler] != true)) // Il faut absolument que ce qu'entre l'utilisateur soit un nombre { for (int i = 0; i < sesCotesNonJumeles.Length; i++) { if (sesCotesNonJumeles[i] == true) { Console.WriteLine("Côte N°{0}, nombre de places : {1}", i, table.monNbPlaces[i]); } } Console.WriteLine("A quel côté de l'autre table je serai jumelée ?"); Console.Write("-> "); demande = Console.ReadLine(); intEntered = Int32.TryParse(demande, out monCoteAJumeler); } if (this.monNbPlaces[monCoteAJumeler] == table.monNbPlaces[sonCoteAJumeler]) { this.mesCotesJumeles[monCoteAJumeler] = table; table.mesCotesJumeles[monCoteAJumeler] = this; int nbCotes = this.nbCotesNonJumele() + table.nbCotesNonJumele(); t = new TableCombinee(nbCotes, this, table); } else { Console.WriteLine("Les côtes que vous avez choisi n'ont pas le même nombre de places"); } } return(t); }
public void ajouterTable(TableJumelable t) { MesTablesMeComposant.Add(t); }
/// <summary> /// Cette fonction va permettre de /// </summary> /// <param name=""></param> public List <TableJumelable> dejumelerTables(TableJumelable table) { List <TableJumelable> list = new List <TableJumelable>(); return(list); }
public TableCombinee(int nbCotes, TableJumelable t1, TableJumelable t2) : base(nbCotes) { ajouterTable(t1); ajouterTable(t2); }