error :
trans gives no trasparent black
color of flame is not good
Code: Select all
'' bluatigro 6 jun 2018
'' lander
#include "_sprite.bas"
#include "_color.bas"
#include "fbgfx.bi"
#if __FB_LANG__ = "fb"
Using FB
#endif
screen 20 , 32 , 2
dim as sprite lander( 1 )
lander( 0 ).create 100 , 100
lander( 1 ).create 100 , 100
dim as integer i
line lander( 0 ).image , ( 25 , 25 ) - ( 30 , 100 ) , gray , bf
line lander( 0 ).image , ( 75 , 25 ) - ( 70 , 100 ) , gray , bf
for i = 40 to 1 step -1
circle lander( 0 ).image , ( 50 , 25 + i / 3 ) , i _
, colormix( white , i / 40 , gray ) ,,,.5, f
next i
line lander( 1 ).image , ( 25 , 25 ) - ( 30 , 100 ) , gray , bf
line lander( 1 ).image , ( 75 , 25 ) - ( 70 , 100 ) , gray , bf
for i = 40 to 1 step -1
circle lander( 1 ).image , ( 50 , 70 + i / 6 ) , i / 2 _
, colormix( yellow , i / 40 , blue ) ,,,2, f
circle lander( 1 ).image , ( 50 , 25 + i / 3 ) , i _
, colormix( white , i / 40 , gray ) ,,,.5, f
next i
dim as double delta_drop_speed = 0 , fuel = 100
lander( 0 ).posx = 1024 / 2 - 50
lander( 1 ).posx = 1024 / 2 - 50
do
cls
line ( 0 , 600 ) - ( 1024 , 800 ) , red , bf
line ( 25 , 600 ) - step( 25 , -fuel * 5 ) , cyan , bf
if multikey( sc_up ) and lander( 0 ).posy > 0 then
lander( 1 ).show
delta_drop_speed -= 1
fuel -= 1
if fuel < 0 then fuel = 0
else
lander( 0 ).show
end if
delta_drop_speed += .1
lander( 0 ).speedy += delta_drop_speed
lander( 1 ).speedy += delta_drop_speed
lander( 0 ).update
lander( 1 ).update
sleep 40
flip
loop until inkey = chr( 27 ) or lander( 0 ).posy > 600
locate 10 , 20
print "GAME OVER"
locate 20 , 20
if lander( 0 ).speedy > 5 then
print "Pitty on you : you crased !!"
else
print "You landed savely !!"
end if
locate 25 , 20
print "[ push return ]"
sleep
Code: Select all
'' bluatigro 6 jun 2018
'' sprite
type sprite
public :
dim as double posx,posy,speedx,speedy,sizex,sizey
dim as any ptr image
declare sub create ( a as double , b as double )
declare sub show()
declare sub update()
declare function hit( q as sprite ) as integer
end type
sub sprite.create( w as double , h as double )
sizex = w
sizey = h
image = imagecreate( sizex , sizey , rgba(0,0,0,0) )
end sub
sub sprite.show()
put ( posx , posy ) , image , trans
end sub
sub sprite.update()
posx += speedx
posy += speedy
end sub
function sprite.hit( q as sprite ) as integer
if posx + sizex < q.posx then return 0
if posx > q.posx + q.sizey then return 0
if posy + sizey < q.posy then return 0
if posy > q.posy + q.sizey then return 0
return 1
end function
Code: Select all
'' bluatigro 6 jun 2018
'' color
const as uinteger black = rgb( 0 , 0 , 0 )
const as uinteger red = rgb( 255 , 0 , 0 )
const as uinteger green = rgb( 0 , 255 , 0 )
const as uinteger yellow = rgb( 255 , 255 , 0 )
const as uinteger blue = rgb( 0 , 0 , 255 )
const as uinteger magenta = rgb( 255 , 0 , 255 )
const as uinteger cyan = rgb( 0 , 255 , 255 )
const as uinteger white = rgb( 255 , 255 , 255 )
const as uinteger gray = rgb( 127 , 127 , 127 )
const as uinteger orange = rgb( 255 , 127 , 0 )
const as uinteger pink = rgb( 255 , 127 , 127 )
function colormix( color1 as uinteger _
, f as double , color2 as uinteger ) as uinteger
dim as integer r1,g1,b1,r2,g2,b2,r,g,b
r1 = color1 and 255
g1 = ( color1 shr 8 ) and 255
b1 = ( color1 shr 16 ) and 255
r2 = color2 and 255
g2 = ( color2 shr 8 ) and 255
b2 = ( color2 shr 16 ) and 255
r = r1 + ( r2 - r1 ) * f
g = g1 + ( g2 - g1 ) * f
b = b1 + ( b2 - b1 ) * f
return rgb( r , g , b )
end function