home *** CD-ROM | disk | FTP | other *** search
/ Aztec Shareware Collection / SIMULATION.ISO / airplane / printit.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-10-01  |  3.4 KB  |  159 lines

  1. 2    DEF SEG = 0: FOR XU = 0 TO 3: POKE &H6C + XU, PEEK(&H20+XU): NEXT XU
  2. 3  WIDTH 40
  3. 6  GOSUB 50000
  4. 7  DIM M%(1):M%(0)=1485
  5. 20  SCREEN 0:KEY OFF:CLS
  6. 21  COLOR 0,7
  7. 25  LOCATE 5,1
  8. 27  PRINT SPACE$(40);
  9. 30  LOCATE 6,1:PRINT" The Great International Paper Airplane ";
  10. 40  LOCATE 7,1:PRINT"            Construction Kit            ";
  11. 45  PRINT SPACE$(40);
  12. 50  LOCATE 9,1:PRINT "       Airplane Printout Program        ";
  13. 52  PRINT SPACE$(40);
  14. 55  COLOR 7,0
  15. 70  LOCATE 18,1:PRINT "Adapted from the book PAPER AIRPLANES  "
  16. 80  LOCATE 19,1:PRINT "   Written by Ross, Brandon & Reid     "
  17. 90  LOCATE 20,1:PRINT "Programmed by Ralph Boos, New Chika, AZ"
  18. 100  LOCATE 22,1:PRINT "This Copy may be freely distributed."
  19. 110  LOCATE 25,8:PRINT"Press any key to continue";
  20. 115  GOSUB 500
  21. 120  SCREEN 0:CLS
  22. 125  COLOR 0,7
  23. 130  LOCATE 2,14
  24. 132  PRINT "           "
  25. 135  LOCATE 3,14
  26. 140  PRINT " Main Menu "
  27. 141  LOCATE 4,14
  28. 142  PRINT "           "
  29. 145  COLOR 7,0
  30. 160  LOCATE 10,7:PRINT"1. Print plane from Paper"
  31. 161  LOCATE 11,10:PRINT"Airplane program disk"
  32. 165  LOCATE 13,7
  33. 170  PRINT "2. Print plane from a"
  34. 171  LOCATE 14,10:PRINT"disk of your own"
  35. 175  LOCATE 16,7
  36. 180  PRINT "3. Exit to DOS"
  37. 200  LOCATE 22,10
  38. 210  PRINT "   Your choice (1-3) ?";
  39. 215  GOSUB 500
  40. 220  IF VAL(Y$)<1 OR VAL(Y$)>3 THEN BEEP:GOTO 200
  41. 230  ON VAL(Y$)GOTO 1200,600,400
  42. 240  GOTO 215
  43. 400  SCREEN 0
  44. 401  CLS:LOCATE 12,11:PRINT "Exit program (Y/N) ?";:GOSUB 500
  45. 450  IF Y$<>"y" AND Y$<>"Y" THEN SCREEN 1:GOTO 120
  46. 460  CLS:SYSTEM
  47. 500  PRINT" ";:GOSUB 30100
  48. 501  Y$=INKEY$
  49. 505  IF Y$="" THEN 501
  50. 510  RETURN
  51. 600  SCREEN 0:CLS:LOCATE 1,10
  52. 605  IF F$="Menu" OR F$="menu" OR F$="MENU" THEN F$="":GOTO 120
  53. 607  F$=""
  54. 610  COLOR 0,7
  55. 630  PRINT "  Listing of Files on  "
  56. 632  LOCATE 2,10
  57. 635  PRINT "     Your Own Disk     "
  58. 637  COLOR 7,0
  59. 640  LOCATE  4,1
  60. 645  GOTO 900
  61. 900  REM
  62. 901  FILES
  63. 908  GOSUB 30100
  64. 909  LOCATE 25,1:PRINT"Type `menu' to return to main menu";
  65. 910  LOCATE 23,1:PRINT"Enter FILENAME to print ==>";
  66. 913  FX=1:GOSUB 30200:F$=Y$
  67. 915  GOSUB 924:GOTO 600
  68. 924  IF F$="Menu" OR F$="MENU" OR F$="menu" OR LEN(F$)=0 THEN CLS:RETURN
  69. 925  ON ERROR GOTO 1090
  70. 928  SCREEN 1,0
  71. 929  IF IER=1 THEN RESUME:GOTO 940
  72. 930  CLS:BLOAD F$
  73. 940  LOCATE 1,1:PRINT" .......Print this Plane (Y/N) ?.......";:GOSUB 500
  74. 945  IER=0
  75. 950  IF Y$<>"Y" AND Y$<>"y" THEN RETURN
  76. 960  BLOAD F$
  77. 970  GOSUB 10000:RETURN
  78. 1090  CLS:LOCATE 12,13:PRINT"File not found!";:BEEP
  79. 1095  LOCATE 24,8:PRINT "Press any key to continue";
  80. 1096  GOSUB 500
  81. 1097  IER=1
  82. 1098  RETURN
  83. 1099  STOP
  84. 1100  GOTO 120
  85. 1200  SCREEN 0:CLS:LOCATE 1,10
  86. 1210  COLOR 0,7
  87. 1230  PRINT " Listing of Airplanes "
  88. 1232  LOCATE 2,10
  89. 1235  PRINT " on the Program Disk  "
  90. 1237  COLOR 7,0
  91. 1244  LOCATE 5,1:PRINT "Undecorated  Decorated"
  92. 1245  LOCATE 6,1:PRINT "  Planes      Planes"
  93. 1247  LOCATE 8,1
  94. 1250  FOR I=1 TO NP
  95. 1252  LOCATE ,1
  96. 1253  PRINT STR$(I);". "PF$(I)
  97. 1255  NEXT I
  98. 1257  LOCATE 8,12
  99. 1258  FOR I=NP+1 TO ND+NP-4
  100. 1259  IF I=17 THEN PRINT
  101. 1260  LOCATE ,12
  102. 1262  PRINT STR$(I);". "PF$(I)
  103. 1264  NEXT I
  104. 1268  LOCATE 8,25
  105. 1270  FOR I=17 TO 20
  106. 1272  LOCATE ,25
  107. 1276  PRINT STR$(I);". "PF$(I)
  108. 1278  NEXT I
  109. 1290  LOCATE 14,26:PRINT"21. Main Menu";
  110. 1320  LOCATE 22, 9:PRINT"   Your choice (1-21) ?  "
  111. 1325  LOCATE 22,32
  112. 1330  GOSUB 30200:IF VAL(Y$)<1 OR VAL(Y$)>21 THEN BEEP:GOTO 1320
  113. 1332  IF VAL(Y$)=21 THEN GOTO 120
  114. 1336  F$=PF$(VAL(Y$))+".PIC"
  115. 1340  GOSUB 924:GOTO 1200
  116. 6000  REM INSTRUCTIONS
  117. 7000  REM DRIVERS
  118. 7720  GOTO 120
  119. 9999  STOP
  120. 10000  M%(1)=203:L%=VARPTR(M%(0)):DEF USR=L%:PRINT USR(0):RETURN
  121. 30100  DEF SEG=0: POKE 1050,PEEK(1052): DEF SEG: RETURN
  122. 30200  NUM$="":SCREEN 0:GOSUB 30100
  123. 30201  A$=INKEY$:IF A$="" THEN 30201
  124. 30202  LOCATE ,,0
  125. 30203  IF A$=CHR$(32) THEN BEEP:GOTO 30201
  126. 30205  IF A$=CHR$(13) OR A$=CHR$(8) THEN 30400
  127. 30207  IF FX=1 THEN 30225
  128. 30210  IF A$<"0" OR A$>"9" THEN BEEP:GOTO 30201
  129. 30215  IF LEN(NUM$)=>2 THEN BEEP:GOTO 30201
  130. 30218  IF LEN(NUM$)=0 AND A$="0" THEN BEEP:GOTO 30201
  131. 30225  IF FX=1 AND LEN(NUM$)>=12 THEN BEEP:GOTO 30201
  132. 30230  NUM$=NUM$+A$
  133. 30231  IF FX=1 THEN LOCATE 23,28:GOTO 30234
  134. 30232  LOCATE 22,32:PRINT NUM$;"  ";:GOTO 30235
  135. 30234  PRINT NUM$;SPACE$(13-LEN(NUM$));
  136. 30235  GOSUB 30100
  137. 30236  IF FX<>1 THEN PRINT "  ";
  138. 30240  GOTO 30201
  139. 30400  IF LEN(NUM$)=0 THEN BEEP :GOTO 30201
  140. 30401  IF A$=CHR$(13) THEN 31000
  141. 30410  NUM$=LEFT$(NUM$,LEN(NUM$)-1)
  142. 30420  GOTO 30231
  143. 31000  REM END OF NUMBER C/R FOUND
  144. 31105  FX=0
  145. 31110  Y$=NUM$
  146. 31120  RETURN
  147. 49999  END
  148. 50000  REM READ PLANES
  149. 50005  DIM PF$(25)
  150. 50010  NP=9
  151. 50020  ND=11
  152. 50030  FOR I=1 TO NP+ND
  153. 50040  READ PF$(I)
  154. 50050  NEXT I
  155. 50060  RETURN
  156. 55000  DATA PLANEB,PLANEC,PLANEE,PLANEF,PLANEG,PLANEI,PLANEJ,PLANEK,PLANEL
  157. 55010  DATA DPLANEA,DPLANED,DPLANEE,DPLANEF,DPLANEH,DPLANEJ,DPLANEM
  158. 55015  DATA HARDWARE,MARKINGS,WINGS1,WINGS2
  159.