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

c++ generowanie prostej mapy

Object Storage Arubacloud
0 głosów
1,235 wizyt
pytanie zadane 6 marca 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

Hej , witam . Napisałem prosty program w którym użytkownik podaje współrzędne x i y i na tej podstawie odpowiednia kratka robi się pusta  . Problem jest taki że chce żeby te zmiany program zapamiętał przy następnej iteracji , natomiast przy wyborze następnych współrzędnych wcześniejsza kratka zostaje zapełniona . Wiem że pytanie jest jest niejasne ale trudno to ująć . na dole pozostawiłem kod . Jeśli ktoś go skompiluje to będzie wiedział o co mi chodzi (: Bardzo dziękuje za pomoc

 

#include <iostream>
#include <windows.h>

using namespace std;

void generator(int x, int y)
{
    char pole[10][10];

    for(int i=0; i<10; i++) //poczatkowa wartosc dla tablic
    {
        for(int j=0; j<10; j++)
        {
            pole[i][j]='#';
        }
    }


    pole[x][y] = ' '; //nadanie wartoscy wedle uzytkownika

    cout<<endl;                    //render mapy
    cout<<" 123456789X"<<endl;
    for(int i=0; i<10; i++)
    {
        if(i==9) cout<<"X";
        else cout<<i+1;

        for(int j=0; j<10; j++)
        {
            cout<<pole[i][j];
        }
        cout<<endl;
    }
    cout<<endl;
}

int main()
{
    while(true)
    {
        int x, y;

        cout<<"podaj x i y : ";
        cin>>x>>y; //podawanie wspolzendnych

        if((x<1 || y<1) || (x>10)||(y>10))
        {
            cout<<"error"<<endl;
            system("pause");
            system("cls");
        }
        else
        {
            generator(x-1,y-1); // -1 bo chce od 1 do 10 a nie od 0 do 9
            system("pause");
            system("cls");
        }
    }

    return 0;
}

 

komentarz 6 marca 2017 przez 10kw10 Pasjonat (22,880 p.)
Jak dla mnie to to dziala tak jak ty chcesz.
komentarz 6 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
chodzi o to że na przykład podam współrzędne 1 i 1 , no i jest ok , ale jak następnym razem wybiorę inną lokacje na 5 i 2 . To na wcześniejszej kratce znowu robi się znak # . Chodzi o to żeby było podobnie jak w grze saper . "żeby odkryte pola dalej pozostawały odkryte przy wyborze kolejnych " .  Dzięki za komentarz (:
komentarz 6 marca 2017 przez Marchewka900 Bywalec (2,970 p.)
Nigdzie nie widzę, żebyś zmieniał znak w wybranym przez użytkownika polu tablicy "pole". Wskaż mi ten element jeśli możesz, jest już późno i mogę się mylić.
komentarz 6 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)

1. void generator(int x, int y) //argumentu z punktu 3

2. pole[x][y] = ' '; //odpowiednie tablice zmieniają wartość

3. cout<<"podaj x i y : ";

  cin>>x>>y; //podawanie wspolzendnych

sorry że nie w kolejności . Ale już plus minus rozumiem co mam zrobić

 

komentarz 6 marca 2017 przez Marchewka900 Bywalec (2,970 p.)
Faktycznie, wybacz mi. Jest już późno. Myślałem, że pole[x][y] to inna tablica. Naprawdę muszę przestać na dzisiaj czytać kod. Ale dostałeś już odpowiedź.
komentarz 6 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
Spoko (: ,dzięki za komentarz
1
komentarz 6 marca 2017 przez morele123 Gaduła (4,790 p.)
Poczytaj o funkcji gotoxy. Zamiast na nowo czyścić wszystko to tylko przenoś kursor kasuj co trzeba i wstawiaj nowe.

1 odpowiedź

0 głosów
odpowiedź 6 marca 2017 przez Piter10p Bywalec (2,750 p.)
wybrane 6 marca 2017 przez Jakub 0
 
Najlepsza
Mam rozumieć że chcesz by po wprowadzeniu zmian do planszy zostały one w pamięci w main'ie?

Wystarczy zrobić tablicę planszy na wskaźniku w funkcji main i potem wysyłać ją jako parametr do wszystkich funkcji z planszy korzystających. Ot, cała filozofia.

Pozdrawiam

Podobne pytania

0 głosów
1 odpowiedź 331 wizyt
pytanie zadane 4 maja 2017 w PHP przez mikoh81 Obywatel (1,260 p.)
0 głosów
0 odpowiedzi 252 wizyt
pytanie zadane 10 grudnia 2015 w C i C++ przez arek01996 Stary wyjadacz (12,100 p.)
0 głosów
1 odpowiedź 405 wizyt
pytanie zadane 5 maja 2015 w C i C++ przez molaki Obywatel (1,700 p.)

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

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

...