Pętla labiryntu
Ostatnio zmodyfikowano 2015-11-11 13:26
rollo1990 Temat założony przez niniejszego użytkownika |
Pętla labiryntu » 2015-11-10 20:35:12 Witam chciałbym wyświetlić labirynt o rozmiarach ( wysokość, szerokość ) tak by wyświetlane były jedynie 2 pola sąsiednie w każdym kierunku, lecz gdy próbuje to zrobić albo coś mi się nie wyświetla albo nie mogę przemieścić gracza w labiryncie do końca. Chwilowo udało mi się wyświetlić tak pozycje gracza że scina tablice o wartość pozycji X i Y ale gracz nie jest w centrum wyświetlonego fragmentu labiryntu tylko w rogu. Poniżej zamieszczam kod odpowiedzialny za rysowanie labiryntu: for( int y = pozycjaY; y < wysokosc; y++ ) { for( int x = pozycjaX; x < szerokosc; x++ ) { cout << labirynt[ y ][ x ]; } cout << endl; }
|
|
Gibas11 |
» 2015-11-10 22:28:10 A jak chcesz żeby był w środku, skoro zaczynasz od jego współrzędnych? |
|
rollo1990 Temat założony przez niniejszego użytkownika |
» 2015-11-11 10:47:13 jeśli zacznę dwa pola wcześniej to zazwyczaj mi wykrzacza się kod gdy gracz jest przy ścianach. |
|
Gibas11 |
» 2015-11-11 11:34:21 Nie przypisuj w kodzie na stałe 2 , tylko zrób zmienną i w razie czego ją zmieniaj gdy postać jest blisko ściany. |
|
rollo1990 Temat założony przez niniejszego użytkownika |
» 2015-11-11 12:08:18 dzięki za radę, teraz wyświetla mi gracz po środku. Ale nadal nie wiem jak wyświetlić fragment mapy wielkości 5 na 5 z graczem po środku, niby w labiryncie widać 2 pola z górnych rogów ale z dolnych widać cały labirynt. |
|
Gibas11 |
» 2015-11-11 13:20:28 A fragment ma być 5x5? Masz pseudokod bez uwzględnienia tego co wcześniej mówiłem (nie wiem jak dokładnie to rozwiązałeś): for( int x = gracz.x - 2; x <= gracz.x + 2; x++ ) { for( int y = gracz.y - 2; y <= gracz.y + 2; y++ ) { cout << labirynt[ y ][ x ]; } }
|
|
rollo1990 Temat założony przez niniejszego użytkownika |
» 2015-11-11 13:26:42 Mam ustalone że to 2 to jest zmienna zależna od odległości do ścian jeśli gracz jest na pozycji 1 to ona też jest jeden tak by nie rysowała czegoś poza tablicą. |
|
« 1 » |