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
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 15:34

Čaute,
Dělám konzolovou aplikaci ve Visual Studio a potřebuji poradit.
Potřebuji každou 1 minutu spustit tento kód

hrac1.UberHP(5);

Jak tohohle mám docílit ? (Programuji v C# a v programu: Visual Studio Basic 2015)

Editováno 29.2.2016 15:35
 
Odpovědět
29.2.2016 15:34
Avatar
Nahoru Odpovědět
29.2.2016 15:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 15:51

No jenomže, když to napíše takhle

while (nemocnice == 1)
            {
                do
                {
                    while (!Console.KeyAvailable)
                    {
                        Console.WriteLine("Toto by se mělo zobrazit každých 10 sekund");
                        Thread.Sleep(100000);
                    }
                } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
                {
                    Console.WriteLine("Ukončil jsi nemocnici.");
                    nemocnice = 0;
                }
                Console.ReadKey();
            }

a zmáčknu ESC, tak se mi ten kód ukončí až když uběhne ta minuta. Nedá se to napsat nějak, aby se po zmáčknutí nemuselo čekat než doběhne ta minuta ?
PS: Nemusíš být hned takhle agresivní.

 
Nahoru Odpovědět
29.2.2016 15:51
Avatar
Odpovídá na lukas.sei
Michal Štěpánek:29.2.2016 16:16

Tím Timerem jsem nemyslel uspat vlákno, ale použít Timer (časovač) například tak, jak uvedl Juraj Mlich

Nahoru Odpovědět
29.2.2016 16:16
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 16:41

No dobře, to bych měl.

A ještě mám jednu otázku. Když napíšu switch a v jedné case si uložím do proměnné hodnotu, po ukončení switche ta hodnota v té proměnné už není. Dá se nějak udělat, aby tam ta hodnota zůstala ?

int promenna;
int pravda = 1;
switch (pravda)
{
case 1:
promenna = 25; //tu do te promenné nahraju číslo 25
break
}
Console.WriteLine("promenna"); //tu však ale už zase v sobě nemá uložené vůbec nic :/
 
Nahoru Odpovědět
29.2.2016 16:41
Avatar
Odpovídá na lukas.sei
Lukáš Křehula:29.2.2016 16:46

Když použiješ uvozovky tak vypisuješ text.

Console.WriteLine(promenna);
 
Nahoru Odpovědět
29.2.2016 16:46
Avatar
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 16:49

jo to vím. To je pouze chyba přepisu. Každopádně když to napíšu správně, tak dostanu chybu "use of unassigned local variable"

 
Nahoru Odpovědět
29.2.2016 16:49
Avatar
Odpovídá na lukas.sei
Lukáš Křehula:29.2.2016 17:01

Musíš deklarovat hodnotu proměnné hned na začátku

int promenna = 0;
 
Nahoru Odpovědět
29.2.2016 17:01
Avatar
Odpovídá na lukas.sei
Neaktivní uživatel:29.2.2016 17:22

Pokud chceš ukládat "pravdu", pak je lepší používat datový typ boolean (bool) a hodnoty true a false.

Nahoru Odpovědět
29.2.2016 17:22
Neaktivní uživatelský účet
Avatar
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 17:22

ano, ale to tam při vypsání bude 0. Já potřebuji, aby tam zůstala ta hodnota, které se tam nahrála v switchi.

 
Nahoru Odpovědět
29.2.2016 17:22
Avatar
Odpovídá na lukas.sei
Neaktivní uživatel:29.2.2016 17:24

Nebude, protože se do proměnné přiřadí ve switchi 25

Nahoru Odpovědět
29.2.2016 17:24
Neaktivní uživatelský účet
Avatar
lukas.sei
Člen
Avatar
lukas.sei:29.2.2016 17:31

A jo. Tak to se omlouvám :D. Předtím jsem musel udělat něco špatně :D teď vše funguje dobře.

 
Nahoru Odpovědět
29.2.2016 17:31
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 13 zpráv z 13.