1.7 KiB
1.7 KiB
c/c++ Abschlussprojekt - Schach
Notwendige Umsetzungen
- Klasse für Spielbrett
- Oberklasse für Spielfiguren
- Bauer
- Dame
- König
- Läufer
- Turm
- Springer
- Fancy User Interface
- Speicherung des Spielbretts
Spielbrett
- 8x8 Matrix
- ANSI Linien checken
- Unterscheidung von schwarzen und weißen Feldern
- UTF-8 Spielfiguren
- draw() Funktion
- movement
- Schachnotation
- oder Klickbar?
- Beschriftung des Spielbretts
Spielfiguren
- Interface für Implementierung?
- Default Felder:
- Art der Figure
- UTF-8 Code
- Schlagen: Ich sehe dich nach movement Regeln -> Du stirbst
- Bauer:
- Movement: 1 Felder, außer bei Start 1-2 Felder
- Schlagen: 1 Feld vor Diagonal
- Spezialmove:
- Beförderung
- En Passent - Wie?
- Dame:
- Movement: Fuck it, i do what i want
- König:
- Movement: Körperklaus. Ich kann nur ein Feld nach überall
- Spezialmove: Castlen
- Läufer:
- Movement: Die Diagnal ist mir
- Turm:
- Movement: Vertikal und Horizontal
- Springer:
- Movement: L-Bewegung (2 nach vorn + 1 nach links oder rechts); Krake
Optional wenn Lust und Zeit?
- Bedienung per Maus
- Multiplayer
- Historie der Spielzüge
Gedankensammlung
- Initialisierung:
- Brett zeichnen
- Figuren mit Zugmöglichkeiten ermitteln
- Züge kalkulieren
- Objekt mit allen Figuren erstellen -> alle Figuren initialisieren
- Kalkulation der Züge
- Anhand der aktuellen Position
- Mit einbeziehen, dass Zug König nicht in Mate versetzt (verboten)
- Sonder Züge, wie En passant, Rochade (Lang, Kurz), Bauern zwei Feld, beachten
- Prüfen, ob andere Figuren im Weg stehen (Linked List und alles droppen, was nach pso mit Figur kommt)