public GameResult PlayGame() { logger.Log(this, $"Request to Admiral {admiralWhite.Nome} to set the fleet..."); admiralWhite.PosizionaFlotta(); logger.Log(this, $"Request to Admiral {admiralWhite.Nome} to set the fleet completed."); logger.Log(this, $"Request to Admiral {admiralBlack.Nome} to set the fleet..."); admiralBlack.PosizionaFlotta(); logger.Log(this, $"Request to Admiral {admiralBlack.Nome} to set the fleet completed."); int turn = 1; attacker = admiralWhite; defender = admiralBlack; while (!gameEnded && turn <= 500) { //logger.Log(this, $"Turn {turn} : Attacker is {attacker.Nome}, defender is {defender.Nome}."); //logger.Log(this, $"Request to attacker {attacker.Nome} to shot..."); Coordinate sparo = attacker.Spara(); logger.Log(this, $"[{turn}] Attacker {attacker.Nome} shooted at ({sparo.Riga}, {sparo.Colonna})."); // Forza lo sparo in (2,1) // sparo = new Coordinate(2, 1); //logger.Log(this, $"Request to defender {defender.Nome} to report shot effects..."); EffettoSparo effetto = defender.Rapporto(sparo); logger.Log(this, $"Defender {defender.Nome} reported '{TestoEffetto(effetto)}'."); //logger.Log(this, $"Report to attacker {attacker.Nome} shot effects..."); attacker.RiceviRapporto(effetto); //logger.Log(this, $"Report to attacker {attacker.Nome} delivered."); //logger.Log(this, $"Swap attacker and defender and start new turn."); SwapRoles(); turn++; } return(new GameResult(winner, looser)); }