Я хотел создать программу с тем, что я только что узнал в ncurses. С его помощью пользователь должен иметь возможность рисовать с # на экране, используя WASD. вот код, который я сделал:
#include<stdio.h>
#include<ncurses.h>
int main (void)
{
initscr();
noecho();
int coord_x = 10;
int coord_y = 10;
char direccion;
mvwprintw(stdscr,coord_y,coord_x,"#");
while (1)
{
refresh();
direccion = getchar();
switch (direccion)
{
case 'w':
coord_y -= 1;
case 's':
coord_y += 1;
case 'a':
coord_x -= 1;
case 'd':
coord_x += 1;
case 'q':
break;
default:
continue;
}
if (coord_x == -1 && coord_y == -1) { coord_y += 1;coord_x += 1;}
mvwprintw(stdscr,coord_y,coord_x,"#");
if (direccion == 'q') {break;}
}
endwin();
return 0;
}
Но я не совсем уверен, почему # не двигается ни вверх, ни влево. Я думаю, что проблема в этой части:
direccion = getchar();
switch (direccion)
{
case 'w':
coord_y -= 1;
case 's':
coord_y += 1;
case 'a':
coord_x -= 1;
case 'd':
coord_x += 1;
case 'q':
break;
default:
continue;
}
Но я действительно не уверен, вы знаете, почему это не работает?
РЕДАКТИРОВАТЬ: Спасибо всем, теперь я понял, что я просто тупой и забыл, как пользоваться выключателем