some modification for micro(A) IF {var}, {<>=!} ,{var|value} ,{ & | }
blame on me i never add expression under IF statement just variables![[Image: huh.png]](http://basic4us.epizy.com/forum/Smileys/fugue/huh.png)
i hope that is now completed ..
source of "game" in code editor
paid attention to this special trick
'CLS
RECT true, true , 800, 600
blame on me i never add expression under IF statement just variables
![[Image: huh.png]](http://basic4us.epizy.com/forum/Smileys/fugue/huh.png)
Code:
'Deep Coin by DeepAi and Aurel 6.1.2026
mode 1 : wcolor 0,0,0: fcolor 250,250,255 : swap
' Load images at the start
ptr img1,img2,img3
LoadImg img1, "hero.bmp", 0, 32, 32, 24
LoadImg img2, "ghost.bmp", 0, 32, 32, 24
LoadImg img3, "coin.bmp", 0, 32, 32, 24
var score ,i, spriteXW, spriteXH, spriteXEn, spriteYEn
var spriteWEn, spriteHEn , spriteXWEn , spriteYHEn
' Define arrays for sprite properties
var spriteX[5], spriteY[5], spriteWidth[5], spriteHeight[5]
var spriteSpeedX[5], spriteSpeedY[5]
' Initialize player sprite at index 1
spriteX[1] = 50
spriteY[1] = 100
spriteWidth[1] = 32
spriteHeight[1] = 32
' Initialize enemy sprites at indices 2 to 5
spriteX[2] = 10
spriteY[2] = 20
spriteWidth[2] = 32
spriteHeight[2] = 32
spriteSpeedX[2] = 1
spriteSpeedY[2] = 1
spriteX[3] = 80
spriteY[3] = 50
spriteWidth[3] = 32
spriteHeight[3] = 32
spriteSpeedX[3] = -1
spriteSpeedY[3] = 1
spriteX[4] = 30
spriteY[4] = 70
spriteWidth[4] = 32
spriteHeight[4] = 32
spriteSpeedX[4] = 1
spriteSpeedY[4] = -1
spriteX[5] = 60
spriteY[5] = 30
spriteWidth[5] = 32
spriteHeight[5] = 32
spriteSpeedX[5] = -1
spriteSpeedY[5] = -1
' Initialize coins at indices 6 to 8
var coinX[3], coinY[3], coinWidth[3], coinHeight[3]
coinX[1] = 200
coinY[1] = 100
coinX[2] = 600
coinY[2] = 200
coinX[3] = 400
coinY[3] = 400
coinWidth[1] = 8
coinHeight[1] = 8
coinWidth[2] = 8
coinHeight[2] = 8
coinWidth[3] = 8
coinHeight[3] = 8
' Set screen size (in a graphics environment) SET SCREEN 800, 536
' Initialize score
score = 0
' Main game loop
LABEL mainLoop
' Move enemy sprites using WHILE loop
i = 2
WHILE i < 6
spriteX[i] = spriteX[i] + spriteSpeedX[i]
spriteY[i] = spriteY[i] + spriteSpeedY[i]
' Bounce on edges (assuming screen size 800x536)
IF spriteX[i] <= 0 OR spriteX[i] + spriteWidth[i] >= 800 THEN
spriteSpeedX[i] = -spriteSpeedX[i]
ENDIF
IF spriteY[i] <= 0 OR spriteY[i] + spriteHeight[i] >= 536 THEN
spriteSpeedY[i] = -spriteSpeedY[i]
ENDIF
i = i + 1
WEND
' Handle player movement (not implemented here)
' Check for collisions with enemies using WHILE loop
enemyIndex = 2
WHILE enemyIndex <= 5
spriteXW = spriteX[1] + spriteWidth[1]
spriteYH = spriteY[1] + spriteHeight[1]
spriteXEn = spriteX[enemyIndex]
spriteYEn = spriteY[enemyIndex]
spriteWEn = spriteWidth[enemyIndex]
spriteHEn = spriteHeight[enemyIndex]
spriteXWEn = spriteXEn + spriteWEn
spriteYHEn = spriteYEn + spriteHEn
IF spriteXW > spriteXEn & spriteX[1] < spriteXWEn & spriteYH > spriteYEn & spriteY[1] < spriteYHEn
' PRINT "Collision detected between player and enemy "; enemyIndex - 1
score = score - 10
PRINT 10,540,"SCORE : " : PRINT 100,540,score
ENDIF
enemyIndex = enemyIndex + 1
WEND
' Check for collisions with coins using WHILE loop
c = 1
WHILE c <= 3
spriteXW = spriteX[1] + spriteWidth[1]
spriteYH = spriteY[1] + spriteHeight[1]
coinXW = coinX[c] + coinWidth[c]
coinYH = coinY[c] + coinHeight[c]
IF spriteXW > coinX[c] AND _
spriteX[1] < coinXW AND _
spriteYH > coinY[c] AND _
spriteY[1] < coinYH THEN
PRINT "Player collected coin "; c
score = score + 10
' Reposition the coin
coinX[c] = RND * (800 - coinWidth[c])
coinY[c] = RND * (536 - coinHeight[c])
END IF
c = c + 1
WEND
PRINT "Score: "; score
' Delay for frame rate (depends on environment)
' For example: WAIT 0.1 seconds
LOOPi hope that is now completed ..
Code:
'Deep Coin by DeepAi and Aurel 6.1.2026
mode 1 : wcolor 0,0,0: fcolor 192,192,192 : swap
' Load images at the start
ptr img1,img2,img3
LoadImg img1, "hero.bmp", 0, 32, 32, 24
LoadImg img2, "ghost.bmp", 0, 32, 32, 24
LoadImg img3, "coin.bmp", 0, 32, 32, 24
var score ,i, c, spriteXW, spriteXH, spriteXEn, spriteYEn
var spriteWEn, spriteHEn , spriteXWEn , spriteYHEn
var true : true = -1
' Define arrays for sprite properties
var spriteX[5], spriteY[5], spriteWidth[5], spriteHeight[5]
var spriteSpeedX[5], spriteSpeedY[5]
' Initialize player sprite at index 1
spriteX[1] = 50
spriteY[1] = 100
spriteWidth[1] = 32
spriteHeight[1] = 32
' Initialize enemy sprites at indices 2 to 5
spriteX[2] = 10
spriteY[2] = 20
spriteWidth[2] = 32
spriteHeight[2] = 32
spriteSpeedX[2] = 1
spriteSpeedY[2] = 1
spriteX[3] = 80
spriteY[3] = 50
spriteWidth[3] = 32
spriteHeight[3] = 32
spriteSpeedX[3] = -1
spriteSpeedY[3] = 1
spriteX[4] = 30
spriteY[4] = 70
spriteWidth[4] = 32
spriteHeight[4] = 32
spriteSpeedX[4] = 1
spriteSpeedY[4] = -1
spriteX[5] = 60
spriteY[5] = 30
spriteWidth[5] = 32
spriteHeight[5] = 32
spriteSpeedX[5] = -1
spriteSpeedY[5] = -1
' Initialize coins at indices 6 to 8
var coinX[3], coinY[3], coinWidth[3], coinHeight[3]
coinX[1] = 200
coinY[1] = 100
coinX[2] = 600
coinY[2] = 200
coinX[3] = 400
coinY[3] = 400
coinWidth[1] = 8
coinHeight[1] = 8
coinWidth[2] = 8
coinHeight[2] = 8
coinWidth[3] = 8
coinHeight[3] = 8
' Set screen size (in a graphics environment) SET SCREEN 800, 536
' Initialize score
score = 0
' Main game loop -------------------------------------------------------
LABEL mainLoop
'CLS
RECT true, true , 800, 600
' Move enemy sprites using WHILE loop
i = 2
WHILE i < 6
spriteX[i] = spriteX[i] + spriteSpeedX[i]
spriteY[i] = spriteY[i] + spriteSpeedY[i]
' Bounce on edges (assuming screen size 800x536)
spriteXW = spriteX[1] + spriteWidth[1]
spriteYH = spriteY[1] + spriteHeight[1]
IF spriteX[i] < 1 | spriteXW > 801
spriteSpeedX[i] = spriteSpeedX[i] - 1
ENDIF
IF spriteY[i] < 1 | spriteYH > 537 THEN
spriteSpeedY[i] = spriteSpeedY[i] - 1
ENDIF
i = i + 1
WEND
' Handle player movement (not implemented here)
' Check for collisions with enemies using WHILE loop
enemyIndex = 2
WHILE enemyIndex <= 5
spriteXW = spriteX[1] + spriteWidth[1]
spriteYH = spriteY[1] + spriteHeight[1]
spriteXEn = spriteX[enemyIndex]
spriteYEn = spriteY[enemyIndex]
spriteWEn = spriteWidth[enemyIndex]
spriteHEn = spriteHeight[enemyIndex]
spriteXWEn = spriteXEn + spriteWEn
spriteYHEn = spriteYEn + spriteHEn
IF spriteXW > spriteXEn & spriteX[1] < spriteXWEn & spriteYH > spriteYEn & spriteY[1] < spriteYHEn
' PRINT "Collision detected between player and enemy "; enemyIndex - 1
score = score - 10
'PRINT 10,540,"SCORE : " : PRINT 100,540,score
ENDIF
enemyIndex = enemyIndex + 1
WEND
' Check for collisions with coins using WHILE loop
c = 1
WHILE c < 4
spriteXW = spriteX[1] + spriteWidth[1]
spriteYH = spriteY[1] + spriteHeight[1]
coinXW = coinX[c] + coinWidth[c]
coinYH = coinY[c] + coinHeight[c]
IF spriteXW > coinX[c] & spriteX[1] < coinXW & spriteYH > coinY[c] & spriteY[1] < coinYH
'PRINT "Player collected coin "; c
score = score + 10
' Reposition the coin
coinX[c] = RND * (800 - coinWidth[c])
coinY[c] = RND * (536 - coinHeight[c])
ENDIF
c = c + 1
WEND
'PRINT "Score: "; score
fcolor 250,230,100
PRINT 10,540,"SCORE : " : PRINT 100,540,score
'Display swap GDI buffers
SWAP
' Delay for frame rate (depends on environment)
Goto mainLoopsource of "game" in code editor
paid attention to this special trick
'CLS
RECT true, true , 800, 600
for more code visit : http://basic4us.epizy.com/forum/index.php


