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

VPS Starter Arubacloud
0 głosów
353 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,833 wizyt
0 głosów
0 odpowiedzi 1,760 wizyt
0 głosów
1 odpowiedź 1,928 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...