Piszę grę tekstową, jak wywołać poruszanie się?

0

Witam, od niedawna uczę się C++ i po części staram się odtowrzyć mechanikę gry tekstowej Otchłań napisanej w C++. Problem polega na tym że nie wiem jak wykonać kod polegający na poruszaniu się- oto mój skrypt.

// Poruszanie sie

#include <iostream>
#include <conio.h>
#include <string>
using namespace std;

void start()
{
    cout << "Opis sytuacji \n Kierunki N S" << endl;
    string wybor, N;
    cin >> wybor;
    int droga;

    switch (droga)
    {
        case 1:
            if (wybor == N)
                pl();
            break;
    }
}

void pl()
{
    cout << "Jestes na polnocy \n Kierunki S" << endl;
    string wybor1;
    cin >> wybor1;
}

int main()
{
    start();
}

Gdyby ktoś był w stanie udzielić mi pomocy odnośnie tego jak przejść z jednej funkcji do drugiej albo jak ładnie napisać skrypt poruszania się między miejscami byłbym bardzo wdzięczny

0

Umawiamy się że 0 to dom, 1 to droga a 2 to las.

int aktualneMiejsce = 0;

void pokazAktualneMiejsce() {
    if (aktualneMiejsce == 0) {
        cout << "Jesteś w domu";
    }
    if (aktualneMiejsce == 1) {
        cout << "Jesteś na drodze";
    }
    if (aktualneMiejsce == 2) {
        cout << "Jesteś w lesie";
    }
}

void zmienMiejsce(int noweMiejsce) {
    aktualneMiejsce = zmienMiejsce;
}

int main() {
    zmienMiejsce(0);
    pokazAktualneMiejsce();
    zmienMiejsce(1);
    pokazAktualneMiejsce();
    zmienMiejsce(2);
    pokazAktualneMiejsce();
}
1

W wersji najbardziej podstawowej musisz mieć w grze mapę oraz zapisaną w pamięci pozycję gracza (x, y) - podczas naciskania W, A, S, D odpowiednio aktualizujesz położenie gracza i wyświetlasz opis dla danej części (kafelki) mapy.

0

Ja to zrobiłem kiedyś na na strukturach i tablicach w C, do tego pthreads wątki mobów i playera. Miałem też wskaźniki na funkcje obliczające zderzenia i akcje etc. etc. Mam ten kod na repo, ale to czyste C zgodne z POSIXEM. Myśle, żeby posprzątac ten kod bo jest miejscami głupi i gdzieś wrzucić. Natomiast co do Otchłani, mimo, że nie ma to znaczenia to wiedz, że jest ona napisana w Pascalu i przeportowana na FreePascala kompilowana Lazarusem w jakiejś tam wersji fpc.

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