private void tile_Click(object sender, EventArgs e) { PictureBoxTile clickedTile = sender as PictureBoxTile; bool legalMove = false; if (m_SelectedSoldier != null) { Move move = new Move(m_SelectedSoldier.Coordinate, clickedTile.Coordinate); legalMove = r_GameEngine.TryMove(move); m_TrysUntilGiveHintCounter++; if (!legalMove) { if (r_TrysUntilGiveHint < m_TrysUntilGiveHintCounter && r_LogicsEventsQueue.Count == 0) { HintBlinkAviableLocations(); m_TrysUntilGiveHintCounter = 0; } } } else if (r_LogicsEventsQueue.Count == 0) { clickedTile.Blink(eBlinkColor.Red); } }
private void initializeBoard() { int boardSize = r_GameEngine.GetBoardSize(); for (int i = 0; i < boardSize; i++) { for (int j = 0; j < boardSize; j++) { PictureBoxTile newPictureBoxTile = new PictureBoxTile(new Coordinate(i, j)); newPictureBoxTile.Click += tile_Click; Controls.Add(newPictureBoxTile); r_PictureBoxTilesMatrix[i, j] = newPictureBoxTile; } } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); foreach (Control control in Controls) { PictureBoxTile pictureBox = control as PictureBoxTile; if (pictureBox != null) { e.Graphics.DrawImage( pictureBox.Image, pictureBox.Location.X, pictureBox.Location.Y, pictureBox.Width, pictureBox.Height); } } }