witam
Stworzyłem program:
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <time.h>
using namespace std;
int los()
{
int a=rand()%10+1;
return a;
}
void kursor(int x, int y)
{
COORD c;
c.X=x-1;
c.Y=y-1;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
void plansza()
{
for(int i=4;i<=15;i++)
{
kursor(2,i);
cout<<"|";
}
for(int u=3;u<=25;u++)
{
kursor(u,15);
cout<<"__";
}
for(int i=4;i<=15;i++)
{
kursor(26,i);
cout<<"|";
}
for(int u=3;u<=25;u++)
{
kursor(u,3);
cout<<"__";
}
}
void ruch()
{
int zmienna=0;
int a=0;
int x=13;
int y=7;
kursor(x,y);
for(;;)
{
cout<<"0";
Sleep(500);
cout<<"\b"<<" ";
if(x>=24)
{
a=los();
if(a==1 || a==2 ||a==3)zmienna=1;
else if(a==4 || a==5 ||a==6)zmienna=2;
else if(a==7 || a==8 ||a==9 || a==10)zmienna=3;
}
else if(x<=4)
{
a=los();
if(a==1 || a==2 ||a==3)zmienna=4;
else if(a==4 || a==5 ||a==6)zmienna=5;
else if(a==7 || a==8 ||a==9 || a==10)zmienna=6;
}
else if(y>=14)
{
a=los();
if(a==1 || a==2 ||a==3)zmienna=7;
else if(a==4 || a==5 ||a==6)zmienna=8;
else if(a==7 || a==8 ||a==9 || a==10)zmienna=9;
}
else if(y<=4)
{
a=los();
if(a==1 || a==2 ||a==3)zmienna=10;
else if(a==4 || a==5 ||a==6)zmienna=11;
else if(a==7 || a==8 ||a==9 || a==10)zmienna=12;
}
if(zmienna==0)kursor(x--,y--);
else if(zmienna==1)kursor(x--,y--);
else if(zmienna==2)kursor(x--,y);
else if(zmienna==3)kursor(x--,y++);
else if(zmienna==4)kursor(x++,y++);
else if(zmienna==5)kursor(x++,y);
else if(zmienna==6)kursor(x++,y--);
else if(zmienna==7)kursor(x--,y--);
else if(zmienna==8)kursor(x,y--);
else if(zmienna==9)kursor(x++,y--);
else if(zmienna==10)kursor(x--,y++);
else if(zmienna==11)kursor(x,y++);
else if(zmienna==12)kursor(x++,y++);
kursor(x,y);
}
}
int main()
{
srand(time(NULL));
plansza();
ruch();
kursor(30,30);
system("pause");
return 0;
}
i chciałbym dodać tam kładkę, która była by poruszana za pomocą klawiatury. mój problem jest taki, ży jeżeli dodam instrukcję cin lub getchar cały program się zatrzyma i "zero" nie będzie się poruszać dopóki nie wczytam znaku. Wie ktoś jak można pogodzić ze sobą te dwie czynności?