Non mi dilungherò in questa parte anche perché è quasi tutto spiegato nel codice e sarebbe inutile spiegare passo-passo come sono arrivato a scriverlo.
Per prima cosa, ho scelto il software. Per il problema di soddisfacimento ho usato GLPK, un risolutore lineare che supporta una sintassi molto flessibile e soprattutto è free. Con questo risultato. L'output non è molto leggibile ma la risoluzione è corretta.
Successivamente ho tradotto tutto in uno script Python che simula una partita di Machiavelli, il computer contro sé stesso, con risultati come questo, di cui pubblico un estratto.
Nota: non avendo molta dimestichezza col Python, il codice potrebbe non essere molto "elegante", diciamo.
(...) Contenuto del tabellone A♥ A♠ A♣ Q♥ Q♦ Q♠ 6♠ 7♠ 8♠ 9♠ 10♠ A♣ 2♣ J♣ Q♣ K♣ Turno del giocatore 1 Carte del giocatore 1: 4♦ 4♦ 4♠ 7♥ 8♣ 8♦ 6♦ 10♥ K♦ 8♣ 3♥ 3♣ 2♥ Il giocatore 1 cala le carte: 3♣ Contenuto del tabellone A♥ A♠ A♣ Q♥ Q♦ Q♠ 6♠ 7♠ 8♠ 9♠ 10♠ A♣ 2♣ 3♣ J♣ Q♣ K♣ Turno del giocatore 2 Carte del giocatore 2: 4♥ 5♣ 5♦ 9♦ K♥ 7♥ Q♦ 4♠ 6♣ 2♠ 2♦ J♦ 10♥ K♠ 10♠ J♥ Il giocatore 2 cala le carte: J♦ J♥ Contenuto del tabellone J♥ J♦ J♣ Q♥ Q♦ Q♠ Q♣ A♥ A♠ A♣ 6♠ 7♠ 8♠ 9♠ 10♠ A♣ 2♣ 3♣ K♣ Turno del giocatore 0 Carte del giocatore 0: 3♦ 9♥ 8♥ J♥ 6♠ 8♥ 2♠ 5♥ 8♦ 10♦ 7♦ K♦ 5♥ Il giocatore 0 pesca una carta dal mazzo: 4♣ Turno del giocatore 1 Carte del giocatore 1: 4♦ 4♦ 4♠ 7♥ 8♣ 8♦ 6♦ 10♥ K♦ 8♣ 3♥ 2♥ Il giocatore 1 pesca una carta dal mazzo: 2♥ Turno del giocatore 2 Carte del giocatore 2: 4♥ 5♣ 5♦ 9♦ K♥ 7♥ Q♦ 4♠ 6♣ 2♠ 2♦ 10♥ K♠ 10♠ Il giocatore 2 cala le carte: K♥ K♠ Contenuto del tabellone A♥ A♠ A♣ Q♥ Q♦ Q♠ Q♣ J♥ J♦ J♣ K♥ K♠ K♣ 6♠ 7♠ 8♠ 9♠ 10♠ A♣ 2♣ 3♣ (...)
Nessun commento:
Posta un commento
Aggiungi un commento