public void PosizioneNavi(Ship[] fleet) { // Crea le navi Ship s1 = fleet[0]; //new ship (x) -> lunghezza nave Ship s2 = fleet[1]; Ship s3 = fleet[2]; Ship s4 = fleet[3]; Ship s5 = fleet[4]; // Metti le navi seaMap[2, 1] = new SeaCell(s1, 0); //lo 0 si riferisce all'index della nave (cioè la parte della nave, sarebbe 1 ma l'indice parte da 0) seaMap[0, 2] = new SeaCell(s2, 0); seaMap[0, 3] = new SeaCell(s2, 1); seaMap[1, 5] = new SeaCell(s3, 0); seaMap[2, 5] = new SeaCell(s3, 1); seaMap[3, 5] = new SeaCell(s3, 2); seaMap[4, 0] = new SeaCell(s4, 0); seaMap[5, 0] = new SeaCell(s4, 1); seaMap[6, 0] = new SeaCell(s4, 2); seaMap[7, 0] = new SeaCell(s4, 3); seaMap[6, 2] = new SeaCell(s5, 0); seaMap[6, 3] = new SeaCell(s5, 1); seaMap[6, 4] = new SeaCell(s5, 2); seaMap[6, 5] = new SeaCell(s5, 3); seaMap[6, 6] = new SeaCell(s5, 4); }
public Stratega() { // Inizializza mare vuoto seaMap = new SeaCell[10, 10]; for (int riga = 0; riga < 10; riga++) { for (int colonna = 0; colonna < 10; colonna++) { seaMap[riga, colonna] = new SeaCell(); } } }
public EffettoSparo RiceviColpoFaiRapporto(Coordinate coordinate) { EffettoSparo risultato = EffettoSparo.Acqua; SeaCell seaCell = seaMap[coordinate.Riga, coordinate.Colonna]; if (!seaCell.IsEmpty) //se non (!) è vuoto { //Errore: //risultato = EffettoSparo.Acqua; risultato = EffettoSparo.Colpito; Ship ship = seaCell.Ship; int partIndex = seaCell.PartIndex; if (ship.Colpita(partIndex)) { risultato = EffettoSparo.Affondato; } } return(risultato); }