Witam
Piszę grę kółko i krzyżyk i do nawigacji po planszy postanowiłem wykorzystać bibliotekę curses.h.
oto kod programu
#include <curses.h>
#include <iostream>
#include <stdio.h>
using namespace std;
void rysuj_plansze()
{
for(int i = 1; i <= 9; i++)
{
printw(" "" ");
if(i % 3)
printw("|");
else if(i != 9)
printw("\n--+--+--\n");
else printw("\n");
}
}
int main()
{
int t[9];
int b, x=0, y=0;
initscr();
cbreak();
noecho();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
int ch,ha;
rysuj_plansze();
do{
move(0,0);
ch = getch();
switch(ch)
{
case KEY_LEFT:
if(y>=3)
{
move(x, y-3);
ha=getch();
if(ha=KEY_ENTER) printw("X");
}
case KEY_RIGHT:
move(x, y+3);
ha=getch();
if(ha=KEY_ENTER) printw("X");
case KEY_UP:
if(x>=2)
{
move(x-2,y);
ha=getch();
if(ha=KEY_ENTER) printw("X");
}
case KEY_DOWN:
move(x+2,y);
ha=getch();
if(ha=KEY_ENTER) printw("X");
}
}while(2);
endwin();
}
Program nie działa poprawnie, począwszy od tego, że kursor nie wyświetla się na żądanej pozycji a skończywszy, na tym , że po powtórnym wciśnięciu strzałki wstawia znak mimo iż nie powinien tego robić.