dir2xy=((2,0),(1,1),(-1,1),(-2,0),(-1,-1),(1,-1))
ddir2ok=(0,1,1,0,1,1)
route = [[0, 0, -1], [2, 0, 0]]
for dir in range(6):
last = route[-1]
ddir = (dir + 6 - last[2])%6
if ddir2ok[ddir] ==1:
next = [last[0] + dir2xy[dir][0], last[1] + dir2xy[dir][1], dir]
route.append(next)
print(route)
route.pop()
dir2xy 絶対向きからxyへの変換 タプル
ddir2ok 相対向き ありかなしか
route 道筋 [[0, 0, -1], [2, 0, 0]] までは決まり
絶対向き 追加
ddir 相対向き
if の中はありならやる
結果
[[0, 0, -1], [2, 0, 0], [3, 1, 1]]
[[0, 0, -1], [2, 0, 0], [1, 1, 2]]
[[0, 0, -1], [2, 0, 0], [1, -1, 4]]
[[0, 0, -1], [2, 0, 0], [3, -1, 5]]