public Game(ushort rows, ushort cols, ushort colors) { m_board = new Board(rows, cols, colors); m_view = new View(rows, cols, colors); m_view.OnClick += ClickHandler; m_view.OnMoveCompleted += MoveCompletedHandler; m_view.Show(); // place first 5 Tuple<Point, ushort>[] pieces = new Tuple<Point, ushort>[5]; do { for (int i = 0; i < 5; i++) pieces[i] = m_board.PlaceRandom(); // if we get a completed line, try again if (m_board.CheckLines(pieces[0].Item1).Count > 0) m_board.Clear(); else break; } while (true); for (int i = 0; i < 5; i++) m_view.Place(pieces[i].Item1, pieces[i].Item2); m_state = GameState.On; }