//Управление по WASD
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//И да, впредь серьезнее относитесь к постановке задачи
int main()
{
int map[80][24];
int x,y,i,j,stop=0;
char c;
randomize();
for(i=0;i<80;i++)
for(j=0;j<24;j++)
map[i][j]=0;
for(i=0;i<80;i++)
for(j=0;j<24;j++)
{
textcolor(LIGHTGRAY);
if(i==0||i==79||j==0||j==23||!(rand()%3))
{
map[i][j]=1;
gotoxy(i+1,j+1);
cprintf("#");
}
}
textcolor(LIGHTRED);
gotoxy(2,2);
cprintf("@");
map[1][1]=0;
x=1;y=1;
gotoxy(1,1);
while(!stop)
{
if(kbhit())
{
gotoxy(x+1,y+1);
cprintf(" ");
c = getch();
switch(c)
{
case 'a': if(!map[x-1][y]) x--; break;
case 'w': if(!map[x][y-1]) y--; break;
case 'd': if(!map[x+1][y]) x++; break;
case 's': if(!map[x][y+1]) y++; break;
case 'q': stop++;
};
gotoxy(x+1,y+1);
cprintf("@");
gotoxy(1,1);
}
}
return 0;
}
//---------------------------------------------------------------------------