Problem z piłeczką w Pongu

0

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!

2

@Tomislavo: To o czym piszesz, to nie jest Pong, tylko Arkanoid/Breakout.

Co do problemu. Funkcja getch(); zatrzymuje całą pętlę i czeka na naciśnięcie klawisza. Musisz czekać na wciśnięcie klawisza w inny sposób.
( punkt wyjścia: http://www.cplusplus.com/forum/general/16335/ )

[offtop]Nagle na 4programmers wszyscy tworzą gry :D[/offtop]

1

@Spine: Dzięki za pomoc! Trochę posiedziałem nad tym i zrozumiałem co miałem źle.
"To o czym piszesz, to nie jest Pong, tylko Arkanoid/Breakout." Dobrze mówisz moja pomyłka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1