PDA

View Full Version : [Python] Straccia camicia?


paper-8
24-02-2009, 18:09
Buongiorno a tutti, questo è la mia prima discussione su questo forum, anche se lo visitavo oramai da tempo :D

Ieri stavo viaggiando in treno, quando abbiamo cominciato a giocare a carte, ad un gioco detto 'straccia camicia' (non se lo conoscete: http://it.wikipedia.org/wiki/Straccia_camicia )
e abbiamo cominciato a discutere sulle possibilità che il gioco diventi infinito.

Allora abbiam pensato 'Perché non fare un programma che gioca con se stesso?' (dato che il gioco è meccanico, non bisogna prendere decisioni e non ci sono fattori random, se non i mazzi)

All'inizio pensavo fosse semplice, ma poi provando e riprovando non sono riuscito a fare un programma funzionale, dove dando i due mazzi, lui restituiva il mazzo vincente, con il numero di mosse necessario.

Conoscete qualcuno che ha già fatto un programma simile o mi sapete dare qualche dritta su come farlo? (programmo in python in un livello medio-basso)
(non so se son stato chiaro :D )

Grazie a tutti :)

cdimauro
24-02-2009, 19:30
Intanto posta il codice che hai già scritto, così possiamo vedere cos'hai realizzato.

wingman87
24-02-2009, 20:02
Mia madre mi aveva insegnato un gioco simile quando ero piccolo ma lo chiamava crepacuore. Praticamente a turno si girava la prima carta del proprio mazzetto, se nella pila comune la carta in cima era uguale il giocatore di turno aggiungeva la pila al suo mazzetto.

picoli
01-05-2010, 15:32
mi sono posto la stessa domanda una decina di anni fa...
io l'ho scritto in C++ se ti interessa...
però simula soltanto partite a ripetizione e dà in output quelle che si completano in un numero di mosse magggiore di x (io ho impostato 10000 come cutoff) - per individuare la "partita perpetua", il sotware dovrebbe essere in grado di riconoscere, durante una partita, una distribuzione di carte "già vista", con notevole aumento della complessità del software e del carico computazionale.
credo che la risposta, più che un software, te la possa fornire un matematico...
ad ogni modo ecco il codice - divertiti