アリさんのケーキ探し ―― もうちょい進展

Sub Gか冒険か3()

Dim Gran, Gran2, IT2, ST1, DR1

Gran = Rnd()
Range("D10") = Gran

' Greedyで行くか、冒険で行くか、その結果どの方向に行くかを決める
‘ しかし、b10より小さければ冒険、としているが、B10が1なので、間違いなく冒険
‘  b10は今後、だんだん小さくしていく
' 行く方向は変数DR1に格納、D24に表示
If Gran >= Range("b10") Then
    Range("e10") = "RE"    ' Greedyで行く場合
    DR1 = Range("a37").Offset(Range("f7"), 6)
    Range("d24") = DR1
    
    Else
    Range("e10") = "IT"    ' 冒険で行く場合
    
    'ST1 現在の状態で移動可能な方向の数
    ST1 = Range("a25").Offset(Range("f7"), 5)
    Range("b24") = ST1
    '乱数を使い、何番目の方向に行くかを決定
    Gran2 = Int(Rnd * ST1 + 1)
    Range("c24") = Gran2
    DR1 = Range("a25").Offset(Range("f7"), Gran2)
    Range("d24") = DR1

End If


' 行く方向によって、状態の行、列を更新
If DR1 = 1 Then
    Range("f9") = Range("f9") + 1
ElseIf DR1 = 2 Then
    Range("f8") = Range("f8") - 1
ElseIf DR1 = 3 Then
    Range("f9") = Range("f9") - 1
ElseIf DR1 = 4 Then
    Range("f8") = Range("f8") + 1

End If

End Sub

f:id:chamcham5628:20201015003123p:plain

とりあえず、こんなところ。