Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Kuba
Neregistrovaný
Avatar
Kuba:6.1.2013 16:50

Ahojte, našel by se tu někdo, kdo by mi mohl pomoci s mojí textovou hrou v C#? Potřeboval bych helfnout s jednou částí, ze které nemůžu vybruslit. Díky za každou reakci! Kuba

 
Odpovědět
6.1.2013 16:50
Avatar
Kuba
Neregistrovaný
Avatar
Kuba:6.1.2013 16:55

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...

 
Nahoru Odpovědět
6.1.2013 16:55
Avatar
Зайчик
Člen
Avatar
Odpovídá na
Зайчик:6.1.2013 18:18

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.

Nahoru Odpovědět
6.1.2013 18:18
Коммунизм для нашего будущего!
Avatar
Зайчик
Člen
Avatar
Зайчик:6.1.2013 18:22

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++;
}
Editováno 6.1.2013 18:23
Nahoru Odpovědět
6.1.2013 18:22
Коммунизм для нашего будущего!
Avatar
kubas45
Člen
Avatar
Odpovídá na Зайчик
kubas45:6.1.2013 21:07

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š..

 
Nahoru Odpovědět
6.1.2013 21:07
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na kubas45
David Hartinger:6.1.2013 21:12

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.

Nahoru Odpovědět
6.1.2013 21:12
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na kubas45
Kit:6.1.2013 21:19

Kam jinam bys to chtěl napsat než do databáze?

Nahoru Odpovědět
6.1.2013 21:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Зайчик
Člen
Avatar
Зайчик:7.1.2013 1:09

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

Nahoru Odpovědět
7.1.2013 1:09
Коммунизм для нашего будущего!
Avatar
Зайчик
Člen
Avatar
Зайчик:7.1.2013 1:12

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

Nahoru Odpovědět
7.1.2013 1:12
Коммунизм для нашего будущего!
Avatar
matesax
Tvůrce
Avatar
matesax:7.1.2013 5:51

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...

Editováno 7.1.2013 5:52
 
Nahoru Odpovědět
7.1.2013 5:51
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:7.1.2013 6:25

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.

Nahoru Odpovědět
7.1.2013 6:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Kit
matesax:7.1.2013 6:37

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...

 
Nahoru Odpovědět
7.1.2013 6:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.