home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 551-575 / apd558 / amoner1 / start.amos / start.amosSourceCode < prev   
AMOS Source Code  |  1993-11-29  |  4KB  |  171 lines

  1. Set Buffer 14
  2. Screen Open 0,320,200,16,Lowres
  3. Close Editor 
  4. Close Workbench 
  5. Dim ARTICLE$(2,150),LASTLINE(2)
  6. TEXREAD[1,"editor.txt"] : Rem Read Editorial text
  7. TEXREAD[2,"policy.txt"] : Rem Read Policy text 
  8. GAMES=0 : Rem Games menu inactive
  9. Rem
  10. Rem Start up program for Amoner Issue 1. 
  11. Rem By Gal-on Broner 
  12. Rem
  13. Rem First, we unfold the opening screen. 
  14.   Unpack 15 To 0
  15. Rem  
  16. Rem Now, we declare a few zones. 
  17. Rem
  18. ZONR:
  19.   Reserve Zone : Wait Vbl 
  20.   Reserve Zone 8
  21.   Set Zone 1,10,60 To 80,90 : Rem Editorial
  22.   Set Zone 2,10,93 To 80,115 : Rem Policy 
  23.   Set Zone 3,10,117 To 80,140 : Rem Games
  24.   Set Zone 4,10,145 To 80,170 : Rem Graphics 
  25.   Set Zone 5,2,173 To 95,210 : Rem Puzzle 
  26.   Set Zone 6,101,51 To 189,213 : Rem Feature Picture
  27.   Set Zone 7,190,51 To 290,120 : Rem Fortron  
  28.   Set Zone 8,190,135 To 290,200 : Rem Jigsaw Puzzle
  29. Rem
  30. Rem detect mouse 
  31. Rem
  32. CHECKER:
  33.   Repeat : Until Mouse Click
  34.   If Mouse Zone=1
  35.     DISPLAY[1]
  36.     Goto ZONR
  37.   End If 
  38.   If Mouse Zone=2
  39.     DISPLAY[2]
  40.     Goto ZONR
  41.   End If 
  42.   If Mouse Zone=3
  43.     Ink 0
  44.     Bar 191,51 To 290,210
  45.     Paste Icon 190,51,5
  46.     GAMES=1 : Rem games menu activated 
  47.   End If 
  48.   If Mouse Zone=4
  49.     MANDEL
  50.     GAMES=0
  51.   End If 
  52.   If Mouse Zone=5
  53.     Run "Knight.amos"
  54.   End If 
  55.   If Mouse Zone=6
  56.   End If 
  57.   If Mouse Zone=7 and GAMES=1
  58.     Run "Forins.Amos"
  59.   End If 
  60.   If Mouse Zone=8 and GAMES=1
  61.     Run "Jigins.Amos"
  62.   End If 
  63. Goto CHECKER
  64. Procedure MANDEL
  65. STIMER=Timer : Get Palette 0 : Ink 0 : Bar 101,51 To 189,213
  66. Bar 191,51 To 290,210
  67. Ink 7,0
  68. Text 200,66,"Mini - Frac"
  69. Text 200,77,""
  70. Text 200,88,"Algorithm"
  71. Text 200,99,"Of Fractal"
  72. Text 200,110,"in Program:"
  73. Text 200,121,"Frac.Amos"
  74. Text 200,143,"Try it out!"
  75. Text 200,165,"Takes 41"
  76. Text 200,175,"min to"
  77. Text 200,186,"Compleate."
  78. XP=101 : YP=51 : NUM_OF_COLOR=16 : WIDTH=88 : HEIGHT=162
  79. XMIN#=-2 : XMAX#=0.5 : YMIN#=-1.25 : YMAX#=1.25
  80. For X#=XMIN# To XMAX# Step((XMAX#-XMIN#)/WIDTH)
  81.   For Y#=YMIN# To YMAX# Step((YMAX#-YMIN#)/HEIGHT)
  82.     REP=0 : ZX#=0 : ZY#=0
  83. CALC:
  84.     TEMP#=ZX# : ZX#=ZX#^2-ZY#^2+X# : ZY#=2*TEMP#*ZY#+Y#
  85.     Inc REP
  86.     If((REP<50) and((ZX#^2+ZY#^2)<4)) Then Goto CALC
  87.     CT=Int((REP*NUM_OF_COLOR)/50) : Plot XP,YP,CT : Inc YP
  88.   Next Y#
  89.   YP=51 : Inc XP
  90. Next X#
  91. ' Print(Timer-STIMER)/3000 
  92. End Proc
  93. Procedure TEXREAD[ARTICLE,FILENAME$]
  94. Shared ARTICLE$(),LASTLINE()
  95. LINE=1
  96. Set Input 10,-1
  97. Open In 1,FILENAME$
  98. SEREAD:
  99.   Line Input #1,ARTICLE$(ARTICLE,LINE)
  100.   If Left$(ARTICLE$(ARTICLE,LINE),6)="end..." Then Goto CLFILE
  101.   LINE=LINE+1
  102.   Goto SEREAD
  103. CLFILE:
  104.   Close 1
  105.   ARTICLE$(ARTICLE,LINE)=""
  106.   LASTLINE(ARTICLE)=LINE-1
  107. End Proc
  108. Procedure DISPLAY[ARTICLE]
  109.   Shared ARTICLE$(),LASTLINE()
  110.   Screen Open 1,620,140,16,Hires
  111.   Get Icon Palette 
  112.   Screen Display 1,130,100,,
  113.   Cls 2 : Paper 2 : Pen 0 : Ink 0,2 : Cls 2
  114.   LINE=1
  115. Rem
  116. Rem design display screen
  117. Rem
  118.   Reserve Zone : Wait Vbl 
  119.   Reserve Zone 3
  120.   Set Zone 1,0,102 To 74,139
  121.   Set Zone 2,75,102 To 148,139
  122.   Set Zone 3,160,115 To 218,122
  123.   Draw 0,100 To 640,100
  124.   Draw 230,100 To 230,140
  125.   Text 240,116,"                Text-Reader               "
  126.   Text 240,130,"   By Gal-on Broner, Barbarian Minds 1991."
  127. Rem  
  128. Rem display text on screen 
  129. Rem
  130. TXTDISPLAY:
  131.   Locate 1,1
  132.   For LINECLEAN=1 To 9
  133.     Print Space$(74)
  134.   Next LINECLEAN
  135.   Locate 1,1
  136.   For LINETEXT=LINE To LINE+8
  137.     Print ARTICLE$(ARTICLE,LINETEXT)
  138.   Next LINETEXT
  139. Rem
  140. Rem Display icons
  141. Rem
  142.   Paste Icon 0,102,1
  143.   Paste Icon 160,115,4
  144. Rem
  145. Rem Detect mouse on icons. 
  146. Rem
  147. CLICKER:
  148.   Repeat : Until Mouse Click
  149.   If Mouse Zone=1
  150.     Paste Icon 0,102,2
  151.     LINE=LINE+9
  152.     If LINE>LASTLINE(ARTICLE)
  153.       LINE=LINE-9
  154.     End If 
  155.     Goto TXTDISPLAY
  156.   End If 
  157.   If Mouse Zone=2
  158.     Paste Icon 90,102,3
  159.     LINE=LINE-9
  160.     If LINE<1
  161.       LINE=LINE+9
  162.     End If 
  163.     Goto TXTDISPLAY
  164.   End If 
  165.   If Mouse Zone=3
  166.     Screen Close 1
  167.     Get Palette 0
  168.     Pop Proc
  169.   End If 
  170. Goto CLICKER
  171. End Proc