2010-11-01 14 views
5

Mahjong è uno dei giochi più popolari in Asia (non lo stile di solitario trovato in Windows 7). C'erano molti giochi Mahjong là fuori, compresi quelli online di Yahoo o quelli offline nei giorni del DOS!Come implementare un gioco Mahjong?

Un altro giorno stavo pensando a me stesso, come posso scriverne uno (esclusa la GUI)?

La parte di modellazione dati è semplice.

Le regole di vincita e di punteggio sono ... la corrispondenza di modelli?

La parte strategica del gioco, come determinare quale tessera buttare fuori e quando fare le mosse di Chow o Pong è la parte più difficile. Come implementarlo?

Grazie!

di ricerca:

+0

suona come un progetto interessante. Hai esaminato eventuali implementazioni open source per vedere come l'hanno fatto? http://www.google.com/search?q=open+source+mahjong – David

+0

Non ho esaminato alcuna implementazione open source, non so se ce ne sono. Forse dovrei iniziarne una. – Henry

+0

È possibile utilizzare un approccio simile a un risolutore di Sudoku? usando backtracking, ecc. Ecco venti sudoku risolutori (in Haskell) http://www.haskell.org/haskellwiki/Sudoku. Gli approcci possono aiutarti nella ricerca di algoritmi per risolvere altri giochi/puzzle. –

risposta

1

Leggi questo

http://homepage.mac.com/s_lott/books/python/html/p05/p05c05_mahjongg.html

Potrebbe aiutare.

"determinare quale tessera buttare fuori" è in realtà piuttosto semplice. Dati gli scarti e la natura della mano, definire una mano "pronta" è una questione di determinare quali set potenziali hanno le tessere più disponibili (non scartate, non in gioco).

Ciascuna tessera appartiene a uno dei tanti possibili schemi (coppia, fino a 3 chows, pung, kong). È facile calcolare le tessere richieste per riempire il modello. È facile ridurre il numero di tessere possibili in base a ciò che viene riprodotto e a ciò che è esposto. I modelli possibili risultanti possono essere classificati. Gli scarti vengono scelti dalle combinazioni più difficili da riempire.

[Vai a questa http://www.amazon.com/Mah-Jong-Handbook-Play-Score/dp/0804838747]

+0

Grazie, ma voglio qualcosa di più di questo ... – Henry

+0

@Henry: "Grazie, ma voglio qualcosa di più di questo". Per favore ** aggiorna ** la tua domanda per definire cosa intendi con "altro". –

+0

Questo link è pesante sul modello di dati, ma un po 'debole sul lato intelligence/strategico, che è la parte più difficile – Henry

Problemi correlati