
-----------------------------------
Zeppelin
Fri Dec 26, 2008 8:16 pm

Problem when declaring a large # of variable with loops
-----------------------------------
For my grade 11 project my group is making a game similar to the game Advance Wars.

We decided to use a large number of image boxes to represent each tile on the map (Currently there are 225). The problem is when I started decalring the value of the Y axis for each tile I got a "runtime error 9, subscript out of range" error. I could declare the value of the X axis without problem but for some reason I always get this error when doing it for the Y axis.

The code for declaring the X and Y axis is below with the place where the error occurs marked. If it matters the declarations are made when the form loads.

TileNumAlocate = 1

Do Until TileNumAlocate = 16
TilePosX(TileNumAlocate) = TileNumAlocate
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 31
TilePosX(TileNumAlocate) = TileNumAlocate - 15
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 46
TilePosX(TileNumAlocate) = TileNumAlocate - 30
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 61
TilePosX(TileNumAlocate) = TileNumAlocate - 45
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 76
TilePosX(TileNumAlocate) = TileNumAlocate - 60
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 91
TilePosX(TileNumAlocate) = TileNumAlocate - 75
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 106
TilePosX(TileNumAlocate) = TileNumAlocate - 90
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 121
TilePosX(TileNumAlocate) = TileNumAlocate - 105
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 136
TilePosX(TileNumAlocate) = TileNumAlocate - 120
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 151
TilePosX(TileNumAlocate) = TileNumAlocate - 135
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 166
TilePosX(TileNumAlocate) = TileNumAlocate - 150
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 181
TilePosX(TileNumAlocate) = TileNumAlocate - 165
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 196
TilePosX(TileNumAlocate) = TileNumAlocate - 180
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 211
TilePosX(TileNumAlocate) = TileNumAlocate - 195
TileNumAlocate = TileNumAlocate + 1
Loop

Do Until TileNumAlocate = 226
TilePosX(TileNumAlocate) = TileNumAlocate - 210
TileNumAlocate = TileNumAlocate + 1
Loop

TileNumAlocate = 1
TileCount = 1

Do Until TileCount = 16
TilePosY(TileCount) = TileNumAlocate
TileCount = TileCount + 1
Loop

TileNumAlocate = 2

Do Until TileNumAlocate = 31
TilePosY(TileCount) = TileNumAlocate >>>Error occurs here