『カタンの開拓者』のアプリを作・・・れるかな?―― 一人カタンぐらいなら

カタンのためのマップ作りをまとめるとこんなかんじ。

 

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

 

実際のエクセルの図は、ちょいと整理してから上げます。

(余計なものがたくさん入っていて汚い)

 

コンピュータに考えさせるにはほど遠いが、これでサイコロを振るマクロとか、発展カードを引くマクロとか用意すれば、一人カタンぐらいは楽しめる。