[futurebasic] MADE IN FUTURE BASIC BANNER

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : November 1997 : Group Archive : Group : All Groups

From: MattBeedle@...
Date: Sat, 29 Nov 1997 21:06:46 -0500 (EST)
Here is a cool Future BASIC banner!!!!
Spent a couple hours fiddling around with it.
Drop this self contained FN in your program!!
MattBeedle@...
-----------------------------------




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