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

Palnsza do gry, tworzenie za pomocą pętli for, cpp.

Object Storage Arubacloud
0 głosów
372 wizyt
pytanie zadane 29 lipca 2016 w C i C++ przez Niebieski_Zerg Użytkownik (610 p.)

Witajcie (^<^)/ Mam problem otóż jestem po 8odc od M.Zelenta i chciałbym zrobić sobie prostą grę za pomocą 2pętli for, które służyłyby do pokazania mapy oraz pozycji gracza (przykładowo weźmy jego oznaczenie jako znak X). Niestety problem umie już pojawił się tuż na początku, gdyż nie umiem pokazać pozycji X. Tak wygląda u mnie mechanizm rysowania mapy  :

char mapa[30][30];

    for(int i=0;i<=29;i++)
    {
        for(int y=0;y<=29;y++)
        {
            mapa[i][y] = 2;
            cout << mapa[i][y];
        }
        cout << endl;
    }
Jeśli może to pomóc to napiszę jeszcze że jestem dość szary w dziedzinie programowania jak i w całej informatyce(i jest to pierwszy język za jaki się złapałem, który zechciałem zgłębiać) :P
Z góry dzięki za pomoc (^^)/

1 odpowiedź

+1 głos
odpowiedź 29 lipca 2016 przez criss Mędrzec (172,590 p.)

Nie bardzo wiem, co dla ciebie znaczy pokazanie pozycji X. Do żadnej komórki nie przypisujesz 'X'. Jeśli tak zrobisz, to przy wypisywaniu X będzie widoczny.

Po drugie 

mapa[i][y] = 2;

znak ascii o wartości 2, to jakiś START OF TEXT. Nie wiem co to jest, ale wątpie, żeby o to ci chodziło. Jeśli program ma wypisać 2, to do komórki przypisz '2'. Inna sprawa, że nie rozumiem dlaczego wypełniasz tablice podczas wypisywania. To raczej powinny być 2 osobne mechanizmy (wypełnianie tablicy bazuje na logice gry, ale wyświetlanie to wyświetlanie).

komentarz 29 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
Tutaj chodziło mi o tło do gry 0 jak wiesz będzie czyste ale tutaj sprawdzałem co i jak. Mi chodzi o to aby stworzyć coś takiego by po tym tle(zrobionym z tych dwóch forów) dało się poruszać X taka wiesz gra 2d bez niczego samo chodzenie, przepraszam że słabo to objaśniłem w pytaniu :/
komentarz 29 lipca 2016 przez criss Mędrzec (172,590 p.)
No to pójście do góry jest równoznaczne ze zmianą "pierwszego" indexu (konkretnie ze zmianą tablicy po których iterujesz za pomocą pierwszej pętli) o +1, a pójście w prawo - zmiana "drugiego" indexu o +1. Analogicznie dół i lewo.
komentarz 29 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
Mógłbyś coś takiego z tym X zrobić ? bo jako mapa ok ale już tego drugiego tak średnio ze zrobieniem rozumiem :p
komentarz 29 lipca 2016 przez criss Mędrzec (172,590 p.)
edycja 29 lipca 2016 przez criss
struct xy
{
   size_t x, y;
} pos = {0, 0};

int main()
{

while(true)
{
    char move = getch();

    switch(move)
    {
      case 's': pos.y++; break;
      case 'w': pos.y--; break;
      case 'a': pos.x--; break;
      case 'd': pos.x++; break;
    }

    for(int i=0;i<=29;i++)
    {
        for(int y=0;y<=29;y++)
        {
            if(i == pos.y && y == pos.x) std::cout << 'X';
            else std::cout << ' ';
        }
        cout << endl;
    }

}

}

W zasadzie, to nawet nie potrzebujesz tablicy. Sorry za słabą czytelność, ale ciężko się robi wcięcia samymi spacjami.

Edit: porąbały mi sie osie ruchu. Poprawilem. I wypadaloby czyscic konsole :P

komentarz 29 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
Ło kurde to ja miałem w ogóle inaczej xd Dzięk ziomek :) Długo programujesz? :D A i jak coś chyba jakieś biblioteki brakuje bo nie działa :p http://screenshot.sh/oBEyVJRHqpEBI

!Już dodałem conio.h bo switch :p
komentarz 30 lipca 2016 przez criss Mędrzec (172,590 p.)
Jakieś 1,5 roku. Ciesze sie, że pomogłem, ale zachęcam do samodzielnego kombinowania :P
komentarz 30 lipca 2016 przez Niebieski_Zerg Użytkownik (610 p.)
Wchodząc tu i prosząc tu o pomoc w kodzie byłem wtedy naprawdę zdesperowany xd

Podobne pytania

0 głosów
1 odpowiedź 2,841 wizyt
0 głosów
0 odpowiedzi 1,772 wizyt
0 głosów
1 odpowiedź 1,957 wizyt

92,555 zapytań

141,402 odpowiedzi

319,541 komentarzy

61,939 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!

...