Skip to content

Commit cdd9879

Browse files
author
Benjamin Hartmann
committed
Correction in chess board evaluation example
1 parent f66639d commit cdd9879

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

content/uebungsanleitungen/programmieren/scratch/chess/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Unser Programm wird mit den schwarzen Figuren spielen, der Benutzer hat Weiß.
3333
{{< imgblock "img/chess-eval-code.png" "Brettbewertung" 8 >}}
3434
Die Brettbewertung programmieren wir in der Funktion „EvaluateBoard“. Wichtig ist, dass wir dafür ide Option „Ohne Bildschirmaktualisierung laufen lassen“ auswählen (Rechtsklick auf Funktionskopf, dann „Bearbeiten“ - das gilt für alle Blöcke). Das Programm wäre sonst zu langsam.
3535

36-
Die Bewertung setzt sich aus dem Figurenmaterial und der Position der Figuren am Brett zusammen. Jede Figur hat einen Wert, am meisten der König (20000), da ein geschlagener König Schachmatt bedeutet. Dann die Dame (900), die Türme (500), und so weiter. Die Figuren des Gegners sind mit negativem Vorzeichen versehen, damit die Werte addiert werden können. Ein Spieler, der einen Bauern und einen Turm mehr hat als sein Gegner, hat eine Bewertung von 900 + 500 = 1400. Somit können wir den Zug suchen, der in der Zukunft die beste Bewertung verspricht.
36+
Die Bewertung setzt sich aus dem Figurenmaterial und der Position der Figuren am Brett zusammen. Jede Figur hat einen Wert, am meisten der König (20000), da ein geschlagener König Schachmatt bedeutet. Dann die Dame (900), die Türme (500), und so weiter. Die Figuren des Gegners sind mit negativem Vorzeichen versehen, damit die Werte addiert werden können. Ein Spieler, der einen Bauern und einen Turm mehr hat als sein Gegner, hat eine Bewertung von 100 + 500 = 600. Somit können wir den Zug suchen, der in der Zukunft die beste Bewertung verspricht.
3737

3838
Der Wert jeder Figur ist bereits in Variablen namens „BlackKing“, „WhiteKing“ usw. gespeichert. Unser aktuelles Schachbrett selbst steht in der Liste „Board“. Board hat 64 Einträge, einen für jedes Feld. In einer Schleife mit 64 Iterationen zählen wir dann die Werte aller Figuren zusammen.
3939

content/uebungsanleitungen/programmieren/scratch/en/chess/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Our program will play with the black pieces, the user plays white.
3333
{{< imgblock "img/chess-eval-code-en.png" "Board evaluation" 8 >}}
3434
The board evaluation is implemented by the custom block "EvaluateBoard". It is important to select the option "Run without screen refresh" (right-click on the custom block header, then "Edit"). Otherwise our program would be too slow.
3535

36-
Our evaluation is composed of the material and position values. Each piece has an assigned value; a king is ranked higher than everything else combined (20,000), as a defeated king means loss by checkmate. Next comes the queen (900), then rooks (500), and so on. The opponent's pieces have a negative value so that all numbers can be added up for the board's material balance. Having one pawn and one tower more than the other side results in a board evaluation of 900 + 500 = 1400. Thus, we can search for moves that promise the best board evaluation, and discard others.
36+
Our evaluation is composed of the material and position values. Each piece has an assigned value; a king is ranked higher than everything else combined (20,000), as a defeated king means loss by checkmate. Next comes the queen (900), then rooks (500), and so on. The opponent's pieces have a negative value so that all numbers can be added up for the board's material balance. Having one pawn and one tower more than the other side results in a board evaluation of 100 + 500 = 600. Thus, we can search for moves that promise the best board evaluation, and discard others.
3737

3838
Piece values are stored in variables named "BlackKing", "WhiteKing", etc. Our current chessboard state is stored in the "Board" list. Board has 64 list entries, one for each square. For calculating the board evaluation, we loop over the list and add up its entries.
3939

0 commit comments

Comments
 (0)