カタン、Pythonでは?―― トークンの順番

〇の位置がずれているので、少し上にあげた。
tt24 = np.array([0,60])
としていたのを、
tt24 = np.array([0,40])
ぐらいでいいだろう。

f:id:chamcham5628:20201005235229p:plain

位置としてはOK。

次。トークン(生産力)の順番である。タイル(資源)はランダムだが、トークンはいわゆるABC配置で行く。自分が実際に遊ぶ時はたいていABC配置だからである。
ABC配置は、
5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11
という順番に外から渦巻き状に真ん中に向かっていく。その途中のどこかに砂漠が入って、砂漠の生産力はゼロである。ゼロを挿入しなければならない。
タイルはランダムに並んでいる。その中から砂漠の順番を探し出して、タイルのリストにゼロを挿入する。まあ、下の形。

import numpy as np
import pygame
import numpy.random as nr

t1 = np.array([0,1,1,1,2,2,2,2,3,3,3,4,4,4,4,5,5,5,5])
p1 = np.array([5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11])

nr.shuffle(t1)
print(t1)

j = 0
for i in t1:
    if i ==0:
        break
    else:
        j +=1
        
print(j)

p11 = np.insert(p1, j, 0)
print(p11)

結果は、
[3 3 0 1 5 4 2 2 1 5 4 2 4 5 4 5 3 1 2]
2
[ 5 2 0 6 3 8 10 9 12 11 4 8 10 9 4 5 6 3 11]

ちゃんと、3番目(ゼロ始まりなら2番目)に挿入できた。
これで、絵を描こう。