home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 201-225 / apd214 / editobj.amos / editobj.amosSourceCode
AMOS Source Code  |  1978-02-21  |  4KB  |  151 lines

  1. '             2D OBJECT EDITOR FOR THE OBJECT SHOWER.
  2. '            CODED BY SHOCK WAVE (NICK) OF HANISSIS 5
  3. '
  4. 'THIS PROGRAM WILL ALLOW YOU TO DESIGN OBJECTS IN 2 DIMENSIONS 
  5. 'FOR USE WITH THE VECTOR OBJECT SHOWER OR OTHER PROGRAMS OF YOUR OWN 
  6. 'YOU CAN ALTER THE OBJECTS INTO 3D ONES BY CHANGING THE Z CO-ORDS
  7. 'IF YOU KNOW WHAT YOUR DOING!
  8. '
  9. '
  10. 'ITS FAIRLY STRAIGHT FORWARD TO USE, JUST RUN IT, MAKE YOUR OBJECT 
  11. 'AND THEN CONVERT TO DATA BY PRESSING M, GOING THOUGH ALL THE POINTS,  
  12. 'WRITING THEM IN X,Y,Z ORDER AND THEN YOU CAN INSERT THEM INTO THE SHOWER  
  13. 'LISTING AS DATA!
  14. '
  15. '
  16. 'THESE PROGRAMS ARE SHARE WARE!    IF YOU LIKE THESE PROGRAMS
  17. 'PLEASE SEND A SMALL POSTAL ORDER TO:
  18. '
  19. '                                   NICK 
  20. '                                   44 HEOL-Y-GWRGAN 
  21. '                                   MARGAM 
  22. '                                   PORT TALBOT  
  23. '                                   WEST GLAM  
  24. '                                   SA132DG  
  25. '
  26. 'AND THEN ILL SEND YOU THE NEXT PROGRAM / DEMO THAT I WRITE. 
  27. '
  28. '
  29. Dim EROR$(3)
  30. EROR$(1)="CANT GO TO DATA SCREEN,NO OBJECT"
  31. EROR$(2)="CANT DELETE LAST LINE OR NO LINE!"
  32. EROR$(3)="CANT PLOT, OUT OF POINTS!"
  33. '
  34. '
  35. '
  36. ' object editor
  37. ' for 2 dimensional objects
  38. '
  39. '
  40. MXPOINTS=50
  41. Dim XX(MXPOINTS)
  42. Dim YY(MXPOINTS)
  43. Dim ZZ(MXPOINTS)
  44. X=0
  45. Y=0
  46. BASE=-1
  47. LINES=0
  48. '
  49. '
  50. Screen Open 0,320,250,4,Lowres
  51. Curs Off 
  52. Flash Off 
  53. Cls 0
  54. '
  55. Gosub INST
  56. Do 
  57. If LINES>1 Then Gosub OBJDRAW
  58. K$=Inkey$
  59. K$=Upper$(K$)
  60. Plot X+140,Y+120,2
  61. Wait Vbl 
  62. If K$=" " and(LINES=>MXPOINTS) Then Locate 1,25 : Print EROR$(3) : Boom : Wait 50 : Locate 1,25 : Print "                                   "
  63. If K$=" " and(LINES<MXPOINTS) Then LINES=LINES+1 : BASE=BASE+1 : XX(LINES)=X : YY(LINES)=Y : Play 40,1
  64. If K$="D" and BASE<=1 Then Locate 1,25 : Print EROR$(2) : Boom : Wait 50 : Locate 1,25 : Print "                                   "
  65. If K$="D" Then If BASE>1 Then Cls 0 : LINES=LINES-1 : BASE=BASE-1 : Gosub COMPDRAW
  66. If K$="R" Then Cls 0 : Gosub COMPDRAW
  67. If K$="C" Then LINES=0 : BASE=-1 : Cls 0 : Gosub INST : X=0 : Y=0
  68. If K$="M" and LINES<=1 Then Locate 1,25 : Print EROR$(1) : Boom : Wait 50 : Locate 1,25 : Print "                                   "
  69. If K$="M" and LINES>1 Then Gosub MAP
  70. If K$="0" Then End 
  71. Plot X+140,Y+120,0
  72. If K$="P" Then X=X+10
  73. If K$="O" Then X=X-10
  74. If K$="Q" Then Y=Y-10
  75. If K$="A" Then Y=Y+10
  76. If X>140 Then Bell : X=140
  77. If X<-140 Then Bell : X=-140
  78. If Y<-90 Then Bell : Y=-90
  79. If Y>90 Then Bell : Y=90
  80. Loop 
  81. '
  82. OBJDRAW:
  83. Gosub INST
  84. '   For A=(BASE) To(LINES) 
  85.     Ink 1
  86.    Draw XX(BASE)+140,YY(BASE)+120 To XX(LINES)+140,YY(LINES)+120
  87.   ' Next 
  88.    Wait Vbl 
  89. Return 
  90. COMPDRAW:
  91.     Gosub INST
  92.     For A=1 To LINES-1
  93.      Ink 1
  94.       Draw XX(A)+140,YY(A)+120 To XX(A+1)+140,YY(A+1)+120
  95.    Next A
  96. Return 
  97. '
  98. INST:
  99. Paper 0
  100. Pen 1
  101. Locate 0,0
  102.       Centre "{O-LEFT}{P-RIGHT}{Q-UP}{A-DOWN}"
  103.       Print 
  104.       Centre "{SPACE-PLOT}{D-DEL}{C-CLEAR}{R-REDRAW}"
  105.       Print 
  106.       Centre "{M-CONVERT TO DATA}{0-QUIT}"
  107. Return 
  108. '
  109. MAP:
  110. Cls 0
  111. Locate 0,0
  112. Print 
  113. Centre "THE COORDINATES FOR THIS OBJECT ARE:"
  114. Print 
  115. Centre "USE O AND P TO MOVE THROUGH POINTS!"
  116. Print 
  117. Centre "PRESS X TO RETURN TO EDITOR"
  118. 'BS=1
  119. P=1
  120. MX=LINES
  121. Repeat 
  122. Locate 1,4
  123. Print 
  124. Print 
  125. Print 
  126. Print "POINT NUMBER:";P;" OF:";MX;" "
  127. Print 
  128. Print "X CO-ORDINATE:";XX(P)/10;" "
  129. Print 
  130. Print "Y CO-ORDINATE:";YY(P)/10;" "
  131. Print 
  132. Print "Z CO-ORDINATE:";ZZ(P)/10;" "
  133. Print 
  134. Print 
  135. Centre "WRITE ALL THE POINTS DOWN AND ENTER"
  136. Print 
  137. Centre "THEM AS DATA STATEMENTS IN THE SHOWER"
  138. Print 
  139. Centre "REMEMBER TO WRITE THE X,Y,Z FOR ALL THE POINTS!"
  140. Print 
  141. Print 
  142. Print "REMEMBER TO SET THE NPS VARIABLE TO:";MX;" "
  143. K$=Input$(1)
  144. K$=Upper$(K$)
  145. If K$="O" and P>1 Then P=P-1
  146. If K$="P" and P<MX Then P=P+1
  147. Until K$="X"
  148. Cls 0
  149. Gosub COMPDRAW
  150. Return 
  151. '