Alors voila, on est dans la classe noeud:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| Public Class Noeud
' Définition des états
Private coordonnees As List(Of Integer)
Private voies_associees As List(Of Voies)
Private agents_en_attente As List(Of Agent)
Private agents_sortis As List(Of Agent)
Private agents_en_transit As List(Of Agent)
Private agents_noeud As Agent()
Private feu As Byte
Private logements As Double
Private industries As Double
Private nom As Integer
' Création d'un noeud
Public Sub New(n_coordonnees As List(Of Integer), feu_rouge As Boolean, n_logements As Double, n_industries As Double, log As Boolean, indu As Boolean)
'Déclaration des nouvelles listes
coordonnees = New List(Of Integer)
voies_associees = New List(Of Voies)
agents_en_attente = New List(Of Agent)
agents_sortis = New List(Of Agent)
agents_en_transit = New List(Of Agent)
nom = temps.noeuds_compteur
temps.noeuds_compteur += 1
coordonnees = n_coordonnees
If feu_rouge = True Then
feu = 1
Else
feu = 0
End If
If log = False Then
logements = CDbl(Int((20 * Rnd()) + 1))
Else
logements = n_logements
End If
If indu = False Then
industries = CDbl(Int((20 * Rnd()) + 1))
Else
industries = n_industries
End If
End Sub
Public Sub iteration()
'Changement de feu
If temps.temps / temps.changement_feu = Int(temps.temps / temps.changement_feu) Then
changer_feu()
End If
'Pour les agents déjà dans le noeud
Dim prochain_noeud As Noeud
Dim voie As Voies
Dim sens As Byte
Dim i As Integer
Dim agent As Agent
'On vide le noeud si c'est possible
'On vérifie d'abord si l'agent est a son noeud d'arrivée
If Not IsNothing(agents_noeud(0)) Then
(...)
End sub |
L'erreur s'effectue a la ligne
If Not IsNothing(agents_noeud(0)) Then
"
Partager