コード例 #1
0
        //private static Facade instance = null;

        //public static Facade Instance(int row,int col, int lvl, int clearlvl)
        //{
        //    if (instance == null)
        //    {
        //        instance = new Facade(row,col,lvl, clearlvl);
        //    }
        //    return instance;
        //}


        public Facade(int row, int col, int lvl, int clearlvl)
        {
            this.rows   = row;
            this.colums = col;
            bool gamestatus = false;

            do
            {
                creator    = new Creator(colums, rows);
                table      = creator.Create(lvl);
                board      = table.GetBoard();
                gamestatus = equal(table.GetBoard());
            }while (gamestatus == false);
            commandS = new CommandSave(table);
            commandR = new CommandRandom(creator, clearlvl, table);
            invoker  = new Invoker();
            invoker.SetCommand(commandS);
        }
コード例 #2
0
        private Session()
        {
            int  weight = 4, hight = 4, res = 50, i = 4, hardmodN = 0;
            char hardmodC = 'n';
            bool a        = true;

            do
            {
                try
                {
                    Console.Write("\n vv count of stolbsow: ");
                    weight = Console.ReadKey().KeyChar - 48;
                    Console.Write("\n vv count of strok: ");
                    hight = Console.ReadKey().KeyChar - 48;
                    Console.Write("\n vv lvl from 1-10: ");
                    bool countof = Int32.TryParse(Console.ReadLine(), out res);
                    Console.Write("\n Do you whant to on hard mode(y/n):");
                    hardmodC = Console.ReadKey().KeyChar;
                }
                catch (InvalidCastException e)
                {
                    Console.WriteLine("Eror" + e);
                }
                if (((weight * hight) - 16 == 0) && (res > 0) && (res <= 10) && ((hardmodC == 'n') || (hardmodC == 'y')))
                {
                    a = false;
                }
            } while (a);
            res = res * 10;
            Creator creator = new Creator(weight, hight);
            ITable  table   = creator.Create(res);

            if (hardmodC == 'y')
            {
                hardmodN = 1;
            }
            CommandSave   commandS = new CommandSave(table);
            CommandRandom comandR  = new CommandRandom(creator, res, table);
            //CommandUP commandU = new CommandUP(table);
            Invoker invoker = new Invoker();

            invoker.SetCommand(commandS);
            invoker.Run();

            while (equal(table.GetBoard(), weight, hight))
            {
                Console.WriteLine();
                if (i % 3 == 0)
                {
                    invoker.SetCommand(comandR);
                    invoker.Run();
                    Console.WriteLine("=) ahahaha =)");
                }
                i += hardmodN;
                invoker.SetCommand(commandS);
                cout(table.GetBoard());
                Console.WriteLine("1 - up, 2 - down, 3 - right, 4 - left, 5 - cansel, 9 - give up");
                int side = (int)Console.ReadKey().KeyChar - 48;
                Console.Clear();
                switch (side)
                {
                case 1:
                { invoker.Run();
                  //invoker.SetCommand(commandU); invoker.Run();
                  invoker.SetCommand(commandS); invoker.Run();
                  break; }

                case 2:
                { invoker.Run(); table.Down(); invoker.Run(); break; }

                case 3:
                { invoker.Run(); table.Right(); invoker.Run(); break; }

                case 4:
                { invoker.Run(); table.Left(); invoker.Run(); break; }

                case 5:
                { invoker.Cancel(); break; }

                case 9:
                {
                    Console.WriteLine("Loser!! ha");
                    Thread.Sleep(1000);
                    goto Exit;
                }

                default: { Console.WriteLine(" - incorect number"); break; }
                }
            }
            cout(table.GetBoard());
            Console.WriteLine("WIN !!!!!!!!!!!!!");
            Console.ReadKey();
            Exit : Environment.Exit(0);
        }