Code center > Solved Bugs

The NextElement bug

(1/1)

PurpleYouko:

--- Quote ---I still don't know where to go to make that change you suggested!!!!
--- End quote ---

It's in the place where the original error occured.

The nextElement function in the Mutations module.

here it is again.


--- Code: ---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
--- End code ---

Change the line labeled with 'change this line.

from


--- Code: ---If beginning > 0 Then  'change this line.
--- End code ---

to


--- Code: ---If beginning > 0 And beginning < uboundarray Then  'change this line.
--- End code ---

It will fix the overflow problem caused when a robot has zero DNA length

Griz:

--- Quote ---It's in the place where the original error occured.
--- End quote ---
please understand ... this error is not one I got ... [yet] ;) ...
so the debugging did not bring me to it ...
and you hadn't mentioned the Mutations modual at all.
you see?
now that I know where it is ... ;)

thanks

Ulciscor:
NextElement bug is fixed then? Cool.

Navigation

[0] Message Index

Go to full version