Example #1
0
        public MainWindow()
        {
            InitializeComponent();

            _gameEngine = new Engine.Engine();

            _gameEngine.Game.Board.ItemMoved += RenderCanvas;

            foreach (var cell in _gameEngine.Game.Board.Rows.SelectMany(r => r))
            {
                var border = new Rectangle()
                {
                    Stroke          = new SolidColorBrush(Colors.Black),
                    StrokeThickness = 1,
                    Width           = unitSize,
                    Height          = unitSize
                };

                main.Children.Add(border);

                Canvas.SetLeft(border, cell.X * unitSize);
                Canvas.SetTop(border, cell.Y * unitSize);
            }

            base.KeyDown += OnKey;

            _gameEngine.Start();
        }
Example #2
0
        public ActionResult Index(bool restart = false, string move = null)
        {
            if (!_engine.IsRunning || restart)
            {
                _engine.Start();
            }

            switch (move)
            {
            case "left":
                _engine.Game.MoveActiveTetromino(UniversalGrid.Geometry.Direction.Left);
                break;

            case "right":
                _engine.Game.MoveActiveTetromino(UniversalGrid.Geometry.Direction.Right);
                break;

            case "down":
                _engine.Game.MoveActiveTetromino(UniversalGrid.Geometry.Direction.Down);
                break;

            case "rotate":
                _engine.Game.RotateActiveTetromino();
                break;
            }

            if (restart || !string.IsNullOrEmpty(move))
            {
                return(new RedirectResult("/"));
            }

            return(View(_engine.Game.Board));
        }
Example #3
0
        static void Main(string[] args)
        {
            Engine.Engine engine = new Engine.Engine();
            engine.Start();

            Console.ReadKey();

            engine.Stop();
        }
Example #4
0
        static void Main(string[] args)
        {
            var engine = new Engine.Engine();

            engine.Game.Board.ItemMoved += OnChange;

            engine.Start();

            while (true)
            {
                var key = Console.ReadKey();

                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }

                switch (key.Key)
                {
                case ConsoleKey.LeftArrow:
                    engine.Game.MoveActiveTetromino(Direction.Left);
                    break;

                case ConsoleKey.RightArrow:
                    engine.Game.MoveActiveTetromino(Direction.Right);
                    break;

                case ConsoleKey.UpArrow:
                    engine.Game.RotateActiveTetromino();
                    break;

                case ConsoleKey.DownArrow:
                    engine.Game.MoveActiveTetromino(Direction.Down);
                    break;
                }
            }
        }
Example #5
0
 private void Resume()
 {
     engine.Start();
     Hide();
 }
        public void TestSampleInput()
        {
            var input          = ReadAllLines("test.000.in.txt");
            var expectedOutput = ReadAllLines("test.000.out.txt");

            var output = engine.Start(input);

            CompareOutput(expectedOutput, output);
        }