public void BoardDrawing() { var game = new TetrisGame(new Vec2i(10, 20), new PlayerScoreFile("helo.txt")); var board = new TetrisBoard(new Vec2i(6, 12)); board.Draw(new Tetromino(TetrisCell.L, new int[, ] { { 0, 0, 1 }, { 1, 1, 1 }, { 0, 0, 0 }, }), new Vec2i(2, 5)); board.Draw(new Tetromino(TetrisCell.T, new int[, ] { { 0, 1, 0 }, { 1, 1, 1 }, { 0, 0, 0 }, }), new Vec2i(1, 4)); // I'm sorry var expected_board = new TetrisCell[12][] { new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, TetrisCell.T, 0, 0, 0 }, new TetrisCell[6] { 0, TetrisCell.T, TetrisCell.T, TetrisCell.T, TetrisCell.L, 0 }, new TetrisCell[6] { 0, 0, TetrisCell.L, TetrisCell.L, TetrisCell.L, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, new TetrisCell[6] { 0, 0, 0, 0, 0, 0 }, }; Assert.Equal(expected_board, board.Cells); }
void OnGUI() { if (board != null) { Event e = Event.current; switch (e.type) { case EventType.keyDown: if ((e.keyCode == KeyCode.A || e.keyCode == KeyCode.LeftArrow) && areKeysUp) { board.MoveShapeLeft(); areKeysUp = false; } else if ((e.keyCode == KeyCode.D || e.keyCode == KeyCode.RightArrow) && areKeysUp) { board.MoveShapeRight(); areKeysUp = false; } else if (e.keyCode == KeyCode.J || e.keyCode == KeyCode.Z) { board.RotateShape(TetrisShape.RotateDirection.CounterClockwise); } else if (e.keyCode == KeyCode.L || e.keyCode == KeyCode.C) { board.RotateShape(TetrisShape.RotateDirection.Clockwise); } else if (e.keyCode == KeyCode.Space && areKeysUp) { board.DropShape(); areKeysUp = false; } break; case EventType.keyUp: areKeysUp = true; break; } board.Draw(); } else { if (GUILayout.Button("New Game?")) { board = ScriptableObject.CreateInstance <TetrisBoard>(); board.parentWindow = this; } } }
public void canvasPaintHandler(Grasshopper.GUI.Canvas.GH_Canvas canvas) { board.Draw(); }