Forum Navigation
You need to log in to create posts and topics.

MADE IN FUTURE BASIC BANNER

Posted by: MattBeedle <MattBeedle@...>

Here is a cool Future BASIC banner!!!!
Spent a couple hours fiddling around with it.
Drop this self contained FN in your program!!
MattBeedle@aol.com
-----------------------------------

CLEAR LOCAL MODE
DIM MyGWorld&
DIM TheOldWorld&
DIM TheOldDevice&
DIM GrafPortT,GrafPortL,GrafPortB,GrafPortR
LOCAL FN FB3DLogo
WINDOW 1,"Matt's Cubes",(0,0)-(288,180),_dialogPlain
LONG FN getX (myadd)
myVar = x+.5*(SIN(myadd/360*2*ATN(1)<<2)*45/ATN(1)<<2)
END FN = myVar
GrafPortL = 0
GrafPortT = 0
GrafPortR = 288
GrafPortB = GrafPortT+200
x=GrafPortL+116+25
orgy=GrafPortT+33
s=-80
CALL GETGWORLD(TheOldWorld&,TheOldDevice&)
OSErr = FN NEWGWORLD(MyGWorld&,SYSTEM(_Crntdepth),GrafPortT,0,0,0)
TEXT 0,12
DO
y = orgy+.5*(COS(t/360*2*ATN(1)<<2)*5/ATN(1)<<2)
CALL SETGWORLD(MyGWorld&,0)
PEN 1,1
t=t+16
IF t>180 THEN t=-180
s=s+10
IF s>180 THEN s=-180
x0 = FN getX(s)
x5 = FN getX(s+5)
x10 = FN getX(s+10)
x14 = FN getX(s+14)
x15 = FN getX(s+15)
x20 = FN getX(s+20)
x24 = FN getX(s+24)
x25 = FN getX(s+25)
x26 = FN getX(s+26)
x30 = FN getX(s+30)
x35 = FN getX(s+35)
x40 = FN getX(s+40)
x45 = FN getX(s+45)
x50 = FN getX(s+50)
x55 = FN getX(s+55)
x60 = FN getX(s+60)
x65 = FN getX(s+65)
x70 = FN getX(s+70)
x75 = FN getX(s+75)
x85 = FN getX(s+85)
x90 = FN getX(s+90)
x95 = FN getX(s+95)
x100 = FN getX(s+100)
x105 = FN getX(s+105)
x110 = FN getX(s+110)
x115 = FN getX(s+115)
COLOR _zYellow
BOX FILL 0,0 TO 288,180
COLOR _zBlack
PRINT% (15,16) "This program is proudly programmed in"
PRINT% (15,145) "by STAZ Software"
PRINT% (15,160) "www.stazsoftware.com"
' F
PLOT x10,y
PLOT TO x0,y
PLOT TO x0,y+20
PLOT TO x10,y+20
PLOT TO x0,y+20
PLOT TO x0,y+40
' U
PLOT x15,y
PLOT TO x15,y+40
PLOT TO x25,y+40
PLOT TO x25,y
' T
PLOT x30,y
PLOT TO x40,y
PLOT x35,y
PLOT TO x35,y+40
' U
PLOT x45,y
PLOT TO x45,y+40
PLOT TO x55,y+40
PLOT TO x55,y
' R
PLOT x70,y
PLOT TO x60,y
PLOT TO x60,y+40
PLOT x70,y
PLOT TO x70,y+20
PLOT TO x60,y+20
PLOT x65,y+20
PLOT TO x70,y+40
' E
PLOT x85,y
PLOT TO x75,y
PLOT TO x75,y+20
PLOT TO x85,y+20
PLOT TO x75,y+20
PLOT TO x75,y+40
PLOT TO x85,y+40
' B
PLOT x5,y+50
PLOT TO x5,y+90
PLOT x15,y+89
PLOT TO x15,y+71
PLOT x15,y+51
PLOT TO x15,y+69
PLOT x5,y+50
PLOT TO x14,y+50
PLOT x5,y+70
PLOT TO x14,y+70
PLOT x5,y+90
PLOT TO x14,y+90
' A
PLOT x20,y+90
PLOT TO x25,y+50
PLOT TO x30,y+90
PLOT x24,y+70
PLOT TO x26,y+70
' S
PLOT x45,y+50
PLOT TO x35,y+50
PLOT TO x35,y+70
PLOT TO x45,y+70
PLOT TO x45,y+90
PLOT TO x35,y+90
' I
PLOT x50,y+50
PLOT TO x60,y+50
PLOT x50,y+90
PLOT TO x60,y+90
PLOT x55,y+50
PLOT TO x55,y+90
' C
PLOT x75,y+50
PLOT TO x65,y+50
PLOT TO x65,y+90
PLOT TO x75,y+90

'II
PEN 2,2
PLOT x90,y
PLOT TO x100,y
PLOT x90,y+89
PLOT TO x100,y+89
PLOT x95,y
PLOT TO x95,y+89

PLOT x105,y
PLOT TO x115,y
PLOT x105,y+89
PLOT TO x115,y+89
PLOT x110,y
PLOT TO x110,y+89

CALL SETGWORLD(TheOldWorld&,TheOldDevice&)
CALL COPYBITS(#MyGWorld& + 2,#TheOldWorld& +
2,GrafPortT,GrafPortT,_srcCopy,0)
UNTIL FN BUTTON OR LEN(INKEY$)
CALL DISPOSEGWORLD (MyGWorld&)
WINDOW CLOSE 1
END FN

FN FB3DLogo