• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Poruszanie się po tablicy wymiarowej C++

VPS Starter Arubacloud
0 głosów
629 wizyt
pytanie zadane 19 marca 2019 w C i C++ przez layla Początkujący (260 p.)

Witam,
Piszę prostą grę, polegającą m.in. na poruszaniu się po "planszy" (tablicy dwuwymiarowej). Wszystko działa dobrze do pewnego momentu- kiedy pójdę zbytnio w lewo, a dokładniej jestem na polu przed skrajnym polem- pojawia się także 'O' w linijce wyżej na samym końcu... (O- położenie; V- tam gdzie się już było)
 

    char ruch;
    cout << "Gdzie chcesz isc? L - Lewo, P - Prawo, G - Gora, D - Dol" << endl;
    cin >> ruch;
    
        switch(ruch){
        case 'D':
            {
                if(*k==10){
                    cout << "Nie mozesz isc na dol" << endl;
                    Sleep(1000);
                    system("cls");
                    break;
                }
                else{
                    plansza[*k][*l]='V';
                    *k=*k+1;
                    plansza[*k][*l]='O';
                    break;
                }
            }
        case 'G':
            {
                    if(*k==0){
                    cout << "Nie mozesz isc do gory" << endl;
                    Sleep(1000);
                    system("cls");
                    break;
                }
                else{
                    plansza[*k][*l]='V';
                    *k=*k-1;
                    plansza[*k][*l]='O';
                    break;
                }
            }
        case 'P':
                if(*l==10){
                    cout << "Nie mozesz isc w prawo" << endl;
                    Sleep(1000);
                    system("cls");
                    break;
                }
                else{
                    plansza[*k][*l]='V';
                    *l=*l+1;
                    plansza[*k][*l]='O';
                    break;
                }
        case 'L':
                if(*l==0){
                    cout << "Nie mozesz isc w lewo" << endl;
                    Sleep(1000);
                    system("cls");
                    break;
                }
                else{
                    plansza[*k][*l]='V';
                    *l=*l-1;
                    plansza[*k][*l]='O';
                    break;
                }
        default: cout <<"Nie ma takiej opcji" << endl;

 

komentarz 19 marca 2019 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Po co zmienne k i l są wskaźnikami? One przechowują wartości liczbowe, prawda? smiley

komentarz 19 marca 2019 przez layla Początkujący (260 p.)
Właśnie nie działało mi bez "*"... To oddzielna funkcja
komentarz 19 marca 2019 przez Eryk Andrzejewski Mędrzec (164,260 p.)
W C++ można używać referencji, nie trzeba pracować na wskaźnikach. No ale racja, nie pomyślałem o tym.
komentarz 19 marca 2019 przez layla Początkujący (260 p.)
Więc jakiś pomysł dlaczego moja plansza w pewnym momencie wygląda tak?:
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXO
OVVVVVXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXX
komentarz 20 marca 2019 przez Ptaszor3 Użytkownik (900 p.)
Mógłbyś (nie znam twojej płci) pokazać jak wygląda cała ta funkcja wraz z definicjami zmiennych?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 115 wizyt
+1 głos
1 odpowiedź 113 wizyt
pytanie zadane 13 grudnia 2020 w Python przez urbix01 Gaduła (3,290 p.)
0 głosów
1 odpowiedź 119 wizyt
pytanie zadane 17 listopada 2019 w C i C++ przez maj005 Początkujący (300 p.)

92,840 zapytań

141,781 odpowiedzi

320,856 komentarzy

62,172 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...