Generator drzew ;)

0

Witam. Pomyślałem sobie, że zrobię sobie małą gierkę w C++ w wierszu poleceń. Mam taki problem, że moje drzewa (T) generują się w rządkach, tak jakby były w sadzie, a chciałem, żeby były porozrzucane po całej konsoli. Proszę o pomoc.

void Generate()
{
     srand((unsigned int)time(NULL));
     for(int a=1; a<MAXTREES;a++)
     {
             rr = rand() % MAXX+1;
             posx[rr]=1;
             rr = rand() % MAXY+1;
             posy[rr]=1;            
     }
} 
0

Nie lepiej (na szybko pisałem):

int Generuj(int MaxX, int MaxY, int IloscDrzew, int (&Mapa)[][]) {
 //seeda generujesz na poczatku programu

 if (IloscDrzew<=0) return 1;

 for (int i=1; i<=IloscDrzew; i++) {
  int LosujX, LosujY;
  LosujX = rand()%MaxX+1;
  LosujY = rand()%MaxY+1;
  Mapa[X][Y] = 1;
 }

 return 0;
}
0

Właściwie, to nie różni się to niczym pod względem losowania. Ustawiłem seeda na sam początek programu, ale nadal to samo.

http://img708.imageshack.us/img708/3318/graclk.jpg

Tak ustawione są moje drzewka.

0

Różnica jest taka, że w swoim programie korzystasz pewnie ze zmiennych globalnych. W tym wypadku jest to niepotrzebne, zresztą w ogóle nadużywanie zmiennych globalnych może prowadzić do problemów. Poczytaj http://pl.wikipedia.org/wiki/Zmienna_globalna
Poza tym mapy robi się na tablicach dwuwymiarowych.

0

Wooow skorzystałem z tablicy dwuwymiarowej i wszystko działa pięknie :D Dlaczego z dwoma zwykłymi tablicami nie działało? ; o

0

Nie wiem, jak wygląda cały twój kod, ale jeśli jedna tablica była na zaznaczanie na jakich iksach są drzewa, a druga na jakich igrekach są drzewa, to po prostu na wybranych iksach i igrekach były rysowane drzew.

0

Okej, dzięki za pomoc, problem rozwiązany :)

1
kipi999 napisał(a)

Dlaczego z dwoma zwykłymi tablicami nie działało? ; o
Ile elementów zmieści się w dwuwymiarowej tablicy N na M? A ile w dwóch tablicach jednowymiarowych o rozmiarach N i M?

1 użytkowników online, w tym zalogowanych: 0, gości: 1