Information Technology Reference
In-Depth Information
Werte jedes Feldes werden im Array posValues gespeichert, das im globalen Namens-
bereich der Klasse ChessBoard definiert ist.
float[] posvalues = {0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0
.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,
0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.01f,0.02f,0.03f,0.03f
,0.02f,0.01f,0.00f,0.00f,0.00f,0.01f,0.04f,0.04f,0.04f,0.04
f,0.04f,0.04f,0.01f,0.00f,0.00f,0.03f,0.04f,0.06f,0.06f,0.0
6f,0.06f,0.04f,0.02f,0.00f,0.00f,0.03f,0.04f,0.06f,0.08f,0.
08f,0.06f,0.04f,0.03f,0.00f,0.00f,0.03f,0.04f,0.06f,0.08f,0
.08f,0.06f,0.04f,0.03f,0.00f,0.00f,0.02f,0.04f,0.06f,0.06f,
0.06f,0.06f,0.04f,0.02f,0.00f,0.00f,0.01f,0.04f,0.04f,0.04f
,0.04f,0.04f,0.04f,0.01f,0.00f,0.00f,0.00f,0.01f,0.02f,0.03
f,0.03f,0.02f,0.01f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.0
0f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.00f,0.
00f,0.00f,0.00f,0.00f,0.00f,0.00f};
Die Bewertungsfunktion evalutatePosition() gestaltet sich demnach wie folgt:
public float evaluatePosition() {
float value = 0;
float figur = 0;
for (int i = 21; i < 99; i++) {
if (board[i] != 0) {
// material
switch (board[i] % 10) {
case 1:
figur = 1.0f;
break;
case 2:
case 3:
figur = 3.0f;
break;
case 4:
figur = 4.5f;
break;
case 5:
figur = 9.0f;
break;
case 6:
figur = 0.0f;
}
// position
figur += posvalues[i];
if (board[i] % 100 / 10 == color)
value += figur;
else
value -= figur;
}
if (i % 10 == 8)
i += 2;
}
Search WWH ::




Custom Search