Articles

Connect Four

Questa è un’applicazione web per giocare al noto gioco diConnect Four. Due giocatori (A è rosso, B è giallo) si alternano per riempire il tabellone di monete, cercando di collegare quattro delle proprie monete, sia orizzontalmente, verticalmente o diagonalmente.

Questo progetto è stato sviluppato da Christian Kollmann come progetto nel corso “Software TechnologyProject”, supervisionato da Oswin Aichholzer, al Graz University of Technology.

Il server è scritto in Java 7, usando il framework Spring. Il client è scritto in HTML e JavaScript, usando jQuery. La compatibilità è stata testata in Chromium e MozillaFirefox su Linux e Android. Tuttavia l’applicazione dovrebbe essere compatibile con qualsiasi browser come Microsoft Internet Explorer.

Caratteristiche

  • Ogni giocatore (A e B) può essere controllato da un umano o dal computer (AI)
  • Scegliere il livello dell’AI: “Perfect” farà sempre una mossa ottimale (che potrebbe non essere unica), “Just win” sceglierà casualmente una mossa vincente (se disponibile, e non necessariamente ottimale), “Random” sceglierà casualmente una colonna
  • Info mossa: Facoltativamente mostra il numero di mezze mosse fino alla fine della partita per le mosse possibili
  • Mossa consigliata: Mostra la mossa perfetta per il giocatore corrente (può essere più di una mossa)
  • Undo/Redo: Annulla l’ultima mossa(e) fatta(e) da uno dei due giocatori
  • Salva/Carica: Salva la partita (in memoria locale, fornita da HTML5) per riprendere la partita in seguito

Basics

L’IA di questo gioco è basata su una valutazione esaustiva di tutte le possibili posizioni di gioco fino a 23 monete, memorizzate in un grande database. Le schede con 24 o più monete sono valutate direttamente sul server. Per ogni possibile tavola è noto il suo stato (vittoria del giocatore attuale, vittoria del giocatore avversario, patta), così come il numero minimo di mezze mosse necessarie per forzare una vittoria da questa tavola. Un numero pari mostra in quante altre mezze mosse la partita può essere vinta piazzando la moneta in quella colonna (assumendo un gioco ottimale dell’avversario, altrimenti si può vincere più velocemente). Un numero dispari mostra il numero massimo di mezze mosse che si può ritardare la vittoria dell’avversario (sempre assumendo un gioco ottimale di difesa dell’avversario). Una ‘D’ indica una posizione in cui il giocatore attuale può forzare una patta. Quindi un numero pari indica una mossa vincente, che garantisce una vittoria al giocatore attuale (se continua a giocare in modo ottimale) in almeno questo numero di mezze mosse. Una mossa vincente ottimale è una mossa che garantisce la più breve sequenza disponibile di mezze mosse fino alla vittoria del giocatore. In totale, la base di dati esaustiva sottostante non solo conferma che Connect Four è una vittoria del primo giocatore. Mostra per ogni possibile situazione sulla tavola l’informazione completa per tutte le mosse possibili, fornendo così un’informazione perfetta per analizzare l’intera partita.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *