Niepoprawne działanie programu
Ostatnio zmodyfikowano 2012-01-12 14:33
Marys Temat założony przez niniejszego użytkownika |
Niepoprawne działanie programu » 2012-01-11 07:27:22 Witam ponownie, pisze programik generujący labirynt i mam problem. Skorzystałem sobie z algorytmu z tej stronki -> http://www.mazeworks.com/mazegen/mazetut/index.htm i czasami mi się generuje cały labirynt, a czasami nie. Wygląda to tak, że ustawiamy sobie jakiś index. Na samym początku index dodajmy do stosu CurrentTile i do mapy Visted. Później lecimy z pętlą i tam sprawdzam czy w danej komórce o index jest sąsiad jeśli jest to losujemy sobie kierunek, jeśli nie ma to zdejmujemy ze stosu CurrentTile obecny index i bierzemy poprzedni. Tutaj właśnie wszystko się sypie i nie wiem czemu. Nie zawsze odwiedza wszystkie indexy :/ Tile.pushCurrentTile( index ); Tile.pushVisted( index ); while( visted <= height * width - 1 ) { if( Tile.neightbor( index ) ) { int size = 0, way = 0; size = Tile.getSizeWay(); if( size > 0 ) { way = Tile.randomWay(); } else { cout << "Cos jest nie tak :/" << endl; } Graphics.deleteLine( way, index ); Tile.pushVisted( Tile.newIndex( index, way ) ); Tile.pushCurrentTile( Tile.newIndex( index, way ) ); index = Tile.newIndex( index, way ); visted++; } else { Tile.popCurrentTile(); index = Tile.topCurrentTile(); } } |
|
Marys Temat założony przez niniejszego użytkownika |
» 2012-01-12 14:33:58 A może po zamknięciu programu coś zostaje w pamięci? Jest w ogóle taka możliwość? Jeśli tak, to jak to wyczyścić? |
|
« 1 » |