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(); }
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)); }
static void Main(string[] args) { Engine.Engine engine = new Engine.Engine(); engine.Start(); Console.ReadKey(); engine.Stop(); }
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; } } }
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); }