Mi spiego meglio:
sto programmando un giochino, e quello che devo fare è poter "mettere in pausa" un ciclo while fino a quando il giocatore non ha fatto la sua mossa. Il ciclo while è, detta in parole povere, una cosa del tipo:
While (qualcuno non ha vinto)
{
Gioco io;
Gioca il computer;
}
Il problema è quel "Gioco io". Non so come fermare il ciclo e fargli aspettare che io abbia mosso. Ho provato con il ThreadPool.QueueUserWorkItem e un AutoResetEvent, ma il problema persiste: avvio il nuovo thread e fermo il thread principale in attesa dell'evento che lo sblocchi. Ma il nuovo thread a sua volta termina subito, dato che anche lui deve aspettare la mia mossa, e non so come fargliela aspettare...
Immagino che sia una banalità, ma non mi viene in mente come risolvere la cosa...
L'alternativa sarebbe quella di eliminare il ciclo while, e collegare le due azioni (gioco io e gioca il computer) con una chiamata alla successiva azione al termine della precedente (con il controllo che nel mentre non sia finita la partita).
Però ormai mi sono fissato, e voglio capire se esiste un modo per fare questa cosa...
Grazie a tutti.
Ciao.