Da ich keinen Ansatz für die KI1) hatte, dafür umso mehr Ideen für die GUI2) und auch wusste dass ich diese mit NCurses umsetzen will, hies das für mich, dass ich auch genau damit anfange.
#define INIT \ initscr(); \ start_color(); \ cbreak(); \ noecho(); \ nonl(); \ intrflush(stdscr, FALSE); \ keypad(stdscr, TRUE); \ nodelay(stdscr,FALSE); \ clear(); #define REW \ refresh();\ endwin();\ const int ROW = 6; const int COL = 7; const char PL1 = 'O'; const char PL2 = 'X'; const int WIN = 4;
#include <iostream> #include <curses.h> #include "connect4.hpp" using namespace std; class Connect4 { private: public: }; int main(void) { Connect4 game; INIT REW return 0; }
Jetzt ist NCurses bereit um damit zu arbeiten.
Und die Konstanten3), sprich die Vorgaben sind auch schon definiert.
Gehen wir von Oben nach Unten vor.
Ich initialisiere alle NCurses Funktionen über #define INIT
, das macht die Funktion main()
bzw. die Datei dazu übersichtlicher.
Am Programmende muss NCurses
auch wieder ordentlich beendet werden. dies geschieht über #define REW
.
ncurses
-Konsole. getch
stdscr
.
Hierzu gibt es wohl nicht viel zu sagen. Es werden einfach die Vorgaben als feste Variable umgesetzt.
Also die Anzahl der Reihen und Spalten, sowie die Spielsteine der Spieler.
Und natürlich die Anzahl der Steine die in einer Reihe sein müssen um zu gewinnen.
const int ROW = 6; const int COL = 7; const char PL1 = 'O'; const char PL2 = 'X'; const int WIN = 4;
Somit ist das Grundgerüst erst einmal bereit um darauf aufzubauen.
Hier gehts zum nächsten Schritt.
⇒Startseite.