『カタンの開拓者』のアプリを作・・・れるかな?―― 一人カタンでの発展カード

ちなみに、一人カタンで発展カードを引くやり方も、何通りか考えられるが、とりあえず作ったのがこんなかんじ。

 

Sub 発展カード()

 

Dim h1, h2

 

h1 = Range("u1")

h2 = Range("a42") * 3 + 31

 

Call Cells(h2, 20).Insert(xlShiftToRight)

 

Cells(h2, 20).Value = Cells(h1, 20)

 

Range("u1") = h1 + 1

 

End Sub

 

U1は、次の発展カードは何枚目か?を示す。最初は1が入っているが、カードを引くたびに増えていく。つまり、次に引くカードは下にずれていく。

A42は、今、4人のうち何番目の人の順番であるかを示している。サイコロを振るたびにこれが1〜4の間で変わっていくように、サイコロのマクロを組んでおく。

そして34行目から3行ずつ、各プレーヤーのスペースを用意しておき、T列に発展カードを表示する。その際、既に引いている発展カードがある場合どうするか。一つずつ右にずらしてT列を空け、そこにコピペすることにした。元の位置にあるときは、フォントが白なので何を引いてくるかわからないが、値貼り付けした先のフォントの色は黒なので、これでわかる。他の人の発展カードも見えてしまうが、これは一人カタンのどうしようもない限界だ。

発展カードの種類別に分けた方が分かりやすいのだろうけど、それは今後の課題。

発展カードを使用したらどうするか。リアルで遊ぶ時は、表にして目の前に置いておくのだが、このエクセル一人カタンの場合、フォントの色を赤に変えることにした。これは手動。もっとスマートな方法があるかもしれないが、これもまた後ほど考えることにする。