home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1993-06-16 | 1.9 KB | 112 lines |
- ' ---------------------------------
- '
- ' AMOSPro Compiler Example
- '
- ' Cycling Plasma
- '
- ' By Jean-Baptiste BOLCATO
- '
- ' (c) 1993 Europress Software Ltd.
- '
- ' ---------------------------------
- '
- '
- ' --------------------------------------------
- ' Remark: What about a little Plasma effect?
- '
- ' Average Acceleration: 260 %
- '
- ' Test configuration: A1200, 6Mb
- ' Original AMOS Compiler: 240 %
- ' --------------------------------------------
-
- ' ---- Variables Init ----
-
- Set Buffer 4
-
- ' Ntsc test
- XMAX=256
- YMAX=256-56*(Ntsc=True)
-
- ' Plasma calculation zone
- XBLOCK=248
- YBLOCK=248
-
- 'Precalculate circle-scroll coords
- Degree
- Dim X(360),Y(360)
- XMID=XBLOCK-XMAX/2
- YMID=YBLOCK-YMAX/2
- For A=1 To 360
- X(A)=XMID+XMID*Cos(A)
- Y(A)=YMID+YMID*Sin(A)
- Next A
-
- ' ---- Screen Init ----
-
- Screen Open 0,512,512,32,Lowres
- Screen Display 0,160,50,XMAX,YMAX
- Flash Off : Curs Off : Hide
- For I=1 To 15
- Colour I,$800+I*$11
- Colour 31-I,$800+I*$11
- Next I
- Colour 31,$700
- Cls 0 : Wait Vbl
-
- ' ---- Main Loop ----
-
-
- Timer=0
-
- ' Describe whole plasma zone
- For Y=0 To YBLOCK/2
- For X=0 To XBLOCK/2
-
- ' Calculate x,y-pixel's ink
- IK=X*X
- IK=IK+Y*Y
- IK=IK/16
- IK=IK mod 31
- Inc IK
-
- ' Draw pixel
- Ink IK
- Plot X,Y
- Plot XBLOCK-X,Y
- Plot X,YBLOCK-Y
- Plot XBLOCK-X,YBLOCK-Y
-
- Next X
- Next Y
-
- ' Pattern copy
- Screen Copy 0,0,0,248,248 To 0,248,0
- Screen Copy 0,0,0,248,248 To 0,0,248
- Screen Copy 0,0,0,248,248 To 0,248,248
-
- ' --- Final Report ---
-
- T#=Timer
-
- Screen Open 1,320,32,2,Lowres
- Palette 0,$FFF : Paper 0 : Pen 1
- Curs Off : Cls 0
- Print " --- Final status report --- "
- Print
- Print Using "< Needs####.##s to draw whole plasma >";T#/50
-
- ' --- Final Fireworks! ---
-
- ' Cycle colors
- Screen 0
- Shift Up 1,1,31,1
-
- ' Screen circle scroll
- Repeat
- Add A,1,1 To 360
- Screen Offset 0,X(A),Y(A)
- Wait Vbl
- Until Mouse Key or(Inkey$<>"")
-
- End