/** @file mainpage.h * @brief Beschreibung der Aufgabe Chess. */ /** @mainpage Chess * * @author Peter Bauer * * @section intro Einführung * Sie haben die Aufgabe einige grundlegende Schachfunktionen zu implementieren. Wir * beschränken uns auf Verwaltungsfunktionen (Initialisieren, Schachfiguren auf dem * Brett zu platzieren, etc.) und erste Überlegungen, wie sich Schachfiguren * gegenseitig bedrohen können (Teilen zwei verschiedene Felder eine Zugbahn einer * bestimmten Schachfigur?). * * @section basics Grundsätzliches * Schach wird auf einem quadratischen Brett mit acht Spalten (files, mit den Buchstaben * "a" bis "h" bezeichnet) und acht Zeilen (ranks, mit den Ziffern 1 bis 8 bezeichnet) gespielt. * Ein Feld (square) ist somit mit der Kombination eines file-Bezeichners und eines rank-Bezeichners * eindeutig bestimmt. Viele der zu implementierenden Funktionen werden mit diesen Postionen * zu tun haben. * * Zur Illustration ist hier nochmal ein Schachbrett abgebildet: * * * Da die vorgegebenen Datentypen auf Englisch bezeichnet sind, hier nochmal die Übersetzung * der wichtigsten Begriffe: * * * * * * * * * * * * * *
EnglischDeutsch
Chess boardSchachbrett
SquareFeld
FileSpalte
RankZeile
to captureschlagen
PawnBauer
RookTurm
KnightSpringer
BishopLäufer
QueenDame
KingKönig
* * @section usage Verwendung des Projektes * @subsection call Aufruf * Sie können nach einem erfolgreichen Build das Programm auf folgende Weisen aufrufen: * -
./chess
Es wird ein Schachbrett mit den Figuren in der Startaufstellung ausgegeben. * -
./chess test
Es werden die automatisierten Unit Tests ausgeführt. * * @subsection files Bestandteile des Projektes * Das Projekt besteht aus folgenden Files * - makefile: Dient zur Steuerung des make Utilities. * - chess_main_driver.cpp: Enthält die main() Funktion, welche ein Schachbrett mit den Figuren in der Startaufstellung ausgibt. * - chess_test_driver.cpp: Enthält die main() Funktion, welche ein Schachbrett mit den Figuren in der Startaufstellung ausgibt. * - test_chess.h: Enthält alle Prototypen der Testfunktionen. * - test_chess.cpp: Enthält alle Implementierung der Testfunktionen und einige generell * für die Testfunktionen gebrauchte Daten. * - chess.h: Enthält die Datenstrukturen, welche in diesem Projekt verwendet werden und die * Prototypen der Funktionen, welche Sie implementieren müssen. * - chess.cpp: Enthält Leerimplementierungen der Funktionen, die Sie implementieren müssen. * - general.h: Enthält Macro-Definitionen für MIN und MAX. * - shortcut.h, shortcut.cpp: Enthalten Funktionen, zur Ausführung der automatisierten Tests. Sie * müssen diese Files nicht weiter beachten. * - chess_printer.h und chess_printer.c: Enthalten Funktionen, zur Darstellung eines Schachfeldes * in einem ASCII Terminal. Ist für Ihre Arbeit nicht von Bedeutung. * - mainpage.h, Doxyfile: Files, zur Erstellung der Dokumentation, die Sie gerade lesen. Diese * Files müssen Sie nicht weiter beachten. * */