using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Azzera
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Azzera la matrice:");
Istruzioni();
Ciclo();
Console.Write("\n\nFine... ");
Console.ReadKey(true);
}
static void Ciclo()
{
Scacchiera gioco
= new Scacchiera
();
char risposta = ' ';
Console.WriteLine("\n\nInizia il gioco.");
while (!gioco.FineGioco())
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"\n{gioco.ToString()}\n");
Console.ForegroundColor = ConsoleColor.Gray;
if (gioco.Mano() >30000)
{
Console.WriteLine("Superato il massimo valore di tentativi consebtiti.");
return;
}
do
{
Console.Write("{0,3}° mossa ? ", gioco.Mano() + 1);
risposta = Console.ReadKey(true).KeyChar;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"{risposta}");
Console.ForegroundColor = ConsoleColor.Gray;
} while (!gioco.Mossa(risposta));
}
Console.WriteLine();
Console.WriteLine("Complimenti !\nAhi vinto in sole {0} mosse!!", gioco.Mano());
}
static void Istruzioni()
{
Console.WriteLine("Questo avvincente solitario metterà sicuramente a\ndura prova la vostra capacità di concentrazione e\nla vostra pazienza.All'inizio vi troverete di " +
"\nfronte ad una scacchiera composta da nove caselle,\nall'interno delle quali sono racchiusi dei numeri \ncompresi tra 0 e 5.Alle caselle corrispondono le" +
"\nlettere visualizzate accanto alla scacchiera, che sono:\n\nQ W E\nA S D\nZ X C\n\n" +
"Il gioco avviene appunto utilizzando i tasti cotrassegnati\nda queste nove lettere.Premendo il tasto Q, ad esempio," +
"\naumentano di una unità i numeri racchiusi nelle caselle\ndella riga e della colonna di cui la casella Q fa parte:" +
"\nin questo caso, cioè, si modificheranno i numeri delle\ncaselle Q, W, E, A, Z.Seguendo questo procedimento dovrete," +
"\ne la cosa non sarà poi così semplice, rendere uguali\na zero tutti i numeri della scacchiera.\nBuona fortuna!");
}
}
}