The Below code is used to name the possible xy-coordinates of chess pieces.
For instance: (1,1) for rook means the rook can move n1 in x direction or n1 in y-direction.
class Piece:
def __init__(self,pawn1, rook2, knight3, bishop4, queen5, king6):
self.rook2 = rook2
self.pawn1 = pawn1
self.knight3 =knight3
self.bishop4 = bishop4
self.king6 = king6
self.queen5 = queen5
a = Piece((1,2),(0,1),(3,1),(1,1),(0,1,1),(0,1))
def rook_move(n):
rook_move1 = n*rnd.random(a[2])
return rook_move1
rook_move(3)
I get this error:
rook_move1 = n*rnd.random(a[2])
TypeError: 'Piece' object is not subscriptable
Can you please tell me what is the problem?
I tried both Lists and tuples. Trying to build a very basic, non-intuitive chess game.
in general, this error
TypeError: 'X' object is not subscriptable
is there to tell you that x[i] (when x is an X object) does not exist, because x is not a list of any sort.
in your case, you probably want to be specific about which attribute of a you want, any of which are tuples!
for examle:
you see,
a
is not list-like, thus there is no such a thing asa[2]
but
a.rook2
IS list-like indeed, (in that case we only havea.rook2[0]
ora.rook2[1]
but you get the point)