Information Technology Reference
In-Depth Information
Nun gilt es, die Schachfiguren zu zeichnen. Dabei wird jede Figur in einem Bild mit
transparentem Hintergrund gespeichert. Um den Zugriff auf die einzelnen Figuren zu er-
leichtern, werden diese mit einer Zahl codiert. Folgende Konventionen werden dabei zu-
grunde gelegt:
• Die Hunderterstelle speichert die Rochadefähigkeit (gezogen/noch nicht gezogen)
• Die Zehnerstelle speichert die Farbe der Figur:
− 1 für Weiss
− 2 für Schwarz.
• Die Einerstelle speichert den Typ der Figur:
− 1 für Bauer,
− 2 für Springer,
− 3 für Läufer,
− 4 für Turm,
− 5 für Dame,
− 6 für König
In der Methode newGame() wird die Startaufstellung geladen:
int[] org =
{99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
124, 22, 23, 25, 126, 23, 22, 124,
99, 99,
21, 21, 21, 21, 21, 21, 21, 21,
99, 99, 00, 00, 00, 00, 00, 00, 00, 00,
99, 99, 00, 00, 00, 00, 00, 00, 00, 00,
99, 99, 00, 00, 00, 00, 00, 00, 00, 00,
99, 99, 00, 00, 00, 00, 00, 00, 00, 00,
99, 99,
11, 11, 11, 11, 11, 11, 11, 11,
99, 99,
114, 12, 13, 15, 116, 13, 12, 114,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 };
for (int i = 0; i < 120; i++) {
board[i] = org[i];
graphboard[i] = org[i];
}
repaint();
Die mit einem Bildbearbeitungs- oder Zeichenprogramm erstellten Figuren müssen geladen
und einem Datenfeld gespeichert werden. Dieses Datenfeld wird im globalen Bereich der
Klasse ChessBoard deklariert. Für das Zeichnen der Figuren wird außerdem eine Re-
ferenz auf ein Applet benötigt. Diese Referenz wird in der Variable parent vorgehalten.
Image[] figures = new Image[18];
Applet applet;
Das Laden der Bilder für die Figurdarstellung und das Ausrichten der Appletreferenz
übernimmt der Konstruktor von ChessBoard und dort durch die folgende Programm-
sequenz.
Search WWH ::




Custom Search