• 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++

Object Storage Arubacloud
0 głosów
596 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 102 wizyt
+1 głos
1 odpowiedź 103 wizyt
pytanie zadane 13 grudnia 2020 w Python przez urbix01 Gaduła (3,290 p.)
0 głosów
1 odpowiedź 109 wizyt
pytanie zadane 17 listopada 2019 w C i C++ przez maj005 Początkujący (300 p.)

92,620 zapytań

141,474 odpowiedzi

319,815 komentarzy

62,005 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...