From 28dc6b8e9d96e6388a7399301ee3a0df1f3733b6 Mon Sep 17 00:00:00 2001 From: Arno Huetter Date: Wed, 29 Dec 2021 17:40:30 +0100 Subject: [PATCH 1/3] Update scratch-chess-v3.md --- trainingsanleitungen/scratch/scratch-chess-v3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trainingsanleitungen/scratch/scratch-chess-v3.md b/trainingsanleitungen/scratch/scratch-chess-v3.md index 0f1e796c1..7a66c7b5b 100644 --- a/trainingsanleitungen/scratch/scratch-chess-v3.md +++ b/trainingsanleitungen/scratch/scratch-chess-v3.md @@ -53,7 +53,7 @@ Unser Programm wird mit den schwarzen Figuren spielen, der Benutzer hat Weiß. 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. -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. +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. 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. From 801a0a979866b4bd18c0fc5223962f1d878d176f Mon Sep 17 00:00:00 2001 From: Arno Huetter Date: Wed, 29 Dec 2021 17:40:32 +0100 Subject: [PATCH 2/3] Update scratch-chess.md --- trainingsanleitungen/scratch/scratch-chess.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trainingsanleitungen/scratch/scratch-chess.md b/trainingsanleitungen/scratch/scratch-chess.md index 1165c871b..33570efb4 100644 --- a/trainingsanleitungen/scratch/scratch-chess.md +++ b/trainingsanleitungen/scratch/scratch-chess.md @@ -57,7 +57,7 @@ Unser Programm wird mit den schwarzen Figuren spielen, der Benutzer hat Weiß. Die Brettbewertung programmieren wir in der Funktion „EvaluateBoard“. Wichtig ist, dass wir dafür „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. -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 mit einem Bauern und einen Turm mehr 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. +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 mit einem Bauern und einen Turm mehr 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. 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 Einträge zusammen. From 7f1da7cdece62db53c61dcc8bfa8c1b0fcf8e6e9 Mon Sep 17 00:00:00 2001 From: Arno Huetter Date: Wed, 29 Dec 2021 17:41:59 +0100 Subject: [PATCH 3/3] Update scratch-chess-v3.md --- trainingsanleitungen/scratch/en/scratch-chess-v3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trainingsanleitungen/scratch/en/scratch-chess-v3.md b/trainingsanleitungen/scratch/en/scratch-chess-v3.md index 4725d0e4d..7f2ae6cc7 100644 --- a/trainingsanleitungen/scratch/en/scratch-chess-v3.md +++ b/trainingsanleitungen/scratch/en/scratch-chess-v3.md @@ -53,7 +53,7 @@ Our program will play with the black pieces, the user plays white. 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. -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. +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 rook 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. 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.