0
체스 게임을 쓰고 Pawn을 움직일 때 위의 오류가 발생합니다. my_board[0][0].passive_move()
의 첫 번째 호출이 올바르게 작동하고 오브젝트가 두 번째 목록으로 올바르게 이동합니다. 그러나 내가 다시 그것을 즉시 호출하면, 객체를 세 번째 목록으로 옮기는 대신 제목에 오류가 발생합니다.AttributeError : 'str'객체에 속성 (메서드)이 없습니다.
my_board[0][0].passive_move()
my_board[0][0].passive_move()
첫 번째 호출 후
, 하나를 이동 한 것 광장에 처음이었다 폰 등을 :
__author__ = 'admin'
class Pawn:
def __init__(self, y, x):
self.board = my_board
self.y = y
self.x = x
def __str__(self):
return "Pawn"
def passive_move(self):
self.board[self.y+1][self.x] = self
self.board[self.y][self.x] = chr(self.y+65)+str(self.x+1)
self.y += 1
class ChessBoard:
def __init__(self):
self.board = self.create_board
def create_board(self):
game_board = []
letters = ["A", "B", "C", "D", "E", "F", "G", "H"]
for x in range(len(letters)):
game_board.append([])
for y in range(1, 9):
game_board[x].append(str(letters[x])+str(y))
return game_board
if __name__ == "__main__":
my_board = ChessBoard().create_board()
for x in range(len(my_board)):
my_board[0][x] = Pawn(0, x)
my_board[0][0].passive_move()
my_board[0][0].passive_move()
print(my_board)
'Pawn.passive_move()'의 두 번째 줄이 무엇인지 이해하고 있습니까? –
개체의 이전 위치를 원래 좌표로 바꾸지 않습니까? 적어도 그건 내 의도 였어. – Perplexityy
... 아니요, 문자열을 목록에 삽입합니다. –