home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / subroutines / sinus_routines.amos / sinus_routines.amosSourceCode < prev   
AMOS Source Code  |  1993-07-31  |  7KB  |  243 lines

  1. Load "Sprites/Balls.Pack"
  2. WAVY_BOB1
  3. Procedure WAVY_BOB1
  4.    MXSCREEN=5
  5.    PBOB_INIT[14,16,32,32]
  6.    For LOP=1 To 8
  7.       PBOB[LOP,LOP]
  8.    Next LOP
  9.    PBOB_END
  10.    Randomize Timer
  11.    A=Rnd(4)
  12.    For I=0 To MXSCREEN
  13.       SCR_OPEN[I,0,320,200,16,Lowres]
  14.       If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  15.       If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  16.       If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
  17.       If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
  18.       If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  19.       Screen Hide I
  20.    Next 
  21.    '  
  22.    ' Main loop  
  23.    SCR=0 : COUNT=0 : T#=0 : P#=0.003
  24.    R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
  25.    R3=65 : R4=85 : SET#=Pi#/1.3 : NUM=1
  26.    TEMP=0
  27.    For T#=0 To 1*TW# Step I#
  28.       Screen Hide SCR
  29.       Add SCR,1,0 To MXSCREEN
  30.       Screen Show SCR : Screen To Front SCR : Screen SCR
  31.       X1#=R3*Cos(T#+SET#/0.2)+XCEN
  32.       Y1#=R4*Sin(T#)+YCEN
  33.       Paste Bob X1#,Y1#,NUM
  34.       X2#=R1*Cos(T#)+XCEN
  35.       Y2#=R2*Sin(T#)+YCEN
  36.       Paste Bob X2#,Y2#,NUM
  37.       X3#=R3*Cos(T#+SET#*0.2)+XCEN
  38.       Y3#=R4*Sin(T#)+YCEN
  39.       Paste Bob X3#,Y3#,NUM
  40.       If TEMP=1
  41.          Add NUM,1,1 To 8
  42.          TEMP=0
  43.       Else 
  44.          TEMP=1
  45.       End If 
  46.    Next T#
  47.    For LOP=1 To 200
  48.       Screen Hide SCR
  49.       Add SCR,1,0 To MXSCREEN
  50.       Screen Show SCR : Screen SCR
  51.       Wait 2
  52.    Next LOP
  53.    Erase 1
  54.    SCR_CLOSE
  55. End Proc
  56. Procedure SCR_CLOSE
  57.    While Screen<>-1
  58.       Screen Hide Screen
  59.       Screen Close Screen
  60.    Wend 
  61. End Proc
  62. Procedure PBOB_INIT[BANK,NCOL,MX,MY]
  63.    Shared PB_BANK
  64.    PB_BANK=BANK
  65.    S=Screen
  66.    Screen Open 7,MX,MY,NCOL,0
  67.    Screen Hide 
  68.    If S<>-1 Then Screen S
  69. End Proc
  70. Procedure PBOB_END
  71.    Screen Close 7
  72. End Proc
  73. Procedure PBOB[N,D]
  74.    Shared PB_BANK
  75.    Dec N
  76.    A=Start(PB_BANK)+N*10
  77.    If Deek(A)
  78.       AB=Start(PB_BANK)+Deek(A)*2
  79.       SX=Deek(A+2)*16 : SY=Deek(A+4)
  80.       S=Screen : Screen 7
  81.       Unpack AB,0,0 : Get Bob D,0,0 To SX,SY
  82.       Screen S
  83.       AA=Sprite Base(D) : Loke AA+6,Leek(A+6)
  84.    End If 
  85. End Proc
  86. Procedure SCR_OPEN[SCR,AUTO,X,Y,NUM,RES]
  87.    Screen Open SCR,X,Y,NUM,RES
  88.    Autoback AUTO
  89.    Flash Off 
  90.    Curs Off 
  91.    Hide On 
  92.    Cls 0
  93. End Proc
  94. Procedure WAVY_BOB2
  95.    MXSCREEN=5
  96.    PBOB_INIT[14,16,32,32]
  97.    For LOP=1 To 8
  98.       PBOB[LOP,LOP]
  99.    Next LOP
  100.    PBOB_END
  101.    Randomize Timer
  102.    A=Rnd(4)
  103.    For I=0 To MXSCREEN
  104.       SCR_OPEN[I,0,320,200,16,Lowres]
  105.       If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  106.       If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  107.       If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
  108.       If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
  109.       If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  110.       Screen Hide I
  111.    Next 
  112.    '
  113.    ' Main loop  
  114.    SCR=0 : COUNT=0 : T#=0 : P#=0.003
  115.    R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
  116.    R3=65 : R4=85 : SET#=Pi#/1.63 : NUM=1
  117.    TEMP=0
  118.    For T#=0 To 1*TW# Step I#
  119.       Screen Hide SCR
  120.       Add SCR,1,0 To MXSCREEN
  121.       Screen Show SCR : Screen To Front SCR : Screen SCR
  122.       X3#=R1*Cos(T#+SET#*2.23)+XCEN
  123.       Y3#=R3*Sin(T#)+YCEN
  124.       Paste Bob X3#,Y3#,NUM
  125.       X3#=R1*Cos(T#+SET#/2.23)+XCEN
  126.       Y3#=R3*Sin(T#)+YCEN
  127.       Paste Bob X3#,Y3#,NUM
  128.       If TEMP=1
  129.          Add NUM,1,1 To 8
  130.          TEMP=0
  131.       Else 
  132.          TEMP=1
  133.       End If 
  134.    Next T#
  135.    For LOP=1 To 200
  136.       Screen Hide SCR
  137.       Add SCR,1,0 To MXSCREEN
  138.       Screen Show SCR : Screen SCR
  139.       Wait 2
  140.    Next LOP
  141.    Erase 1
  142.    SCR_CLOSE
  143. End Proc
  144. Procedure WAVY_BOB3
  145.    MXSCREEN=5
  146.    PBOB_INIT[14,16,32,32]
  147.    PBOB[1,1]
  148.    PBOB_END
  149.    Randomize Timer
  150.    A=Rnd(4)
  151.    For I=0 To MXSCREEN
  152.       SCR_OPEN[I,0,320,200,16,Lowres]
  153.       If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  154.       If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  155.       If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
  156.       If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
  157.       If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  158.       Screen Hide I
  159.    Next 
  160.    T#=0 : P#=0.003 : SCR=0
  161.    R1=10 : R2=10 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/160 : I2#=Pi#/3
  162.    R3=-54 : R4=-32 : SET#=Pi#/3 : NUM=1
  163.    XCEN=149 : YCEN=90 : C=1
  164.    TEMP=0 : SCR=0 : LOBES#=3 : NUM=1
  165.    For LOP=1 To 20
  166.       For T#=0 To 1*TW#+I# Step I#
  167.          Screen Hide SCR
  168.          Add SCR,1,0 To MXSCREEN
  169.          Screen SCR
  170.          Screen To Front SCR
  171.          X2#=R3*Cos(T#+LOBES#)+XCEN
  172.          Y2#=R4*Sin(T#)+YCEN
  173.          Paste Bob X2#,Y2#,NUM
  174.          Screen Show SCR
  175.          Add TEMP,1,0 To 2
  176.       Next T#
  177.       Add R3,-5 : Add R4,-8
  178.    Next LOP
  179.    For LOP=1 To 200
  180.       Screen Hide SCR
  181.       Add SCR,1,0 To MXSCREEN
  182.       Screen Show SCR : Screen SCR
  183.       Wait 2
  184.    Next LOP
  185.    Erase 1
  186.    SCR_CLOSE
  187. End Proc
  188. Procedure WAVY_BOB4
  189.    MXSCREEN=5
  190.    PBOB_INIT[14,16,32,32]
  191.    For LOP=1 To 8
  192.       PBOB[LOP,LOP]
  193.    Next LOP
  194.    PBOB_END
  195.    Randomize Timer
  196.    A=Rnd(4)
  197.    For I=0 To MXSCREEN
  198.       SCR_OPEN[I,0,320,200,16,Lowres]
  199.       If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  200.       If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  201.       If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
  202.       If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
  203.       If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  204.       Screen Hide I
  205.    Next 
  206.    '
  207.    ' Main loop  
  208.    SCR=0 : COUNT=0 : T#=0 : P#=0.003
  209.    R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
  210.    R3=65 : R4=85 : SET#=Pi#/1.3 : NUM=1
  211.    TEMP=0
  212.    For T#=0 To 1*TW# Step I#
  213.       Screen Hide SCR
  214.       Add SCR,1,0 To MXSCREEN
  215.       Screen Show SCR : Screen To Front SCR : Screen SCR
  216.       X1#=R3*Cos(T#+SET#/0.2)+XCEN
  217.       Y1#=R4*Sin(T#)+YCEN
  218.       Paste Bob X1#,Y1#,NUM
  219.       X2#=R1*Cos(T#+SET#/0.2)+XCEN
  220.       Y2#=R2*Sin(T#)+YCEN
  221.       Paste Bob X2#,Y2#,NUM
  222.       X2#=R1*Cos(T#+SET#*0.2)+XCEN
  223.       Y2#=R2*Sin(T#)+YCEN
  224.       Paste Bob X2#,Y2#,NUM
  225.       X3#=R3*Cos(T#+SET#*0.2)+XCEN
  226.       Y3#=R4*Sin(T#)+YCEN
  227.       Paste Bob X3#,Y3#,NUM
  228.       If TEMP=1
  229.          Add NUM,1,1 To 8
  230.          TEMP=0
  231.       Else 
  232.          TEMP=1
  233.       End If 
  234.    Next T#
  235.    For LOP=1 To 200
  236.       Screen Hide SCR
  237.       Add SCR,1,0 To MXSCREEN
  238.       Screen To Front SCR : Screen Show SCR : Screen SCR
  239.       Wait 2
  240.    Next LOP
  241.    Erase 1
  242.    SCR_CLOSE
  243. End Proc