Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pętla labiryntu

Ostatnio zmodyfikowano 2015-11-11 13:26
Autor Wiadomość
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:

C/C++
for( int y = pozycjaY; y < wysokosc; y++ )
{
    for( int x = pozycjaX; x < szerokosc; x++ )
    {
        cout << labirynt[ y ][ x ];
    }
    cout << endl;
}
P-139904
Gibas11
» 2015-11-10 22:28:10
A jak chcesz żeby był w środku, skoro zaczynasz od jego współrzędnych?
P-139905
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.
P-139913
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.
P-139916
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.
P-139918
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ś):
C/C++
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 ];
    }
}
P-139922
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ą.
P-139923
« 1 »
  Strona 1 z 1