-
What's new
-
System requirement
-
Il programma
-
Extensions
-
Le regole
Versione 1.0 (22/09/2005)
- prima versone del programma
Java Runtime Environment Standard Edition versione 1.5 o superiore
risoluzione 1024x768 o superiore
Il programma per mette di giocare a Domino contro 2, 3 o 4 avversari
controllati dal pc
Di default è presente una sola AI (CpuPlayer) ma il
programma può caricare dinamicamente AI prodotte da terzi da
assegnare a diversi giocatori in modo da rendere le partite più
imprevedibili
L'interfaccia dell'estensione è descritta nella sezione
successiva
Per avviare il programma digitare "java -jar Domino.jar" o doppio click
sul file se l'estensione .jar è associata al programma JRE
Nel caso di 3 giocatori la 14esima carta è assegnata casualmente
Extensions
Il programma può caricare, per
ogni singolo giocatore, delle AI esterne che rispettino l'interfaccia
definita dalla classe astratta Domino.Giocatore
Il gioco prima di iniziare una nuova partita cerca nella sua directory
classi che estendono Domino.Giocatore e se queste sono presenti vengono
caricate nella lista delle AI disponibili per i 4 giocatori
controllabili dal computer
la classe deve avere un nome diverso da "CpuPlayer" , "RandomPlayer" ,
"LocalPlayer" e "NetPlayer"
creare un nuovo file (ad esempio NuovaCPU.java) nella stessa directory
dove è presente il file Domino.jar con la seguente struttura e
compilarlo con il comando "javac -cp Domino.jar NuovaCPU.java" il file
class generato verrà rilevato dal programma ogni volta che
sarà eseguito
la sua struttura deve essere cosi
import Domino.*;
public class NuovaCPU extends Giocatore{
public static String about(){
return "Informazioni sull'estensione";
}
public NuovaCPU(String nome,Domino d){
//nome: il nome nel giocatore
//d: il tavolo da gioco che vede il giocatore
super(nome,d);
}
public Carta getCarta(){
/*
Metodo astratto da implementare che restituirà la carta
oppure null se non può giocare una carta valida
Per un maggiore realismo, prima dell'istruzione return
si può assegnare alla variabile protected int id il numero
corrispondente alla carta giocata
I metodi da usare sono:
this.nValid()
che restituisce il numero di carte giocabili
This.isValidAdd(int c)
che restituisce true se la carta può essere giocata
This.esisteC(int c)
che resituisce true se la carta è stata giocata
This.esisteC(int s,int v)
che resituisce true se la carta di seme s e valore v è stata giocata
*/
}
}
/*
un oggetto di tipo Carta ha i seguenti campi
public final int carta;
public final int valore;
public final int seme;
che definiscono l'id della carta (da 1 a 40)
il suo valore (da 1 a 10)
e il suo seme (da 1 a 4)
public boolean valid;
public int pr;
che possono essere usati per assegnare attributi di validità e priorità alle carte
*/
Le regole
Si può giocare in 3, 4, 5
giocatori.
Distribuite le carte,nel caso di 4 o 5 giocatori ,chi ha il 5 di quadri
lo pone sul tavolo mentre nel caso di 3 giocatori inizia chi ha una
carta in più
Le carte giocate sono poste ordinatamente in modo da formare file dello
stesso seme.
Si gioca in senso orario, ogni giocatore mette una carta oppure passa.
Ogni giocatore deve cercare di attaccare una carta adiacente a quelle
in tavola, oppure un 5. Se non si hanno carte da depositare in tavola
si passa.
Si continua così finchè tutti i giocatori rimangono senza
carte, lo scopo è finire le carte il prima possibile