だから私は正方形に成功したに移動することができますチェスボード上の部分を確認することができます関数を記述しようとしている、例外処理が個別に
は、これまでのところ、私は、コードのあまり書かれたが、実現してきた私は意志私ははIndexErrorが発生した場合は、ブロックを無視するが、それが終了するまで、whileループでの残りのステートメントを続けていきたいと考えて出会いのIndexErrors
def legalMoves(piece,fen):
moveList=[]
attackList=[]
x,y=int(piece[1]),int(piece[2])
i=0
if piece[0] in 'QqRr':
while (i<8):
if fen[x][y + i] == '-' :
moveList.append([x,y+i])
if fen[x][y - i] == '-' :
moveList.append([x,y-i])
if fen[x + i][y] == '-' :
moveList.append([x+i,y])
if fen[x - i][y] == '-' :
moveList.append([x-i,y])
i+=1
。それ、どうやったら出来るの?
詳細解答をいただきありがとうございましたが、最初はそれを試みましたが、後でこれらの四角形の1つの間に入るピースにヒットしたらループを終了する必要があると考えました(その後、もはや合法的な動きがあるので)、私はこの方法から始め、後でattackListを追加しなければならないので、句を追加すると思った。 –
私がチェスのためにすることは、a)8歳か0歳か、またはb)私の動きを妨げる作品を見つけたときまで、有効な方向への移動です。 'x <8またはboard [x] [piece.y] == ' - ':'のようなもの、または他の方向の 'x> 0'のように見えます。しかし、これは技術的には異なる質問です –