Ejemplo n.º 1
0
    private void CheckKillKingWhenGo(GameObject firstGO)
    {
        GameObject[,] l = app.listChessMans;
        ChessManData chess = firstGO.GetComponent <ChessManData>();
        int          ii    = chess.i;
        int          jj    = chess.j;

        for (int i = ii + 1; i <= 9; i++)
        {
            if (l[i, jj].GetComponent <ChessManData>().mODECHESS == MODECHESS.Phao || l[i, jj].GetComponent <ChessManData>().mODECHESS == MODECHESS.Xe)
            {
                CheckKillKing(l[i, jj]);
                break;
            }
        }
        for (int j = jj + 1; j <= 8; j++)
        {
            if (l[ii, j].GetComponent <ChessManData>().mODECHESS == MODECHESS.Phao || l[ii, j].GetComponent <ChessManData>().mODECHESS == MODECHESS.Xe)
            {
                CheckKillKing(l[ii, j]);
                break;
            }
        }
        for (int j = jj - 1; j >= 0; j--)
        {
            if (l[ii, j].GetComponent <ChessManData>().mODECHESS == MODECHESS.Phao || l[ii, j].GetComponent <ChessManData>().mODECHESS == MODECHESS.Xe)
            {
                CheckKillKing(l[ii, j]);
                break;
            }
        }
    }
Ejemplo n.º 2
0
    private void initBoard()
    {
        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 9; j++)
            {
                GameObject g = Instantiate(instanceChessMan, new Vector3(-4 + j, 4.5f - i), Quaternion.identity);
                g.transform.SetParent(chessMans.transform);
                g.name = "ChessMan" + i + "," + j;
                listChessMans[i, j] = g;
                listChessMans[i, j].AddComponent <ChessManData>();
                listChessMans[i, j].GetComponent <ChessMan>().app = gameObject.GetComponent <CCAplication>();
                ChessManData chess = listChessMans[i, j].GetComponent <ChessManData>();
                chess.i         = i;
                chess.j         = j;
                chess.mODECHESS = MODECHESS.None;
            }
        }
        foreach (var item in model1.gameModelDatas)
        {
            listChessMans[item.i, item.j].GetComponent <SpriteRenderer>().sprite = item.sprite;

            listChessMans[item.i, item.j].GetComponent <ChessManData>().isSeted = true;

            listChessMans[item.i, item.j].GetComponent <ChessManData>().mODECHESS = item.mODECHESS;

            listChessMans[item.i, item.j].GetComponent <ChessManData>().isRedChess = item.isRedChessData;
        }
    }
Ejemplo n.º 3
0
 public void updateData(ChessManData chessFirst)
 {
     isSeted    = true;
     isRedChess = chessFirst.isRedChess;
     mODECHESS  = chessFirst.mODECHESS;
 }
Ejemplo n.º 4
0
    private void OnTinh(GameObject firstGO)
    {
        GameObject[,] l = app.listChessMans;
        ChessManData chess     = firstGO.GetComponent <ChessManData>();
        int          ii        = chess.i;
        int          jj        = chess.j;
        bool         tempIsRed = chess.isRedChess;

        chess.listCanKill.Clear();
        chess.listCanGo.Clear();
        kills = chess.listCanKill;
        gos   = chess.listCanGo;
        if (chess.isRedChess)
        {
            if (ii + 2 <= 9 && jj + 2 <= 8)
            {
                if (l[ii + 2, jj + 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 2, jj + 2]);
                }
                else
                {
                    if (l[ii + 2, jj + 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj + 2]);
                    }
                }
            }
            if (ii + 2 <= 9 && jj - 2 >= 0)
            {
                if (l[ii + 2, jj - 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 2, jj - 2]);
                }
                else
                {
                    if (l[ii + 2, jj - 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj - 2]);
                    }
                }
            }
            if (ii - 2 >= 5 && jj + 2 <= 9)
            {
                if (l[ii - 2, jj + 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 2, jj + 2]);
                }
                else
                {
                    if (l[ii - 2, jj + 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj + 2]);
                    }
                }
            }
            if (ii - 2 >= 5 && jj - 2 >= 0)
            {
                if (l[ii - 2, jj - 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 2, jj - 2]);
                }
                else
                {
                    if (l[ii - 2, jj - 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj - 2]);
                    }
                }
            }
        }
        else
        {
            if (ii + 2 <= 4 && jj + 2 <= 8)
            {
                if (l[ii + 2, jj + 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 2, jj + 2]);
                }
                else
                {
                    if (l[ii + 2, jj + 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj + 2]);
                    }
                }
            }
            if (ii + 2 <= 4 && jj - 2 >= 0)
            {
                if (l[ii + 2, jj - 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 2, jj - 2]);
                }
                else
                {
                    if (l[ii + 2, jj - 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj - 2]);
                    }
                }
            }
            if (ii - 2 >= 0 && jj + 2 <= 8)
            {
                if (l[ii - 2, jj + 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 2, jj + 2]);
                }
                else
                {
                    if (l[ii - 2, jj + 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj + 2]);
                    }
                }
            }
            if (ii - 2 >= 0 && jj - 2 >= 0)
            {
                if (l[ii - 2, jj - 2].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 2, jj - 2]);
                }
                else
                {
                    if (l[ii - 2, jj - 2].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj - 2]);
                    }
                }
            }
        }
    }
Ejemplo n.º 5
0
    private void OnSi(GameObject firstGO)
    {
        GameObject[,] l = app.listChessMans;
        ChessManData chess     = firstGO.GetComponent <ChessManData>();
        int          ii        = chess.i;
        int          jj        = chess.j;
        bool         tempIsRed = chess.isRedChess;

        chess.listCanKill.Clear();
        chess.listCanGo.Clear();
        kills = chess.listCanKill;
        gos   = chess.listCanGo;
        if (chess.isRedChess)
        {
            if (ii + 1 <= 9 && jj + 1 <= 5)
            {
                if (l[ii + 1, jj + 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 1, jj + 1]);
                }
                else
                {
                    if (l[ii + 1, jj + 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj + 1]);
                    }
                }
            }
            if (ii + 1 <= 9 && jj - 1 >= 3)
            {
                if (l[ii + 1, jj - 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 1, jj - 1]);
                }
                else
                {
                    if (l[ii + 1, jj - 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj - 1]);
                    }
                }
            }
            if (ii - 1 >= 7 && jj + 1 <= 5)
            {
                if (l[ii - 1, jj + 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 1, jj + 1]);
                }
                else
                {
                    if (l[ii - 1, jj + 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj + 1]);
                    }
                }
            }
            if (ii - 1 >= 7 && jj - 1 >= 3)
            {
                if (l[ii - 1, jj - 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 1, jj - 1]);
                }
                else
                {
                    if (l[ii - 1, jj - 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj - 1]);
                    }
                }
            }
        }
        else
        {
            if (ii + 1 <= 2 && jj + 1 <= 5)
            {
                if (l[ii + 1, jj + 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 1, jj + 1]);
                }
                else
                {
                    if (l[ii + 1, jj + 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj + 1]);
                    }
                }
            }
            if (ii + 1 <= 2 && jj - 1 >= 3)
            {
                if (l[ii + 1, jj - 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii + 1, jj - 1]);
                }
                else
                {
                    if (l[ii + 1, jj - 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj - 1]);
                    }
                }
            }
            if (ii - 1 >= 0 && jj + 1 <= 5)
            {
                if (l[ii - 1, jj + 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 1, jj + 1]);
                }
                else
                {
                    if (l[ii - 1, jj + 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj + 1]);
                    }
                }
            }
            if (ii - 1 >= 0 && jj - 1 >= 3)
            {
                if (l[ii - 1, jj - 1].GetComponent <ChessManData>().isSeted == false)
                {
                    gos.Add(l[ii - 1, jj - 1]);
                }
                else
                {
                    if (l[ii - 1, jj - 1].GetComponent <ChessManData>().isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj - 1]);
                    }
                }
            }
        }
    }
Ejemplo n.º 6
0
    private void OnXe(GameObject firstGO)
    {
        GameObject[,] l = app.listChessMans;
        ChessManData chess     = firstGO.GetComponent <ChessManData>();
        int          ii        = chess.i;
        int          jj        = chess.j;
        bool         tempIsRed = chess.isRedChess;

        chess.listCanKill.Clear();
        chess.listCanGo.Clear();
        kills = chess.listCanKill;
        gos   = chess.listCanGo;

        for (int j = jj + 1; j < 9; j++)
        {
            if (l[ii, j].GetComponent <ChessManData>().isSeted)
            {
                if (l[ii, j].GetComponent <ChessManData>().isRedChess != tempIsRed)
                {
                    kills.Add(l[ii, j]);
                }
                break;
            }
            gos.Add(l[ii, j]);
        }
        for (int j = jj - 1; j >= 0; j--)
        {
            if (l[ii, j].GetComponent <ChessManData>().isSeted)
            {
                if (l[ii, j].GetComponent <ChessManData>().isRedChess != tempIsRed)
                {
                    kills.Add(l[ii, j]);
                }
                break;
            }

            gos.Add(l[ii, j]);
        }

        for (int i = ii + 1; i < 10; i++)
        {
            if (l[i, jj].GetComponent <ChessManData>().isSeted)
            {
                if (l[i, jj].GetComponent <ChessManData>().isRedChess != tempIsRed)
                {
                    kills.Add(l[i, jj]);
                }
                break;
            }
            gos.Add(l[i, jj]);
        }
        for (int i = ii - 1; i >= 0; i--)
        {
            if (l[i, jj].GetComponent <ChessManData>().isSeted)
            {
                if (l[i, jj].GetComponent <ChessManData>().isRedChess != tempIsRed)
                {
                    kills.Add(l[i, jj]);
                }
                break;
            }

            gos.Add(l[i, jj]);
        }
    }
Ejemplo n.º 7
0
    private void OnMa(GameObject firstGO)
    {
        GameObject[,] l = app.listChessMans;
        ChessManData chess     = firstGO.GetComponent <ChessManData>();
        int          ii        = chess.i;
        int          jj        = chess.j;
        bool         tempIsRed = chess.isRedChess;

        chess.listCanKill.Clear();
        chess.listCanGo.Clear();
        kills = chess.listCanKill;
        gos   = chess.listCanGo;
        //     List<GameObject> listNearMas = new List<GameObject>(){ l[ii + 1, jj], l[ii - 1, jj] , l[ii, jj+1] , l[ii, jj-1] };
        if (ii + 1 <= 9 && l[ii + 1, jj].GetComponent <ChessManData>().isSeted == false)
        {
            if (ii + 2 <= 9 && jj + 1 <= 8)
            {
                ChessManData c = l[ii + 2, jj + 1].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj + 1]);
                    }
                }
                else
                {
                    gos.Add(l[ii + 2, jj + 1]);
                }
            }
            if (ii + 2 <= 9 && jj - 1 >= 0)
            {
                if (jj - 1 < 0)
                {
                    return;
                }
                ChessManData c = l[ii + 2, jj - 1].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 2, jj - 1]);
                    }
                }
                else
                {
                    gos.Add(l[ii + 2, jj - 1]);
                }
            }
        }
        if (ii - 1 >= 0 && l[ii - 1, jj].GetComponent <ChessManData>().isSeted == false)
        {
            if (ii - 2 >= 0 && jj + 1 <= 8)
            {
                ChessManData c = l[ii - 2, jj + 1].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj + 1]);
                    }
                }
                else
                {
                    gos.Add(l[ii - 2, jj + 1]);
                }
            }

            if (ii - 2 >= 0 && jj - 1 >= 0)
            {
                ChessManData c = l[ii - 2, jj - 1].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 2, jj - 1]);
                    }
                }
                else
                {
                    gos.Add(l[ii - 2, jj - 1]);
                }
            }
        }
        if (jj + 1 <= 8 && l[ii, jj + 1].GetComponent <ChessManData>().isSeted == false)
        {
            if (ii - 1 >= 0 && jj + 2 <= 8)
            {
                ChessManData c = l[ii - 1, jj + 2].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj + 2]);
                    }
                }
                else
                {
                    gos.Add(l[ii - 1, jj + 2]);
                }
            }
            if (jj + 2 <= 8 && ii + 1 <= 8)
            {
                ChessManData c = l[ii + 1, jj + 2].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj + 2]);
                    }
                }
                else
                {
                    gos.Add(l[ii + 1, jj + 2]);
                }
            }
        }
        if (jj - 1 >= 0 && l[ii, jj - 1].GetComponent <ChessManData>().isSeted == false)
        {
            if (ii - 1 >= 0 && jj - 2 >= 0)
            {
                ChessManData c = l[ii - 1, jj - 2].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii - 1, jj - 2]);
                    }
                }
                else
                {
                    gos.Add(l[ii - 1, jj - 2]);
                }
            }
            if (jj - 2 >= 0 && ii + 1 <= 8)
            {
                ChessManData c = l[ii + 1, jj - 2].GetComponent <ChessManData>();
                if (c.isSeted)
                {
                    if (c.isRedChess != firstGO.GetComponent <ChessManData>().isRedChess)
                    {
                        kills.Add(l[ii + 1, jj - 2]);
                    }
                }
                else
                {
                    gos.Add(l[ii + 1, jj - 2]);
                }
            }
        }
    }