コード例 #1
0
    //合法手を返す関数

    public bool LegalMove(Te te)
    {
        //合法手を持ってくる関数を作成し、その中にteがあればtrueを返す
        var teList = new List <Te>();

        teList = kk.GenerateLegalMoves();

        //打ち歩詰めならfalseを返す
        if (kk.IsUtifuDume(te))
        {
            return(false);
        }

        for (int i = 0; i < teList.Count; i++)
        {
            //合法手と一致すればtrue
            if (te.koma == teList [i].koma &&
                te.from == teList [i].from &&
                te.to == teList [i].to &&
                ((te.promote && teList [i].promote) || (!te.promote && !teList [i].promote)))
            {
                return(true);
            }
        }

        return(false);
    }