Hai pienamente ragione da ogni punto di vista.magnete ha scritto:Dario:
1) Si. Se il giocatore si ferma con 12 e il banco ha 15 deve comunque tirare carta
2) non ho capito la domanda. Ma qui ci sono un po' di regole che forse ti possono essere utili
3) in caso di parità nessuno vince niente e nessuno perde nulla
Devi comunque considerare che per la tua applicazione le mosse non sono 2 (tirare o fermarsi), ma 5: tirare carta, fermarsi, raddoppiare, dividere e in alcuni casi arrendersi. Inoltre secondo me l'applicazione che intendi realizzare è già esistente. Si chiama strategia di base e qui http://www.blackjack-online.bz/strategia-base/ ci dovrebbe essere un link ad un sito americano che calcola ciò che è più conveniente.
Tieni comunque a mente che il blackjack non è così semplice come si possa pensare perchè non accade come nel poker che ci sono quelle 4 regole e quelle rimangono, ma ogni casinò ha varianti differenti da un altro. Stessa cosa per i tornei di black jack.
Studiando un metodo per calcolare le probabilità mi sono accorto che in effetti il black-jack è molto più complesso del poker... nel poker alla fin fine il giocatore non fa nulla che infierisca sul risultato finale (si intende in punteggio); mentre nel black-jack il giocatore ha fin troppe scelte. Il mio script l'avevo quasi finito ma mi sono accorto che nel peggiore dei casi (che ho stimato essere quando io ho ASSO-DUE e il mazziere DUE) impiegava decisamente troppo tempo.
Ho guardato quel sito americano... quella cosa da fare è quasi banale... io volevo fare una roba più ambiziosa: prendeva in considerazione quello che si aveva in mano, quello che aveva il mazziere e quello che restava nel mazzo... faceva tutte le prove necessarie (che in alcuni casi sono davvero molte) e restituiva la probabilità esatta di vincere "stando" oppure pescando carta. L'algoritmo è abbastanza complesso e se mai imparerò un linguaggio più decente del js lo tradurrò sperando di ottenere qualcosa di decente. In compenso anche in js riesce a valutare la probabilità del banco di fare più di TOT avendo come punteggio x e conoscendo le carte nel mazzo.
Ho pensato molto a come è possibile ottimizzare il programma, ma l'unica cosa che ho pensato è che se il giocatore ha meno di 11 oppure ha meno di 16 con un asso allora conviene sempre pescare... ma andrebbe dimostrato.
Comunque analizzandolo il black jack si sta rivelando davvero figo xD Prima o poi devo giocarci :)
Per la questione della resa... beh il mio script farebbe anche quello... se la vincita è minore di quella che si ottiene arrendendosi sia chiedendo carta sia stando allora conviene arrendersi.
Per il raddoppiare o dividere... beh è facile aggiungerlo... così alla fine vengono proposte le 5 alternative (oppure solo quelle possibili) con la relativa vincita (stimata): stare, pescare, dividere, raddoppiare, arrendersi.
p.s. grazie per i consigli e per i link :)