Im doing an update of a game I created called shape invaders(or space invaders) and instead of using an array to create the shapes i did it manually which took a lot of time.
This time I decided to make another one with the use of an array and possibly make more than more level and a boss but the I cant get the array to work because of an error which I dont know how to resolve.
Runtime error 7006 object number illegal.
If someone could point me in the right direction my thanks wont go a miss
Space Invaders
Rem Project: Space Invaders V1.1
Rem Created: Wednesday, June 22, 2011
Rem ***** Main Source File *****
Gosub DataSetup
Gosub Space
VarsSetup()
MakeObjects0(LightData)
MakeObjects1(PlayerData)
MakeObjects2(InvaderData)
MakeObjects3(CameraData)
MakeObjects4(BoundaryData)
Do
PlayerControl()
ScoreText(ScoreData)
Sync
Loop
Functions
Rem ***** Included Source File *****
Function VarsSetup()
Version.char = " Invader Engine V2.0"
EndFunction
Function MakeObjects0(LightData)
Light.ID = 1
Make Light Light.ID
Position Light Light.ID,0,0,-200
Color Light Light.ID,RGB(200,255,0)
Point Light Light.ID,0,0,150
EndFunction
Function MakeObjects1(PlayerData)
CannonStand.ID = 1
BarrelLarge.ID = 2
BarrelMedium.ID = 3
Make Object Box CannonStand.ID,55,45,8
Make Object Box BarrelLarge.ID,35,25,16
Make Object BOx BarrelMedium.ID,15,55,8
Rotate Object BarrelMedium.ID,95,0,0
Rotate Object BarrelLarge.ID,95,0,0
Position Object BarrelLarge.ID,0,0,260
Position Object BarrelMedium.ID,0,0,230
Position Object CannonStand.ID,0,0,280
CannonStand.x = Object Position x(CannonStand.ID)
CannonStand.y = Object Position y(CannonStand.ID)
CannonStand.z = Object Position z(CannonStand.ID)
BarrelMedium.x = Object Position x(BarrelMedium.ID)
BarrelMedium.y = Object Position y(BarrelMedium.ID)
BarrelMedium.z = Object Position z(BarrelMedium.ID)
BarrelLarge.x = Object Position x(BarrelLarge.ID)
BarrelLarge.y = Object Position y(BarrelLarge.ID)
BarrelLarge.z = Object Position z(BarrelLarge.ID)
Set Shadow Shading On CannonStand.ID
Set Shadow Shading On BarrelLarge.ID
Set Shadow Shading On BarrelMedium.ID
Color Object CannonStand.ID,RGB(0,0,255)
Color Object BarrelLarge.ID,RGB(0,0,255)
Color Object BarrelMedium.ID,RGB(0,0,255)
EndFunction
Function MakeObjects2(InvaderData)
Alien(x,y).ID = 5
State = 0
Repeat
Inc Alien(x,y).ID,1
If Object Exist(Alien(x,y).ID) = 0 Then State = 1
Until State = 1
For x = 0 to 6
For y = 0 to 4
Alien(x,y).Direct = 1
Alien(x,y).ID = Ship
Make Object Box Ship,100,20,6
Position Object Ship,135-(x*30),125-(y*30),0
Next y
Next x
EndFunction
Function MakeObjects3(CameraData)
Camera.ID = 1
Make Camera Camera.ID
Position Camera Camera.ID,0,-500,-50
Point Camera Camera.ID,0,0,0
Camera.x = Camera Position x(Camera.ID)
Camera.y = Camera Position y(Camera.ID)
Camera.z = Camera Position z(Camera.ID)
EndFunction
Function MakeObjects4(BoundaryData)
Ground.ID = 4
Make Object Plain Ground.ID,1000,150,30
Position Object Ground.ID,0,0,300
Set Shadow Shading On Ground.ID
Color Object Ground.ID,RGB(0,125,0)
Background.ID = 5
Make Object Plain Background.ID,1500,1750,0
Position Object Background.ID,0,0,-120
Rotate Object Background.ID,70,0,0
Color Object Background.ID,RGB(0,0,0)
Set Shadow Shading On Background.ID
EndFunction
Function PlayerControl()
If LeftKey() = 1
Dec BarrelLarge.x,5
Dec BarrelMedium.x,5
Dec CannonStand.x,5
Endif
If RightKey() = 1
Inc BarrelLarge.x,5
Inc BarrelMedium.x,5
Inc CannonStand.x,5
Endif
Position Object BarrelLarge.ID,BarrelLarge.x,BarrelLarge.y,BarrelLarge.z
Position Object BarrelMedium.ID,BarrelMedium.x,BarrelMedium.y,BarrelMedium.z
Position Object CannonStand.ID,CannonStand.x,CannonStand.y,CannonStand.z
EndFunction
Function ScoreText(ScoreData)
Text 0,0,Version.char
EndFunction
Space
Rem ***** Included Source File *****
DataSetup:
Type BoundaryData
ID as Integer
EndType
Type LightData
x as Float
y as Float
z as Float
ID as Integer
EndType
Type PlayerData
x as Float
y as Float
z as Float
ID as Integer
EndType
Type InvaderData
x as Float
y as Float
z as Float
ID as Integer
Direct as Byte
EndType
Type BulletData
y as Float
EndType
Type ScoreData
y as Float
x as Float
z as Float
Total as Integer
Char as String
EndType
Type CameraData
x as Float
y as Float
z as Float
ID as Integer
EndType
Global Light as LightData
Global CannonStand as PlayerData
Global BarrelLarge as PlayerData
Global BarrelMedium as PlayerData
Global Alien as InvaderData
Dim Alien(6,4) as InvaderData
Global Bullet as BulletData
Global Points as ScoreData
Global Camera as CameraData
Global Version as ScoreData
Global Ground as BoundaryData
Global Background as BoundaryData
Return
Space:
Sync On
Sync Rate 60
BackDrop Off
AutoCam Off
Return
Yello http://www.youtube.com/user/Rikukarasuma?feature=mhee