示例#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
 public Kocka(char znak, int posun)
 {
     PocetPohybu = 0;
     Posun       = posun;
     //smazet
     PosX      = 1;
     PosY      = 1;
     ZnakKocka = znak;
     Mapa.UmistiObjekt(PosX, PosY, ZnakKocka);
 }
示例#3
0
 public static void Update(string zprava = "")
 {
     Console.Clear();
     if (!VybiraPolohu)
     {
         Console.SetCursorPosition(60, 2);
         Console.WriteLine("Je na řadě: " + Hraje.ToString());
         Console.SetCursorPosition(60, 3);
         Console.WriteLine("Počet pohybů: " + (Tom.PocetPohybu + Jerry.PocetPohybu));
     }
     Console.SetCursorPosition(0, 0);
     if (zprava != "")
     {
         Console.WriteLine(zprava);
     }
     Console.WriteLine(Mapa.VykresliMapu());
 }
示例#4
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');
            }
        }