Diskuze: Prosím o pomoc
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Neregistrovaný
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Pro přiblížení: Hrající má vybrat ze dvou možností. Jedna je správná a druhá špatná. Když zvolí tu špatnou, potřebuji aby po pár krocích hra skončila. Pokud však zvolí správnou, musí hra normálně pokračovat dál. Já jsem dokázal jen to, aby hra skončila na tom levlu, ve kterým potřebuju. Skončí však, ale i u správné možnosti...
však na to stačí jen podmínka ne? Nevím co na tom hledáš za složitosti...
if(moznost == 1)
umres = 0; // pokud odpovíš dobře
else
umres = 1; // pokud odpovíš špatně do proměnné umřeš se zapíše 1čka
no a potom už jen porovnáváš v další otázce jestli je proměnná umres 0 nebo vetší
if(umres > 0)
umres++
else if( umres == 3) // 3ti krok
Console.WriteLine("umrel si"); // umřeš
Doufám že chápeš ten princip jak to myslím.
tady ti udělám ukázku "hry" jak bych si to představoval...
int umres = 0;
Console.WriteLine("Miluju chleby?");
string odpoved = Console.ReadLine();
if(odpoved == "ano")
umres = 0;
else
umres++;
Console.WriteLine("Rad strasim deti s chlebem na hlave?");
odpoved = Console.ReadLine();
if(odpoved == "ano")
umres = 0;
else
{
if(umres == 3)
// konec hry
else
umres++;
}
V klasickým céčku bych to takhle vyřešil. Ale hru dělám pomocí
databáze.
Nevím jestli to chápu správně, ale nějak nevím kam to napsat, co mi tu
píšeš..
To umres moc nechápu. Udělej si proměnnou body, při správné odpovědi je můžeš přidávat, při špatné odečítat. Pak jen kontroluješ jestli jsou > 0 abys mohl pokračovat.
ježiš to byl jen příklad co já vím jak tvůj kód vypadá... tím jsem chtěl jen říct že to jde pomocí podmínky tak zapoj trochu fantazie a mozek a uprav podmínku podle principu... copy paste ti vážně nepomůže to je úplná blbost xD... je to myšleno tak že si uděláš proměnnou kam se budou zapisovat "špatné odpovědi" no a pokud budou tři ( ty vždy porovnáš v další otázce nebo jak to máš) no a pokud budou tři tak se hra ukončí pokud ne pokračuje se dál
btw je úplně jedno jestli to děláš podle databáze prostě udělej podmínku pokud odpověděl špatně připočteš do proměnný že zadal špatně ... třeba "spatne++;" to se vždy porovná kolik jich tam už je no a pokud budou už ty tři nebo jak si to chtěl tak se hra ukončí přeci
Místo podmínek bych použil slovník. Klíčem budou odpovědi - hodnotou následující akce... Do slovníku tedy jen dosadíš odpověď hráče + specifikaci levlelu, číslo lokace,... Tedy jestli je to tak, že odpovědí je číslo... Jo a do toho slovníku bych ukládal akce jen s východiskem - jakmile by vrátil null, hra by se ukončila...
Automatem by to šlo také, ale v daném případě by ti asi dost podstatně narostl počet stavů, což bude zřejmě nežádoucí. Pochopil jsem, že kubas45 to chce udělat tak, aby hráč neměl možnost zjistit, kde udělal chybu.
No já udělal blbost s tím, že by v tom slovníku byly specifikace levelu tak. Dalo by se to snížit jen na odpovědi - ty by byly asi v databázi (id bude ta specifikace levelu, či tak něco) - a načítaly by se pro každou lokaci. Pochybuji, že by v textové hře někdo vymyslel kdoví jak dlouhý text. Takže by se pak ve slovníku přechovávalo jen minimum - a to si myslím, že by už šlo - ne? Nebyl by pak potřeba cyklus, ani podmínka...
Zobrazeno 12 zpráv z 12.