public void RemoveHintArrows() { if (m_ArrowRed1 != null) { m_ArrowRed1.Close(); m_ArrowRed1 = null; } if (m_ToTop1 != null) { m_ToTop1.Close(); m_ToTop1 = null; } if (m_ToLeft1 != null) { m_ToLeft1.Close(); m_ToLeft1 = null; } if (m_ToRight1 != null) { m_ToRight1.Close(); m_ToRight1 = null; } if (m_ToDown1 != null) { m_ToDown1.Close(); m_ToDown1 = null; } if (m_ArrowBlack1 != null) { m_ArrowBlack1.Close(); m_ArrowBlack1 = null; } if (m_ToTop2 != null) { m_ToTop2.Close(); m_ToTop2 = null; } if (m_ToLeft2 != null) { m_ToLeft2.Close(); m_ToLeft2 = null; } if (m_ToRight2 != null) { m_ToRight2.Close(); m_ToRight2 = null; } if (m_ToDown2 != null) { m_ToDown2.Close(); m_ToDown2 = null; } int nCntZero = 0; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { if (MovementDecision.g_AllocCharacters[i, j] == 0) { nCntZero++; } } } if (nCntZero >= 8 * 8 / 2) { picRet1.Image = null; picRet2.Image = null; lbStep1.Text = "Paso 1"; lbStep2.Text = "Paso 2"; } }
private void PlaceHintArrows(int nLeft, int nTop) { int STEPX = Global.DEF_MAIN_BOARD_W / 8; int STEPY = Global.DEF_MAIN_BOARD_H / 8; if (Global.g_moveStep1 != Global.MOVEMENT.Empty) { if (m_ArrowRed1 == null) { m_ArrowRed1 = new Arrow(); m_ArrowRed1.Show(); } int nX = nLeft + Global.g_moveStep1.nY * STEPX + STEPX / 2 - 20; int nY = nTop + Global.g_moveStep1.nX * STEPY; m_ArrowRed1.Location = new Point(nX, nY); int nD = Global.g_moveStep1.nD; // top if (nD == 0) { if (m_ToTop1 == null) { m_ToTop1 = new ToTop(); m_ToTop1.Show(); } nY = nTop + Global.g_moveStep1.nX * STEPY - (STEPY / 2 - 10); m_ToTop1.Location = new Point(nX, nY); } else if (nD == 1) // left { if (m_ToLeft1 == null) { m_ToLeft1 = new ToLeft(); m_ToLeft1.Show(); } nX = nLeft + Global.g_moveStep1.nY * STEPX - (STEPX / 2 - 20); nY += m_ToLeft1.Height / 2; m_ToLeft1.Location = new Point(nX, nY); } else if (nD == 2) // right { if (m_ToRight1 == null) { m_ToRight1 = new ToRight(); m_ToRight1.Show(); } nX = nLeft + Global.g_moveStep1.nY * STEPX + (STEPX / 2 - 10); nY += m_ToRight1.Height / 2; m_ToRight1.Location = new Point(nX, nY); } else if (nD == 3) // bottom { if (m_ToDown1 == null) { m_ToDown1 = new ToDown(); m_ToDown1.Show(); } nY = nTop + Global.g_moveStep1.nX * STEPY + STEPY / 2 - 10; m_ToDown1.Location = new Point(nX, nY); } } if (Global.g_moveStep2 != Global.MOVEMENT.Empty) { if (m_ArrowBlack1 == null) { m_ArrowBlack1 = new BlackArrow(); m_ArrowBlack1.Show(); } int nX = nLeft + Global.g_moveStep2.nY * STEPX + STEPX / 2 - 20; int nY = nTop + Global.g_moveStep2.nX * STEPY; m_ArrowBlack1.Location = new Point(nX, nY); int nD = Global.g_moveStep2.nD; // top if (nD == 0) { if (m_ToTop2 == null) { m_ToTop2 = new ToTop2(); m_ToTop2.Show(); } nY = nTop + Global.g_moveStep2.nX * STEPY - (STEPY / 2 - 10); m_ToTop2.Location = new Point(nX, nY); } else if (nD == 1) // left { if (m_ToLeft2 == null) { m_ToLeft2 = new ToLeft2(); m_ToLeft2.Show(); } nX = nLeft + Global.g_moveStep2.nY * STEPX - (STEPX / 2 - 20); nY += m_ToLeft2.Height / 2; m_ToLeft2.Location = new Point(nX, nY); } else if (nD == 2) // right { if (m_ToRight2 == null) { m_ToRight2 = new ToRight2(); m_ToRight2.Show(); } nX = nLeft + Global.g_moveStep2.nY * STEPX + (STEPX / 2 - 10); nY += m_ToRight2.Height / 2; m_ToRight2.Location = new Point(nX, nY); } else if (nD == 3) // bottom { if (m_ToDown2 == null) { m_ToDown2 = new ToDown2(); m_ToDown2.Show(); } nY = nTop + Global.g_moveStep2.nX * STEPY + STEPY / 2 - 10; m_ToDown2.Location = new Point(nX, nY); } } }