Exemple #1
0
        /// <summary>
        /// Metoda pro odkryti policka
        /// </summary>
        /// <param name="x">Aktualni souradnice x na plose</param>
        /// <param name="y">Aktualni souradnice y na plose</param>
        public virtual void OdkryjHerniPolicko(int x, int y)
        {
            //Kontroluje za je policko skryte
            if (herniPlocha.OdkryjPolicko(x, y))
            {
                KontrolaStavuPolicka = true;
                if (herniPlocha.OdkrytePolicko == HerniPrvek.Lod)    //Kdyz se na policku bude nachazet lod
                {
                    Pocitac.Logika  = true;
                    Pocitac.Policko = HerniPrvek.Lod;
                    for (int i = 0; i < seznamLodi.Count; i++)
                    {
                        if (seznamLodi[i].SkontrolujPozici(x, y))
                        {
                            Pocitac.VelikostZasazeneLode = seznamLodi[i].VelikostLode;
                            //Kontrola zda lod nebyla znicena
                            if (seznamLodi[i].Znicena())
                            {
                                Zvuky.ZniceniLode();
                                Hra.Zprava("Zasáhl si, a zničil jsi loď " + seznamLodi[i].ToString() + " !!!!", ConsoleColor.DarkGreen, ConsoleColor.White);
                                Pocitac.Logika = false;
                                seznamLodi.Remove(seznamLodi[i]);  //Znicenou lod vymaze ze seznamu lodi
                                zniceneLode++;
                                pocetZashu++;
                            }
                            else
                            {
                                Zvuky.ZasahLode();
                                Hra.Zprava("Zasahl si loď " + seznamLodi[i].ToString() + "!!!!", ConsoleColor.DarkGreen, ConsoleColor.White);
                                pocetZashu++;
                            }
                        }
                    }
                    //Prekresleni plochy
                    Hra.NaTahu();
                    Hra.HerniOkno(this);
                    System.Threading.Thread.Sleep(1000);
                }

                else if (herniPlocha.OdkrytePolicko == HerniPrvek.Voda)
                {
                    Pocitac.Policko = HerniPrvek.Voda;
                    Zvuky.Voda();
                    Hra.NaTahu();
                    Hra.HerniOkno(this);
                    System.Threading.Thread.Sleep(1000);
                }
                KontrolaStavuPolicka = true;
            }
            //Kdyz se snazime odkryt odkryte policko
            else
            {
                Zvuky.Chyba();
                Hra.Zprava("Tuto pozici jste už odkryly. Hrajte znovu!!!!!!!", ConsoleColor.Red, ConsoleColor.Cyan);
                KontrolaStavuPolicka = false;
            }
        }