Connect Four

Italian only

Scopo del progetto, e` lo sviluppo in Java di un sistema client/server che permette lo svolgimento di partite di Forza 4 tra due giocatori client che si connettono ad un server di gestione del gioco. Forza 4 e` un gioco a turni tra due giocatori g0 e g1: un giocatore gi aspetta il proprio turno per giocare la propria mossa, che naturalmente viene scelta valutando lo stato del gioco, e quindi lascia il turno all'avversario gi+1 mod 2.

Specifiche (estratto)

  1. Il server gestisce piu` partite contemporaneamente, in numero comunque limitato e configurabile.
  2. Ogni client si collega al server scegliendo ed utilizzando un nickname. Tale nickname identifica univocamente quel client: ogni client puo` vedere la lista (ad esempio in un opportuno widget della GUI) dei nickname di tutti i client connessi al server. Non deve quindi essere possibile che un client si colleghi al server scegliendo un nickname gia` associato a qualche client connesso. La lista dei nickname cambia dinamicamente con le connessioni/disconessioni dei client al server.
  3. La GUI del server permette all'amministratore che gestisce le partite di estromettere in qualsiasi momento un client connesso al server. L'utente dal lato client dovra` essere opportunamente avvisato dell'avvenuta estromissione dal gioco da parte del server.
  4. Ciascun client puo` giocare in modalita` a giocatore singolo, contro l'algoritmo programmato; e` inoltre possibile concludere la partita contro il computer nel caso di abbandono dell'avversario.

Funzionamento AI

Per il funzionamento del sistema di intelligenza artificiale (AI), e` stato ideato ed utilizzato un "algoritmo greedy", che prevede di effettuare la mossa che, all'istante corrente, da` l'impressione di massimizzare il soddisfacimento dell'automa.

Tale algoritmo prevede quindi di effetturare uno mossa in difesa o una in attacco, in base alla situazione della partita corrente.

Attenzione: il seguente progetto e` da ritenersi un "progetto didattico", che attualmente non prevede manutenimento e di cui non si da` alcuna garanzia in termini di reale funzionamento.

Screenshots

Server

Client

     

Downloads

[Situation: 802.11 enable notebook in a parking area recording] By late afternoon, the hard disk will be full of valuable goodies. Theoretically, this leakage is not supposed to happen. Theoretically, people are not supposed to rob banks, either. — Andrew S. Tanenbaum


free counters