Kód: Vybrať všetko
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
bool checku(int pole[20][30])
{
int i;
for(i=1;i<29;i++)
if(pole[2][i]==178)
return false;
if(pole[1][1]==178)
return false;
return true;
}
bool checkd(int pole[20][30])
{
int i;
for(i=1;i<29;i++)
if(pole[19][i]==178)
return false;
return true;
}
bool checkr(int pole[20][30])
{
int i;
for(i=0;i<30;i++)
if(pole[i][28]==178)
return false;
return true;
}
bool checkl(int pole[20][30])
{
int i;
for(i=0;i<30;i++)
if(pole[i][1]==178)
return false;
return true;
}
void gotoxy(int x, int y)
{
COORD coord;
coord.X = y; coord.Y = x;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main()
{
int i=0, z=0;
int pole[20][30];
int in=0;
int pom=178;
int pom2=0;
int x, y, xc, yc;
for(i=0;i<20;i++)
for(z=0;z<30;z++)
pole[i][z]=0;
for(i=0;i<30;i++)
pole[0][i]=219;
for(i=0;i<30;i++)
pole[19][i]=219;
for(i=0;i<20;i++)
pole[i][29]=219;
for(i=0;i<20;i++)
pole[i][0]=219;
pole[1][1]=178;
for(i=0;i<20;i++)
{
printf("\n");
for(z=0;z<30;z++)
printf("%c",pole[i][z]); }
x=1;
y=1;
xc=x;
yc=y;
while(1)
{
xc=x;
yc=y;
if(kbhit())
{
in=getch();
if(in==72)
{
if(checku(pole)==true)
{
x--;
pole[x][y]=178;
gotoxy(x,y);
printf("%c",pom);
pole[xc][yc]=219;
gotoxy(xc,yc);
printf("%c",pom2);
}
}
else if(in==80)
{
if(checkd(pole)==true)
{
x++;
pole[x][y]=178;
gotoxy(x,y);
printf("%c",pom);
pole[xc][yc]=219;
gotoxy(xc,yc);
printf("%c",pom2);
}
}
else if(in==77)
{
if(checkr(pole)==true)
{
y++;
pole[x][y]=178;
gotoxy(x,y);
printf("%c",pom);
pole[xc][yc]=219;
gotoxy(xc,yc);
printf("%c",pom2);
}
}
else if(in==75)
{
if(checkl(pole)==true)
{
y--;
pole[x][y]=178;
gotoxy(x,y);
printf("%c",pom);
pole[xc][yc]=219;
gotoxy(xc,yc);
printf("%c",pom2);
}
}
else if(in==27)
break;
else
;
}
}
/*
gotoxy(11,11);
printf("%c",pom);
Sleep(1000);
gotoxy(11,11);
printf("%c",pom-178);
gotoxy(12,11);
printf("%c",pom);
Sleep(1000);
gotoxy(12,11);
printf("%c",pom-178);
gotoxy(13,11);
printf("%c",pom);
Sleep(1000);
*/
return 0;
}