Я все еще относительно новичок в C ++ и программировании, но хорошо провожу время. Я пишу небольшую, очень простую программу ncurses, которая до сих пор должна просто перемещать «#» по экрану с помощью клавиш WASD.
Проблема в том, что я не могу изменить player.x в первой функции Update ().
Вот код:
#include <iostream>
#include <ncurses.h>
using namespace std;
class Player
{
public:
int x;
int y;
};
void Update()
{
int z;
z = getch();
if(z == 97) //A key
{
player.x--;
}
if(z == 100) //D key
{
player.x++;
}
if(z == 119) //W key
{
player.y--;
}
if(z == 115) //S key
{
player.y++;
}
}
void Draw(int xPos, int yPos)
{
clear();
mvprintw(yPos,xPos,"#");
refresh();
}
int main()
{
initscr();
noecho();
int doContinue;
Player player;
do
{
Update();
Draw(player.x, player.y);
}while((doContinue=getch()) != 27);
endwin();
return 0;
}
Любой вклад будет полезен!