Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REM Project: Dog Fight
- REM Created: 5/20/2011 6:21:21 PM
- REM
- REM ***** Main Source File *****
- REM
- Set Dir "Files"
- ` Constants
- #constant MAP_BANK_DIR "mapbank\"
- ` Init
- Sync On
- Sync Rate 60
- ` UDTs
- Type PlaneType
- spriteID as integer
- x as float
- y as float
- xVelocity as float
- yVelocity as float
- angle as float
- turnAngle as float
- speed as float
- Endtype
- ` Globals
- playerPlaneID as integer
- ` Arrays
- Dim Planes() as PlaneType
- ` Create map
- Map_Load( 1 )
- ` Create player plane and setup
- playerPlaneID = Plane_Create()
- Plane_SetPosition( playerPlaneID, 100, 100 )
- Plane_SetAngle( playerPlaneID, 0.0 )
- Plane_SetSpeed( playerPlaneID, 0.1 )
- ` Loop
- Do
- ` Debug data
- Set Cursor 0,0
- Print Screen FPS()
- ` Input
- Player_UpdateControls()
- ` Update
- Plane_UpdateAll()
- ` Render
- EDPSPR_RenderGround()
- Plane_RenderAll()
- EDPSPR_RenderFringe()
- Sync
- Loop
- ` Player functions
- Function Player_UpdateControls()
- local turnAngle as float
- turnAngle = turnAngle - Leftkey() + Rightkey()
- Plane_Turn( playerPlaneID, turnAngle )
- Endfunction
- ` Map functions
- Function Map_Load(mapIndex as integer)
- mapName as string
- mapDir as string
- mapName = "level" + str$(mapIndex)
- mapDir = MAP_BANK_DIR + mapName + "\"
- EDPSPR_InitMap()
- EDPSPR_LoadTiles(mapDir + "tiles.png")
- EDPSPR_LoadMap(mapDir + "Map1.edm", mapDir + "Map1.eds", mapDir + "Map1.edb")
- Endfunction
- ` Plane functions
- Function Plane_Create()
- local planeID as integer
- local spriteID as integer
- ` Create sprite
- spriteID = DXS Create Sprite("player\jet.png")
- DXS Set Sprite FrameSet spriteID, 7, 1
- DXS Set Sprite Frame spriteID, 1
- DXS Set Sprite Center spriteID, 32, 32
- ` Create entry
- Array Insert At Bottom Planes()
- planeID = Array Count( Planes() )
- ` Fill
- Planes(planeID).spriteID = spriteID
- Endfunction planeID
- Function Plane_UpdateAll()
- for i = 0 to Array Count( Planes() )
- Planes(i).xVelocity = cos(Planes(i).angle) * Planes(i).speed
- Planes(i).yVelocity = sin(Planes(i).angle) * Planes(i).speed
- Planes(i).x = Planes(i).x + Planes(i).xVelocity
- Planes(i).y = Planes(i).y + Planes(i).yVelocity
- next
- Endfunction
- Function Plane_RenderAll()
- for i = 0 to Array Count( Planes() )
- DXS Set Sprite Translation Planes(i).spriteID, Planes(i).x, Planes(i).y
- DXS Set Sprite Angle Planes(i).spriteID, Planes(i).angle
- DXS Update Sprite Planes(i).spriteID
- DXS Begin Sprite Render Planes(i).spriteID
- DXS Draw Sprite Frame Planes(i).spriteID, 0, 0
- DXS End Sprite Render Planes(i).spriteID
- next
- Endfunction
- Function Plane_Turn( planeID as integer, angle as float )
- Planes(planeID).angle = Planes(planeID).angle + angle
- Endfunction
- Function Plane_SetPosition( planeID as integer, x as float, y as float )
- Planes(planeID).x = x
- Planes(planeID).y = y
- Endfunction
- Function Plane_SetAngle( planeID as integer, angle as float )
- Planes(planeID).angle = angle
- Endfunction
- Function Plane_SetSpeed( planeID as integer, speed as float )
- Planes(planeID).speed = Planes(planeID).speed + speed
- Endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement