NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
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í.

Diskuze – Had

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
David Novák
Tvůrce
Avatar
David Novák:5.6.2016 10:29

Chtělo by na tom ještě zapracovat.. ;)

  1. Máš méně vertikálních políček - rychlost pohybu hada je tedy nekonzistentní
  2. Po 19 políčkách jsem nedostal nové..
  3. Pohyb je špatně řešený - podržením směrové šipky se zablokuje na daný počet kroků
  4. Při podržení šipky např. doprava se ti had smrskne postupně na velikost 1 políčka
Odpovědět
5.6.2016 10:29
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Ondřej Krsička:5.6.2016 13:03

1. To je tím, že šířka políčka je menší jak výška - nastavení fontu v konzoli.

Na zbytek se podívám :)

 
Odpovědět
5.6.2016 13:03
Avatar
David Jančík
Vlastník
Avatar
David Jančík:5.6.2016 14:53

Si pamatuji, že jsem se jednou na střední o volné hodině nudil, tak jsem si naprogramoval Hada a po zbytek volné hodiny jsem ho hrál :D

Odpovědět
5.6.2016 14:53
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Novák
Ondřej Krsička:6.6.2016 17:35

Nevíš, čím by mohl být bod 3 a 4? Nejvíc mi vadí bod 3. Řekl bych, že to bude něco s Thread.Sleep(), ale nejsem si jistý.
PS: Pokud nemáš čas, kašli na to... :D

 
Odpovědět
6.6.2016 17:35
Avatar
František Koutenský:8.6.2016 12:33
if (Console.KeyAvailable)
{
    ConsoleKey vstup = Console.ReadKey().Key;
    if (vstup != Smer)
    {
        if (vstup == ConsoleKey.UpArrow ||
            vstup == ConsoleKey.DownArrow ||
            vstup == ConsoleKey.LeftArrow ||
            vstup == ConsoleKey.RightArrow)
        {
            //Zajištění, že had se najednou nevydá doprotisměru ("nekousne se" do článku za hlavou)
            if (!(vstup == ConsoleKey.UpArrow && Smer == ConsoleKey.DownArrow) &&
                !(vstup == ConsoleKey.DownArrow && Smer == ConsoleKey.UpArrow) &&
                !(vstup == ConsoleKey.LeftArrow && Smer == ConsoleKey.RightArrow) &&
                !(vstup == ConsoleKey.RightArrow && Smer == ConsoleKey.LeftArrow))
            {
                Smer = vstup;
            }
        }
    }
    continue;
}

Předtím šlo změnit směr (stisknout klávesu) pouze jednou za celý cyklus while, když jsi naklikal více znaků, nebo podržel nějaký znak, tak to funkce Console.KeyAva­ilable zaznamenala na určitý počet cyklů "dopředu".
Řeší to příkaz continue, který vrací na začátek cyklu while.
Smrsknutí nastává pouze při pohybu doprava a je to dáno tím, že stisknuté znaky se vypisují za kurzor a tím "překreslují" tělo hada.

Také jsem tu asi před týdnem publikoval konzolového hada a mám tam stejný problém, takže to též musím ještě přepsat. :D

 
Odpovědět
8.6.2016 12:33
Avatar
Odpovídá na František Koutenský
Ondřej Krsička:8.6.2016 17:00

a to spraví jen to continue? Tak to by mě nenapadlo :D

 
Odpovědět
8.6.2016 17:00
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 6 zpráv z 6.