예제 #1
0
        public void ObradiGađanje(RezultatGađanja rezultat)
        {
            pucač.EvidentirajRezultat(rezultat);
            // ovisno o rezultatu treba promijeniti taktiku
            switch (rezultat)
            {
            case RezultatGađanja.Promašaj:
                return;

            case RezultatGađanja.Pogodak:
                PromijeniTaktikuUSlučajuPogotka();
                return;

            case RezultatGađanja.Potonuće:
                ZabilježiPotopljeniBrod();
                EliminirajPoljaOkoBroda(pucač.PogođenaPolja);
                if (duljineBrodova.Count > 0)
                {
                    PromijeniTaktikuUNapipavanje();
                }
                return;

            default:
                Debug.Assert(false, string.Format("Nepodržani rezultat gađanja {0}", rezultat.ToString()));
                return;
            }
        }
예제 #2
0
        private void JaGađam()
        {
            Console.Write("Ti gađaš: ");
            Polje           polje = UnosPolja();
            RezultatGađanja rez   = kompovaFlota.Gađaj(polje);

            if (rez == RezultatGađanja.Potonuće)
            {
                ++brojPotopljenihBrodova;
            }
            Console.WriteLine(rez.ToString());
        }
예제 #3
0
        public void ObradiGađanje(RezultatGađanja rezultat)
        {
            //DZ da testovi prođu
            switch (rezultat)
            {
            case RezultatGađanja.Potonuće:
                PromjeniTaktikuUNapipavanje();
                break;

            case RezultatGađanja.Pogodak:
                switch (TrenutnaTaktika)
                {
                case TaktikaGađanja.Napipavanje:
                    PromjeniTaktikuUOkruživanje();
                    break;

                case TaktikaGađanja.Okruživanje:
                    PromjeniTaktikuUSustavnoUništavanje();
                    break;

                case TaktikaGađanja.SustavnoUništavanje:
                    break;

                default:
                    Debug.Assert(false, string.Format("Nepodržana taktika {0}", TrenutnaTaktika.ToString()));
                    break;
                }
                break;

            case RezultatGađanja.Promašaj:
                break;

            default:
                Debug.Assert(false, string.Format("Nepodržani rezltat gađanja {0}", rezultat.ToString()));
                break;
            }
        }