home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 201-225 / apd217 / behindbars.amos / behindbars.amosSourceCode < prev    next >
AMOS Source Code  |  1991-02-26  |  3KB  |  149 lines

  1. Rem Behind Bars Demo 
  2. Rem by JAG of FANATIX
  3. Rem
  4. Proc BEHINDBARS
  5. Procedure BEHINDBARS
  6. Screen Open 0,320,256,8,Lowres : Flash Off : Curs Off : Hide On : Cls 0
  7. Break Off : Close Workbench : Close Editor : Led Off : Music 1
  8. If Exist("Df1:SeeYou.AMOS")=0 Then Goto LAMER
  9. If Exist("Df0:Intro.AMOS")=0 Then Goto LAMER
  10. If Exist("Df0:Starscape.AMOS")=0 Then Goto LAMER
  11. Dim C(360) : Dim CY(360)
  12. T$=Space$(1094) : For F=Start(8) To Start(8)+1094 : Poke Varptr(T$)+F-Start(8),Peek(F) : Next F
  13. Dim L$(50) : Dim X(50) : Dim Y(50) : Q=0 : F=0
  14. SC=8 : CH=1 : SCAR=0 : LETTER$="0123456789abcdefghijklmnopqrstuvwxyz�,!.:?/+-()' "
  15. Gosub VARLOAD
  16. Degree 
  17. For F=1 To 360
  18. C(F)=(Sin(F)*100)+25 : CY(F)=(Sin(F)*50)+80
  19. Next F
  20. Screen Open 1,320,256,8,Lowres : Curs Off : Flash Off : Hide On : Cls 0
  21. Screen Open 2,400,35,8,Lowres : Curs Off : Flash Off : Hide On : Cls 0
  22. Screen Display 2,125,250,,
  23. Screen To Front 2
  24. Screen Open 3,320,256,8,Lowres : Curs Off : Flash Off : Hide On : Cls 0
  25. Screen To Back 3
  26. Auto View Off 
  27. Unpack 9 To 3
  28. Screen 3 : Colour 1,$0
  29. Screen To Back 3
  30. Screen 2 : Get Palette 3
  31. Unpack 6 To 1
  32. Unpack 7 To 0
  33. Screen 0
  34. Colour 8,$0 : Colour 9,$8 : Colour 10,$F : Colour 11,$22F
  35. Colour 12,$999 : Colour 13,$666 : Colour 14,$555 : Colour 15,$333
  36. Dual Playfield 0,1
  37. Colour 1,$0
  38. Screen 1
  39. Auto View On 
  40. Double Buffer : Synchro Off 
  41. Def Scroll 1,0,0 To 390,50,-4,0
  42. Screen To Front 1 : Screen To Front 0 : Screen To Front 2
  43. Screen 0 : Double Buffer : Synchro Off 
  44. Rem ********* Main Routine ********* 
  45. Do 
  46. Screen 2
  47. Scroll 1
  48. Inc SCAR : If SCAR=SC Then SCAR=0 : Inc CH : Gosub PCHAR
  49. Gosub OBJECTS
  50. Wait Vbl 
  51. If Mouse Key=1 Then Goto DIE
  52. Loop 
  53. Rem ********* New Character ******** 
  54. PCHAR:
  55. If CH=Len(T$) Then CH=0 : Return 
  56. S$=Mid$(T$,CH,1)
  57. P=Instr(LETTER$,S$)
  58. Screen Copy 3,X(P),Y(P),(X(P))+31,(Y(P))+31 To 2,354,2
  59. Return 
  60. Rem ********* Bob Updates ********** 
  61. OBJECTS:
  62. Screen 1
  63. F=F+3 : If F>360 Then F=1
  64. Q=Q+2 : If Q>360 Then Q=1
  65. Bob 1,C(F),CY(Q),1
  66. Synchro : Wait Vbl 
  67. Return 
  68. Rem ********* Data Statements ****** 
  69. VARLOAD:
  70. Restore SCDATA
  71. For F=1 To 49
  72. Read A$ : Read A : Read B
  73. L$(F)=A$ : X(F)=A : Y(F)=B
  74. Next F
  75. Return 
  76. SCDATA:
  77. Data "0",0,0
  78. Data "1",32,0
  79. Data "2",64,0
  80. Data "3",96,0
  81. Data "4",128,0
  82. Data "5",160,0
  83. Data "6",192,0
  84. Data "7",224,0
  85. Data "8",256,0
  86. Data "9",288,0
  87. Data "a",0,32
  88. Data "b",32,32
  89. Data "c",64,32
  90. Data "d",96,32
  91. Data "e",128,32
  92. Data "f",160,32
  93. Data "g",192,32
  94. Data "h",224,32
  95. Data "i",256,32
  96. Data "j",288,32
  97. Data "k",0,64
  98. Data "l",32,64
  99. Data "m",64,64
  100. Data "n",96,64
  101. Data "o",128,64
  102. Data "p",160,64
  103. Data "q",192,64
  104. Data "r",224,64
  105. Data "s",256,64
  106. Data "t",288,64
  107. Data "u",0,96
  108. Data "v",32,96
  109. Data "w",64,96
  110. Data "x",96,96
  111. Data "y",128,96
  112. Data "z",160,96
  113. Data "�",192,96
  114. Data ",",224,96
  115. Data "!",256,96
  116. Data ".",288,96
  117. Data ":",0,128
  118. Data "?",32,128
  119. Data "/",64,128
  120. Data "+",96,128
  121. Data "-",128,128
  122. Data "(",160,128
  123. Data ")",192,128
  124. Data "'",224,128
  125. Data " ",256,128
  126. Rem ********* End The Demo ********
  127. LAMER:
  128. Screen Open 0,640,512,2,Hires : Hide On : Curs Off : Cls 0 : Colour 1,$FFF : Ink 1 : Paper 0
  129. Print 
  130. Print "Somebody has tampered with this disk.  I have now"
  131. Print "locked up your machine!"
  132. Print 
  133. Print "Leave peoples disks alone in future...."
  134. Do 
  135. Loop 
  136. DIE:
  137. Screen 2 : Fade 5 : Wait 75
  138. Screen Close 3
  139. Screen 0 : Fade 5 : Wait 10
  140. For F=63 To 0 Step -1
  141. Mvolume F
  142. For T=0 To 1000
  143. Next T
  144. Next F
  145. Screen Close 2
  146. Screen Close 0
  147. Screen Close 1
  148. Music Off 
  149. End Proc