I still don't know where to go to make that change you suggested!!!!
It's in the place where the original error occured.
The nextElement function in the Mutations module.
here it is again.
Public Function NextElement(ByRef DNA() As block, beginning As Integer, tipo As Integer, value As Integer) As Integer
'takes the input for the first value in a gene and returns the position of the next statement
'as defined by tipo and value
Dim k As Integer
Dim uboundarray As Long
uboundarray = UBound(DNA())
If DNA(uboundarray).tipo <> 4 And DNA(uboundarray).value <> 4 Then
ReDim Preserve DNA(uboundarray + 1)
DNA(uboundarray + 1).tipo = 4
DNA(uboundarray + 1).value = 4
End If
k = beginning
If beginning > 0 And beginning < uboundarray Then 'change this line.
While Not (DNA(k).tipo = 4 And DNA(k).value = 4) And Not (DNA(k).tipo = tipo And DNA(k).value = value)
k = k + 1
Wend
If Not (DNA(k).tipo = tipo And DNA(k).value = value) Then k = -1
Else 'beginning wasn't valid
k = -1
End If
NextElement = k
End Function
Change the line labeled with 'change this line.
from
If beginning > 0 Then 'change this line.
to
If beginning > 0 And beginning < uboundarray Then 'change this line.
It will fix the overflow problem caused when a robot has zero DNA length