Go to file
2024-12-20 11:19:33 +01:00
Chessboard.cpp Kleine Änderung 2024-12-20 11:19:33 +01:00
Chessboard.h Nutzloser Header Scheiß´hinzugefügt. Like WTF!? 2024-12-20 02:06:12 +01:00
Chesspiece.cpp Kleine Änderung 2024-12-20 11:19:33 +01:00
Chesspiece.h Kleine Änderung 2024-12-20 11:19:33 +01:00
ChessUtils.cpp Kleine Änderung 2024-12-20 11:19:33 +01:00
ChessUtils.h Nutzloser Header Scheiß´hinzugefügt. Like WTF!? 2024-12-20 02:06:12 +01:00
main.cpp Kleine Änderung 2024-12-20 11:19:33 +01:00
main.exe Kleine Änderung 2024-12-20 11:19:33 +01:00
MoveList.cpp Nutzloser Header Scheiß´hinzugefügt. Like WTF!? 2024-12-20 02:06:12 +01:00
MoveList.h Nutzloser Header Scheiß´hinzugefügt. Like WTF!? 2024-12-20 02:06:12 +01:00
OldCode.txt Move draw method to new class file; Add Utils class 2024-12-18 20:26:28 +01:00
Pawn.cpp Kleine Änderung 2024-12-20 11:19:33 +01:00
Pawn.h Nutzloser Header Scheiß´hinzugefügt. Like WTF!? 2024-12-20 02:06:12 +01:00
README.md Kleine Änderung 2024-12-20 11:19:33 +01:00
saveStats.json Move draw method to new class file; Add Utils class 2024-12-18 20:26:28 +01:00

c/c++ Abschlussprojekt - Schach

Notwendige Umsetzungen

  1. Klasse für Spielbrett
  2. Oberklasse für Spielfiguren
    1. Bauer
    2. Dame
    3. König
    4. Läufer
    5. Turm
    6. Springer
  3. Fancy User Interface
  4. Speicherung des Spielbretts
  5. Unentschieden anbieten
  6. Aufgegeben

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
  • Spezial Moves:
    • Rochade -> Kurz/Lang
    • En Passant
    • Stalemate
    • Bauer: 2 Felder
    • Umwandeln

Optional wenn Lust und Zeit?

  1. Bedienung per Maus
  2. Multiplayer
  3. Historie der Spielzüge
  4. Gravejard der geschlagenen Figuren
  5. König platzieren -> Anzeigen wer gewinnt

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
      • Array von Linked Lists
      • Array Index steht für Richtung von Bewegungen (diagonalen, L, Gerade)
      • alles droppen, was nach pos mit Figur kommt