コード例 #1
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}");
            }
        }
コード例 #2
0
        static bool StartManWishing(Wish wish, GoldFish gfish)
        {
            bool result = gfish.ConfirmWish(wish);

            if (result)
            {
                Console.WriteLine($"Согласилась {gfish.Name} исполнить желание в обмен на свою свободу");
                Console.WriteLine("Поблагодарил рыбку человек и отпустил ее в море");
                wish.IsConfirmed = true;
            }
            else
            {
                Console.WriteLine($"Отказалась {gfish.Name} исполнять очередное желание человека, слишком много их было");
                Console.WriteLine("Выскользнула рыбка из рук, упав в море... вслед за ней исчезло все, что было загадано ранее");
            }
            return(result);
        }
コード例 #3
0
 public bool Catch(GoldFish fish)
 {
     return(GetLuckyPerCent() > fish.GetResistCatching());
 }