//合法手を返す関数 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); }