如何用方向键来控制c语言程序?

我想做一个超级马里奥,来当我的毕业作品,可是很无奈,无法用方向键控制,请问有人教一下我吗?

清屏没加


#include <bits/stdc++.h>
#include <unistd.h>
using namespace std;
char a[9][9] =
    {
        {'#','#','#','#','#','#','#','#','#'},
        {'#','y','#',' ','#',' ',' ',' ','#'},
        {'#',' ','#',' ',' ',' ','#',' ','#'},
        {'#',' ',' ',' ','#','#',' ',' ','#'},
        {'#',' ','#','#',' ','#','#',' ','#'},
        {'#',' ',' ',' ',' ',' ','#','$','#'},
        {'#',' ','#',' ','#',' ','#','#','#'},
        {'#',' ',' ',' ','#',' ',' ',' ','#'},
        {'#','#','#','#','#','#','#','#','#'},
    };
void q()
{
    for (int i = 0;i < 9;i++)
    {
        for (int w = 0;w < 9;w++)
       {
        cout << a[i][w];
        }
        cout << endl;
    }
}
int x = 1;
int y = 1;
char m;
int main()
{
    while (1)
    {
        q();
        cout << "$是终点,y是你" << endl;
        cout << "w上 s下 d左 a右" << endl;
        if(x == 5&&y == 7)
        {
            break;
        }
    
    cin >> m;
    if (m == 'w'||m == 'W')
    {
        if (a[x - 1][y] != '#')
        {
            a[x][y] = ' ';
            x = x - 1;
            a[x][y] = 'o';
        }
    }
    if (m == 's'||m == 'S')
    {
        if (a[x + 1][y] != '#')
        {
            a[x][y] = ' ';
            x = x + 1;
            a[x][y] = 'o';
        }
    }
    if (m == 'd'||m == 'D')
    {
        if (a[x][y + 1] != '#')
        {
            a[x][y] = ' ';
            y = y + 1;
            a[x][y] = 'o';   
        }
    }
    if (m == 'a'||m == 'A')
    {
        if (a[x][y - 1] != '#')
        {
            a[x][y] = ' ';
            y = y - 1;
            a[x][y] = 'o';   
        }
    }
    }
    cout <<"你赢了"<< endl;
    cout <<"感谢游玩"<< endl;
    return 0;
}

这不很简单