Minimax søgetræ
HejJeg er ved at lave et minimax søgetræ. Indtil videre virker det ikke med skift af tur, hvilket også er underordnet i første omgang. Problemet er når jeg skal have "trukket" evalueringer op igennem træet.
Som start sættes evalueringer til 200, og nå den sidste dybde opnåes findes de rigtige værdier. Det er så de værdier der skal sammen lignes med parentNoden og derefter overskrive dennes evaluering.
Håber i kan hjælpe...
Mvh
Frost
Koden:
public static LinkedList nodeList = new LinkedList();
public static double MiniMax (int maxDepth,int depth, boolean tur)
{
Node parentNode = (Node)nodeList.get(n);
Node parentNode1;
if (depth == maxDepth)
{
parentNode1 = (Node) nodeList.getLast();
parentNode = parentNode1.clone();
parentNode.setEvaluation(n);
}
else
{
LinkedList tempMoves = Moves1(parentNode.getNodeBoard(),tur);
depth++;
for(int i = 0; i<tempMoves.size();i++)
{
n++;
nodeList.add((Object)new Node((byte[])tempMoves.get(i),parentNode.getId(),200,n));
parentNode = (Node) nodeList.get(n);
double eval = MiniMax(maxDepth,depth,tur);
System.out.println("eval " + eval + " nodeID " + parentNode.getId());
if (parentNode.getEvaluation() == 200)
{
parentNode.setEvaluation(eval);
}
else if (parentNode.getEvaluation() < eval )
{
parentNode.setEvaluation(eval);
}
}
}
return parentNode.getEvaluation();
}