Example #1
0
        static void StartWomanWishing()
        {
            IWishable woman = oldWoman as IWishable;

            if (woman == null)
            {
                return;
            }

            Console.WriteLine($"Слышала {oldWoman.Name}, что есть в синем море {fish.Name}, которая желания исполняет");
            bool wasTry = false;

            while (woman.HasNewWish() && woman.CanWish)
            {
                string str = wasTry ? $"И снова {oldMan.Name} пошел испытывать удачу" :
                             $"И отправила {oldWoman.Name} своего мужа словить рыбку";
                Console.WriteLine(str);
                StartCatching(woman);
                wasTry = true;
            }

            if (wasTry)
            {
                if (woman.CanWish)
                {
                    Console.WriteLine($"Больше не стала испытывать судьбу {oldWoman.Name}. Поблагодарила рыбку за все добро!");
                }
            }
            else
            {
                Console.WriteLine("Слышать слышала, но с мужем решили не тратить время на поиски рыбки... ");
            }
        }
Example #2
0
        static void StartCatching(IWishable woman)
        {
            OldMan   man   = oldMan as OldMan;
            GoldFish gfish = fish as GoldFish;
            Wish     wish  = woman.AskAboutWish();

            if (man == null || gfish == null || wish == null)
            {
                return;
            }

            Console.WriteLine($"И забросил невод {man.Name}");
            if (man.Catch(gfish))
            {
                Console.WriteLine($"И словил {man.Name} золотую рыбку");
                Console.WriteLine($"Обратился {man.Name} к рыбке с просьбой исполнить желание жены - {wish.Name}");
                if (StartManWishing(wish, gfish))
                {
                    Console.WriteLine($"Порадовал {man.Name} свою жену, исполнил ее желание");
                }
                else
                {
                    Console.WriteLine($"Вот так и остались {man.Name} и {oldWoman.Name} ни с чем...");
                    woman.ResetWishes();
                }
            }
            else
            {
                Console.WriteLine($"И ничего не словил {man.Name}");
            }
        }