ラウンド終了時にコネクトフォーのゲームの進行状況を保存するループを作ろうとしています.csvは次のようにゲームボードを表示する必要があります. 各空白スポットは '0' で表され、'O' は '2' で表され、'X' は 1 で表されます。 csv ファイルを作成すると、すべてが 1 つの列に積み上げられます。何故ですか?
if turn == 'X':
turn = "O"
else:
board_deepcopy = copy.deepcopy(my_board)
ans = input('Type s to save your progress : ')
if ans == 's':
nop = input('Type in the name of your save file :')
f = open(nop + '.csv', 'a', newline = '')
writer = csv.writer(f)
for y in range(board_col):
list1 = []
for l in range(board_col):
if my_board[y][l] == 'X':
board_deepcopy[y][l] = '1'
list1.append(board_deepcopy[y][l])
writer.writerow(list1[l])
elif my_board[y][l] == 'O':
board_deepcopy[y][l] = '2'
list1.append(board_deepcopy[y][l])
writer.writerow(list1[l])
else:
board_deepcopy[y][l] = '0'
list1.append(board_deepcopy[y][l])
writer.writerow(list1[l])
f.close()
turn = 'X'
(1 列目に「X」、2 列目に「O」がある 8 列 8 行のボードの表示例:) Windows 端末:
1 2 3 4 5 6 7 8
________________________________________
A|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
B|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
C|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
D|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
E|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
F|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
G|' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '|
H| X O ' ' ' ' ' ' ' ' ' ' ' '|
---------------------------------------
csv 表示:
A B C D E F G H
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 1
...
16 2
17 0
18 0
19 0
...
64 0