public EffettoSparo Rapporto(Coordinate sparo) { CoordinataXY coordinataSparoRicevuta = new CoordinataXY(sparo.Riga, sparo.Colonna); for (int i = 0; i < flotta.Length; i++) { for (int j = 0; j < flotta[i].ParteNave.Length; j++) { if (flotta[i].ParteNave[j].GetCoordinata().Equals(coordinataSparoRicevuta)) { int partiNaveDistrutte = 0; for (int k = 0; k < flotta[i].ParteNave.Length; k++) { if (flotta[i].ParteNave[k].Distrutta) { partiNaveDistrutte++; } } if (partiNaveDistrutte == flotta[i].ParteNave.Length) { flotta[i].ParteNave[j].Distrutta = true; return(EffettoSparo.Affondato); } else { flotta[i].ParteNave[j].Distrutta = true; return(EffettoSparo.Colpito); } } } } return(EffettoSparo.Acqua); }
private CoordinataXY RandomSparo() { Random r = new Random(); int sparoRiga = r.Next(0, DIMENSIONEMAPPA - 1); int sparoColonna = r.Next(0, DIMENSIONEMAPPA - 1); CoordinataXY coordinataSparo = new CoordinataXY(sparoRiga, sparoColonna); return(coordinataSparo); }
public Coordinate Spara() { // da implementare il while true e fare un numero massimo di coordinate da cercare while (true) { CoordinataXY coordinataSparo = RandomSparo(); if (!mappaAvversario.getCasella(coordinataSparo).Colpita) // controllo se ho già colpito la casella della mappa avversario { return(new Coordinate(coordinataSparo.Riga, coordinataSparo.Colonna)); } } }