Zacząłem dzisiaj tworzyć mój pierwszy większy projekt w C++. Próbuję stworzyć grę podobną do Ponga (chodzi mi o tego w którym jest 1 gracz i zbijasz klocki znajdujące się nad paletką). Napotkałem jednak jeden problem, który zatrzymał moje prace nad tym projektem. Otóż piłeczka porusza się jedynie kiedy porusza się gracz. Nie wiem jak zrobić żeby piłeczka poruszała się niezależnie od ruchu gracza.
Kod:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <windows.h>
using namespace std;
int main()
{
char key;
int inp;
int gracz[120];
int poz=48;
int pilS=60;
int pilW=0;
int pilKier;
int pilGD;
srand(time(NULL));
pilGD=0;
//Faza pocz¹tkowa //
for(int i=0; i!=25; i++)
{
cout << endl;
}
for(int i=0; i!=48; i++)
{
cout << " ";
}
for(int i=0; i!=24; i++)
{
cout << "-";
}
//Faza gry //
while(1)
{
//PALETKA//
for(int i=0; i!=120; i++)
{
gracz[i]=0;
}
key=getch();
inp=key;
switch( inp )
{
case 65:
if(poz!=0)
{
poz=poz-3;
break;
}
case 97:
if(poz!=0)
{
poz=poz-3;
break;
}
case 68:
if(poz!=96)
{
poz=poz+3;
break;
}
case 100:
if(poz!=96)
{
poz=poz+3;
break;
}
}
if((inp==65 | inp==97) && poz==3)
{
poz=0;
}
for(int i=poz; i!=poz+24; i++)
{
gracz[i]=1;
}
//PILECZKA//
if(pilW==24)
{
pilGD=1;
}
else if(pilW==0)
{
pilGD=0;
}
if(pilW==24 | pilW==0)
{
if(pilGD==0)
{
pilKier=rand()%5;
}
else if(pilGD==1)
{
pilKier=(rand()%5)+5;
}
}
switch( pilKier )
{
case 0:
pilW++;
pilS=pilS-2;
break;
case 1:
pilW++;
pilS--;
break;
case 2:
pilW++;
break;
case 3:
pilW++;
pilS++;
break;
case 4:
pilW++;
pilS=pilS+2;
break;
case 5:
pilW--;
pilS=pilS-2;
break;
case 6:
pilW--;
pilS--;
break;
case 7:
pilW--;
break;
case 8:
pilW--;
pilS++;
break;
case 9:
pilW--;
pilS=pilS+2;
break;
}
//RYSOWANIE//
system("cls");
for(int i=0; i!=pilW; i++)
{
cout << endl;
}
for(int i=0; i!=pilS; i++)
{
cout << " ";
}
cout << "o";
for(int i=pilW; i!=25; i++)
{
cout << endl;
}
for(int i=0; i!=120; i++)
{
if(gracz[i]==0)
{
cout << " ";
}
else if(gracz[i]==1)
{
cout << "-";
}
}
cout << endl << poz;
}
return 0;
}
Z góry dzięki za pomoc!