|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectValutaMosse
public class ValutaMosse
Questa classe contiene utilita' per decidere la mossa migliore
tra quelle possibili.
Ogni situazione di scacchiera ha, dal punto di vista di un giocatore,
una valutazione numerica che si calcola contando il numero di pedine
e dame sue e avversarie, e contando se eventualmente la partita
e' stata vinta da lui o dall'avversario.
Una mossa e' valutata nel modo seguente: si simula la mossa,
si simulano tutte le possibili contromosse avversarie,
si considera la situazione peggiore in cui ci si potrebbe
trovare (dopo questa mossa e la contromossa avversaria).
La mossa migliore, per questo giocatore, e' quella che genera, dopo
la peggiore contromossa avversaria, la situazione migliore per me.
Field Summary | |
---|---|
protected java.util.Random |
generatoreCasuale
Generatore casuale per scegliere tra due mosse con stessa valutazione. |
Gioco |
gioco
Il gioco di cui cerco la mossa migliore allo stato attuale. |
Mossa |
migliorMossa
La mossa migliore tra tutte quelle valutate finora. |
int |
migliorValutaz
La valutazione della mossa migliore tra tutte quelle valutate finora. |
protected Mossa |
peggiorContromossa
La contromossa peggiore (migliore per l'avversario) fra tutte le contromosse finora valutate alla mossa memorizzata in migliorMossa. |
protected int |
peggiorValutaz
La valutazione della contromossa peggiore (migliore per l'avversario) fra tutte le contromosse finora valutate alla mossa memorizzata in migliorMossa. |
protected int[] |
pezziMangiati1
Array che salva i pezzi avversari mangiati nella mossa simulata di questo gicatore. |
protected int[] |
pezziMangiati2
Array che salva i pezzi avversari mangiati nella contromossa simulata dell'avversario. |
protected Mossa |
simulata1
Mossa simulata di questo giocatore. |
protected Mossa |
simulata2
Contromossa avversaria simulata |
Constructor Summary | |
---|---|
ValutaMosse(Gioco g)
Crea valutatore di mosse per il gioco dato. |
Method Summary | |
---|---|
protected void |
disfaSimulazione()
Disfa la mossa simulata. |
protected boolean |
eNuovaMigliore(int val)
Controlla se il valore e' migliore della valutazione di quella che finora e' la mossa migliore, memorizzata in migliorMossa. |
protected boolean |
eNuovaPeggiore(int val)
Controlla se il valore e' peggiore della valutazione di quella che finora e' la contromossa peggiore (migliore per l'avversario), memorizzata in peggiorContromossa. |
Mossa |
mossaMigliore(int colore)
Calcola e ritorna la mossa valutata migliore per il giocatore del colore assegnato. |
protected void |
salvaPezzi(int[] array,
java.util.LinkedList caselle)
Salva in un array le posizioni presenti in lista (serve per salvare le caselle mangiate da una mossa). |
protected void |
simula(Mossa m)
Simula la mossa sulla scacchiera. |
int |
valuta(int colore)
Valuta la situazione attuale della scacchiera dal punto di vista del giocatore di colore assegnato. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public Gioco gioco
protected java.util.Random generatoreCasuale
public Mossa migliorMossa
public int migliorValutaz
protected Mossa peggiorContromossa
protected int peggiorValutaz
protected Mossa simulata1
protected int[] pezziMangiati1
protected Mossa simulata2
protected int[] pezziMangiati2
Constructor Detail |
---|
public ValutaMosse(Gioco g)
g
- il gioco in cui si vogliono trovare le mosse miglioriMethod Detail |
---|
protected void salvaPezzi(int[] array, java.util.LinkedList caselle)
array
- array nel quale salvare le posizionicaselle
- lista che contiene le posizioni da salvareprotected void simula(Mossa m)
la
- mossa da simulareprotected void disfaSimulazione()
public int valuta(int colore)
colore
- colore del giocatore di cui si vuole trovare
la miglior mossa possibile nello stato attualeprotected boolean eNuovaMigliore(int val)
protected boolean eNuovaPeggiore(int val)
public Mossa mossaMigliore(int colore)
colore
- colore del giocatore di cui si vuole trovare
la miglior mossa possibile nello stato attuale
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |