// 接続されているノードをランダムに選択して目的地に設定 If CountAgtset(node.Connection) > 0 Then node2 = GetAgt(node.Connection, CInt(CountAgtSet(node.Connection) * Rnd())) My.temp_target = node2 Else DelAgt(My) ///接続ノードが無いノードに割振られた場合は消す End If }
Agt_Step{ Dim arrivedNode As Agt Dim roadNodeList As AgtSet
///進む処理をするとともに、進めなかった場合(その場合Pursueが進めない距離を返します)目的地を更新します If Pursue(My.temp_target, My.SPEED/ Universe.CellWidth) >0 Then arrivedNode = My.temp_target ///到着した古いtemp_targetの接続ノードから新しいtemp_targetを選びます My.temp_target = GetAgt(arrivedNode.Connection, CInt(CountAgtSet(arrivedNode.Connection) * Rnd())) End If }