Exemple #1
0
    /// <summary>
    /// 回合制 轮流走棋 ,itween 运动完成后调用
    /// </summary>
    public void TBS()
    {
        if (whoWalk == 着法状态.到红方走)
        {
            whoWalk = 着法状态.到黑方走;
        }
        else//到黑方走
        {
            whoWalk = 着法状态.到红方走;
        }

        UpdateChessGame();
        ResetChessReciprocalStateEvent();
        Chess_Boss.DetectBeAttacked(CalculateUtil.chess2Vector, CalculateUtil.vector2Chess);
    }
Exemple #2
0
 /// <summary>
 /// 悔棋点击事件
 /// </summary>
 public void Undo_Click()
 {
     if (maps.Count >= 3)
     {
         Dictionary <GameObject, Vector2> temp = maps[maps.Count - 1 - 2];
         foreach (KeyValuePair <GameObject, Vector2> kvp in temp)
         {
             CalculateUtil.ResetChessByMaps(kvp.Key, kvp.Value);
         }
         maps.RemoveRange(maps.Count - 2, 2);
         CalculateUtil.UpdateChessData();
         ResetChessReciprocalStateEvent();
         Chess_Boss.DetectBeAttacked(CalculateUtil.chess2Vector, CalculateUtil.vector2Chess);
     }
     else
     {
         //GameObject.Find("UndoButton").GetComponent<Button>().enabled = false;
     }
 }
Exemple #3
0
 /// <summary>
 /// 通过AI来移动
 /// </summary>
 /// <param name="chess2Vector"></param>
 /// <param name="vector2Chess"></param>
 /// <param name="target">移动的目标位置</param>
 /// <param name="realMove">是真的移动还是假设移动?</param>
 public void Move(Dictionary <GameObject, Vector2> chess2Vector, Dictionary <Vector2, GameObject> vector2Chess, Vector2 target, bool realMove)
 {
     Vector2[] canMovePoints = CanMovePoints(chess2Vector, vector2Chess).ToArray();
     //真正的移动
     if (realMove)
     {
     }
     else//假设移动
     {
         for (int i = 0; i < canMovePoints.Length; i++)
         {
             if (target == canMovePoints[i])
             {
                 //假设移动完后,获取移动后的棋局状况 然后再检测有没有将军
                 ArrayList moveAssumptionData = CalculateUtil.MoveAssumption(gameObject, target);
                 //这里假设后的检测将军需要检测是否是我方受将军,是则不允许这么走
                 //.......TODO
                 Chess_Boss.DetectBeAttacked((Dictionary <GameObject, Vector2>)moveAssumptionData[0], (Dictionary <Vector2, GameObject>)moveAssumptionData[1]);
             }
         }
     }
 }