double result = start + (random * (end - start));but that is never going to get executed again (thus it is going to pick the value once and keep that value). You will need to call
result = start + (random * (end - start));after every "if...elseif" statement.
See the example I posted. After every block I recall
result = start + (random * (end - start));giving random a new value.
EDIT: I misread your reply, so above is only an idea of why I think you are getting the issue.
EDIT2: Opps, I meant giving "result" a new value. Not "random."