
C++ Draci doupe
Zdravim, snazim se naprogramovat v jazyce C++ vlastni pribeh draciho doupete. Jsem zacatecnik a rad bych se zeptal jestli je nejaky prikaz na to abych mohl prechazet v techto zavorkach {} ... ci jestli to jde nejak jednoduseji napsat.
priklad: if (a == 1)
{
cin >> a;
if (a == 1)
cout << "Jsi uvnitr krcmy. Citis zapach zvratek" << endl;
if (a == 2)
cout << "Obchazis krcmu kolem dokola, v krovi nachazis par zlatych." << endl;
cout << "+ 5 zlatych" << endl;
}
ˇ================================================= ================================================== =============================
Jde mi o to ze kdyz dam poprve prikaz 2 ( porozhlednout se kolem) tak abych nemusel psat znovu prikaz 1 timto zpusobem ale abych se vratil zpet nahoru na tento prikaz
{
cout << "Rozhodnul jsi se jit rovne. Po nejake dobe dojdes ke krcme.Chces jit dovnitr nebo se porozhlidnes kolem." << endl;
cout << endl;
cout << "1. Jit dovnitr" << endl;
cout << "2: Porozhledou se kolem!" << endl;
}
a jeste pokud bych si vybral znovu 2 tak aby me to zase neposlalo v tomto pripade pro zlaty ale abych to naprogramoval tak aby tam vyskocilo treba : Tuto moznost nemuzes znovu provest.
Dekuji
Najprv si zvoľ dátové štruktúry, v ktorých budeš mať uložené dáta hry, ako napr. popis miestností, možné akcie, aktuálny stav a pod. Potom môžeš písať hlavnú slučku hry.
Napríklad v tvojom konkrétnom prípade môžeš uložiť informácie o miestnostiach do objektov triedy Room. Tá by mala mať metódu print, ktorá sa vypíše, keď sa v nej budeš nachádzať. Tiež bude mať zoznam akcií actions, ktoré môžeš vykonať a zoznam vecí items, ktoré sa v nej nachádzajú. Vykonateľné akcie budú objekty triedy Action a budú mať vlastnosť pre svoj názov a metódu pre vykonanie. Veci v miestnosti, ktoré môže hráč zbierať, budú objekty triedy Item. Tie budú mať tiež minimálne svoj názov.
V stave hry si potrebuješ pamätať miestnosť, kde sa hráč nachádza a inventár vecí, ktoré má pri sebe.
Hlavná slučka potom bude vyzerať nejako takto:
Miestnosti budeš definovať na začiatku. Akcie budeš mať rôzne, napr. MoveAction, TakeAction, CompositeAction a pod. Vykonanie akcie môže modifikovať stav hry, stav miestnosti a stav akcie.
Díky moc :)
Mozno by bolo dobre keby si si nastudoval ze co to je stavovy automat. Da sa to aj kreslit.