『カタンの開拓者』のアプリを作・・・れるかな?―― 一人カタンぐらいなら
カタンのためのマップ作りをまとめるとこんなかんじ。
Sub マップ作り()
Dim i, j, d
‘ タイル(資源)の順番
For i = 1 To 19
Randomize
Cells(i, 1).Value = Rnd
Next
Range("a1:a19").Copy
Range("a1:a19").PasteSpecial Paste:=xlPasteValues
Call Range("a1:d19").Sort(key1:=Range("a1"), order1:=xlDescending)
‘ タイルを塗りつぶすことによる資源の配置
For i = 1 To 19
ActiveSheet.Shapes(i).Fill.ForeColor.RGB = RGB(Cells(i, 2), Cells(i, 3), Cells(i, 4))
Next
‘ トークン(生産力)の配置
j = 1
For i = 1 To 19
If Cells(i, 5) > 0 Then
Cells(j, 8) = Cells(i, 10)
j = j + 1
Else
Cells(j, 8) = 1
j = j + 1
Cells(j, 8) = Cells(i, 10)
j = j + 1
End If
Next
‘ 発展カードのシャッフル
For d = 1 To 25
Randomize
Cells(d, 18).Value = Rnd
Next
Range("r1:r25").Copy
Range("r1:r25").PasteSpecial Paste:=xlPasteValues
Call Range("r1:t25").Sort(key1:=Range("r1"), order1:=xlDescending)
End Sub
実際のエクセルの図は、ちょいと整理してから上げます。
(余計なものがたくさん入っていて汚い)
コンピュータに考えさせるにはほど遠いが、これでサイコロを振るマクロとか、発展カードを引くマクロとか用意すれば、一人カタンぐらいは楽しめる。