Пример #1
0
    public override void krok(Svet svet)
    {
        TypEntity[,] mapa = mapaViditelnosti(svet);
        Smer chteny_smer = Smer.Stuj;

        try {
            chteny_smer = chovani.pohyb(mapa, pozice);
        } catch (Exception e) {
            Console.WriteLine($"Hrac {znak} provedl neplatnou operaci: {e.ToString()}");
            Thread.Sleep(1500);
        }
        Pozice nova_pozice = pozice.prictiSmer(chteny_smer);

        // zkontroluj, ze timto smerem muze houbar jit
        if (svet.entitaNaPozici(nova_pozice) == null)
        {
            pozice = nova_pozice;
        }
        // seber houbu
        else if (svet.entitaNaPozici(nova_pozice).typ == TypEntity.Houba)
        {
            Console.WriteLine($"Vyborne, hrac {znak} sebral houbu!");
            Thread.Sleep(1500);
            svet.entity.Remove(svet.entitaNaPozici(nova_pozice));
            pozice = nova_pozice;
            ++pocet_hub;
        }
    }
Пример #2
0
    public override void krok(Svet svet)
    {
        // vyber nahodnou pristi pozici
        Smer   s           = (Smer)rnd.Next(6);
        Pozice nova_pozice = pozice.prictiSmer(s);

        if (svet.entitaNaPozici(nova_pozice) == null)
        {
            pozice = nova_pozice;
        }
        // sezer cloveka
        else if (svet.entitaNaPozici(nova_pozice).typ == TypEntity.Houbar)
        {
            Entita hrac = svet.entitaNaPozici(nova_pozice);
            Console.WriteLine($"Ale ne! Vlk si dal hrace {hrac.znak} ke svacine!");
            Thread.Sleep(1500);
            svet.entity.Remove(hrac);
            pozice = nova_pozice;
        }
    }