예제 #1
0
        public Boolean ChytMys(Mapa.Smer smer) //pro pohyb
        {
            int sPosX = PosX,
                sPosY = PosY;

            switch (smer)
            {
            case Mapa.Smer.nahoru:
                PosY -= Posun;
                break;

            case Mapa.Smer.dolu:
                PosY += Posun;
                break;

            case Mapa.Smer.doprava:
                PosX += Posun;
                break;

            case Mapa.Smer.doleva:
                PosX -= Posun;
                break;
            }

            //ověření, zda není v cestě překážka
            char objekt = Mapa.VratObjektNaMape(PosX, PosY);

            foreach (char o in Mapa.zdi)
            {
                if (o == objekt)
                {
                    PosX = sPosX;  //navrátí původní hodnoty
                    PosY = sPosY;
                    return(false); //nemůže chodit přes zdi
                }
            }

            Mapa.UmistiObjekt(PosX, PosY, ZnakKocka);

            if (!Hra.VybiraPolohu)
            {
                //if(sPosX == PosX && sPosY > PosY)
                //  Mapa.UmistiObjekt(sPosX, sPosY, '┘');
                if (sPosY == PosY)
                {
                    Mapa.UmistiObjekt(sPosX, sPosY, '─');
                }
                else if (sPosX == PosX)
                {
                    Mapa.UmistiObjekt(sPosX, sPosY, '│');
                }
                PocetPohybu++;
            }
            else
            {
                Mapa.UmistiObjekt(sPosX, sPosY, ' ');
            }
            return(true);
        }
예제 #2
0
        static public void NastavHru()
        {
            Mapa.VytvorMapu();

            VybiraPolohu = true;
            Jerry        = new Mys(ZnakMys, 1);
            Tom          = new Kocka(ZnakKocka, 1);

            do
            {
                Update("Umístěte znak O, tam kde chcete, aby kočka začínala. Akci potvrďte enterem.");
                Tom.NastavStartPos(ZiskejSmer());
            } while (VybiraKocka);


            VybiraPolohu = true; //vybrání polohy pro myš

            do
            {
                Update("Umístěte znak x, tam kde chcete, aby myš začínala. Akci potvrďte enterem.");
                Jerry.NastavStartPos(ZiskejSmer());
            } while (VybiraPolohu);

            if (Mapa.VratObjektNaMape(KamenX, KamenY) == ' ')
            {
                Mapa.UmistiObjekt(KamenX, KamenY, 'K');
            }
            if (Mapa.VratObjektNaMape(DiraX, DiraY) == ' ')
            {
                Mapa.UmistiObjekt(DiraX, DiraY, 'D');
            }
            if (Mapa.VratObjektNaMape(BazinaX, BazinaY) == ' ')
            {
                Mapa.UmistiObjekt(BazinaX, BazinaY, 'B');
            }
        }