11-28-2023, 09:17 AM
(This post was last modified: 01-02-2024, 02:09 AM by 1micha.elok.)
Air fighter 1945 in a very very simplified version
The main structure of code is divided in two sections :
1. Initialization
load image : plane
load image : bullet
load image : enemy
load image : background
2. Main Program (Looping)
Draw the plane
Define keys : Esc to quit, Left and Right to move the plane
Draw enemies
Bullet is auto shoot
Still have miss lots of features ... somebody please add some code to detect collision between a bullet and an enemy, I am running out of idea on how to code collision detect
Code:
'INITIALIZATION
set window "1945 Simplified", 640, 480
load image 1,"data/plane.png"
load image 2,"data/bullet.png"
load image 3,"data/enemy.png"
load image 4,"data/black.png"
speed=4
planeX=640/2 ; planeY=400
bulletX = planeX+15 ; bulletY = planeY
enemyX = [] ; enemyY = []
enemyX[0] = 40 ; enemyY[0] = -10
enemyX[1] = 300 ; enemyY[1] = -50
enemyX[2] = 400 ; enemyY[2] = -30
'MAIN PROGRAM
do
'SET BACKGROUND
cls
draw image 4,0,0
'THE PLANE
draw image 1,planeX,planeY
'ESC TO QUIT, LEFT AND RIGHT KEYS TO MOVE THE PLANE
if keydown(KEY_ESCAPE) then end
if keydown(KEY_LEFT) then planeX=planeX-speed
if keydown(KEY_RIGHT) then planeX=planeX+speed
'ENEMIES
for x=0 to 2
if enemyY[x]>480 then
enemyX[x]=rnd(640)
enemyY[x]=-rnd(50)
else
enemyY[x]=enemyY[x]+speed
endif
next
for x=0 to 2
draw image 3,enemyX[x],enemyY[x]
next
'BULLET, AUTO SHOOT
if bulletY < 480 then
bulletY = bulletY - speed*3
endif
if bulletY = 100 then
bulletX = planeX+15
bulletY = planeY
endif
draw image 2,bulletX,bulletY
'WAIT BEFORE LOOPING
wait 40
loop