home *** CD-ROM | disk | FTP | other *** search
/ Explore the World of Soft…ids, Adults, Educational / RocelcoInc-ExploreTheWorldOfSoftware-KidsAdultsEducational-Vol2-Shareware.iso / educate / disk057 / k0.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-03-15  |  10.9 KB  |  213 lines

  1. 0  ' ====> K0.bas
  2. 1  DEF SEG=&H40:POKE &H17,&H20 ' -- turn everything off but Num Lock
  3. 2  FOR K=1 TO 10:KEY K,"":NEXT
  4. 3  OPEN"i",#1,"data.dat":INPUT#1,MONO,LSN$,PAGE:CLOSE
  5. 4  SCREEN 0,0,0:WIDTH 80:KEY OFF:LOCATE 1,1,0:DEF SEG=&HB800
  6. 5  IF MONO THEN C1=7:C2=0:C3=8:C4=2:BLOAD"mono.pic" ELSE C1=(VAL(RIGHT$(TIME$,2)) MOD 6)+2:C2=0:C4=0:C3=(C1+2)+(6*(C1>5)):BLOAD"color.pic"
  7. 6  PLAY "MBt200mbmso3l4cdel8cl4dl8cl2eo3l4defl8dl4el8dl2fo3l4efgl8el4fl8el2gl8gl4g-fl8cl4dl2cl4o4c"
  8. 7  IF INKEY$<>"" THEN 7
  9. 8  IF INKEY$="" THEN 8
  10. 9  COLOR C1,C2:CLS:LOCATE 5,7:PRINT "Sorry to disappoint you, but Mr. Phenomenal couldn't be here today.":LOCATE 7,21:PRINT "Substituting for Phil is Seymor Cursor."
  11. 10  LOCATE 9,20:PRINT "Please give a warm welcome to Mr. Cursor.":LOCATE 11,26:PRINT "Press any key to continue.":LOCATE 13,7:PRINT "(The cursor is the blinking underline at the bottom of the screen.)"
  12. 11  COLOR C3,C4:FOR R=15 TO 23:LOCATE R,39:PRINT CHR$(179):NEXT:LOCATE 24,39:PRINT CHR$(25);:LOCATE 25,39,7
  13. 12  IF INKEY$<>"" THEN 12
  14. 13  IF INKEY$="" THEN 13
  15. 14  COLOR C1,C2:CLS
  16. 15  TOPKEY1$=CHR$(218)+STRING$(6,196)+CHR$(191)
  17. 16  MIDKEY1$=CHR$(179)+SPACE$(6)+CHR$(179)
  18. 17  BOTKEY1$=CHR$(192)+STRING$(6,196)+CHR$(217)
  19. 18  TOPKEY2$=CHR$(218)+CHR$(194)+STRING$(6,196)+CHR$(194)+CHR$(191)
  20. 19  MIDKEY2$=CHR$(179)+CHR$(179)+SPACE$(6)+CHR$(179)+CHR$(179)
  21. 20  BOTKEY2$=CHR$(192)+CHR$(193)+STRING$(6,196)+CHR$(193)+CHR$(217)
  22. 21  TOPKEY3$=CHR$(218)+CHR$(196)+CHR$(194)+STRING$(6,196)+CHR$(194)+CHR$(196)+CHR$(191)
  23. 22  MIDKEY3$=CHR$(179)+CHR$(32)+CHR$(179)+SPACE$(6)+CHR$(179)+CHR$(32)+CHR$(179)
  24. 23  BOTKEY3$=CHR$(192)+CHR$(196)+CHR$(193)+STRING$(6,196)+CHR$(193)+CHR$(196)+CHR$(217)
  25. 24  TOPKEY4$=CHR$(218)+STRING$(2,196)+CHR$(194)+STRING$(6,196)+CHR$(194)+STRING$(2,196)+CHR$(191)
  26. 25  MIDKEY4$=CHR$(179)+STRING$(2,32)+CHR$(179)+SPACE$(6)+CHR$(179)+STRING$(2,32)+CHR$(179)
  27. 26  BOTKEY4$=CHR$(192)+STRING$(2,196)+CHR$(193)+STRING$(6,196)+CHR$(193)+STRING$(2,196)+CHR$(217)
  28. 27  TOPKEY5$=CHR$(218)+STRING$(3,196)+CHR$(194)+STRING$(6,196)+CHR$(194)+STRING$(3,196)+CHR$(191)
  29. 28  MIDKEY5$=CHR$(179)+STRING$(3,32)+CHR$(179)+SPACE$(6)+CHR$(179)+STRING$(3,32)+CHR$(179)
  30. 29  BOTKEY5$=CHR$(192)+STRING$(3,196)+CHR$(193)+STRING$(6,196)+CHR$(193)+STRING$(3,196)+CHR$(217)
  31. 30  SIDEKEY$=CHR$(195)+STRING$(6,196)+CHR$(180)
  32. 31  LOCATE 1,1,0:PRINT STRING$(80,219)
  33. 32  LOCATE 2,25:PRINT TOPKEY1$+TOPKEY4$+TOPKEY5$+TOPKEY5$+STRING$(2,219)
  34. 33  LOCATE 3,25:PRINT MIDKEY1$+MIDKEY4$+MIDKEY5$+MIDKEY5$+STRING$(2,219)
  35. 34  LOCATE 4,25:PRINT MIDKEY1$+MIDKEY4$+MIDKEY5$+MIDKEY5$+STRING$(2,219)
  36. 35  LOCATE 5,25:PRINT BOTKEY1$+BOTKEY4$+BOTKEY5$+BOTKEY5$+STRING$(2,219)
  37. 36  LOCATE 6,29:PRINT TOPKEY2$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+STRING$(2,219)
  38. 37  LOCATE 7,29:PRINT MIDKEY2$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  39. 38  LOCATE 8,29:PRINT MIDKEY2$+SIDEKEY$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  40. 39  LOCATE 9,29:PRINT BOTKEY2$+MIDKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+STRING$(2,219)
  41. 40  LOCATE 10,31:PRINT TOPKEY1$+MIDKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+STRING$(2,219)
  42. 41  LOCATE 11,31:PRINT MIDKEY1$+SIDEKEY$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  43. 42  LOCATE 12,31:PRINT MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  44. 43  LOCATE 13,31:PRINT BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+MIDKEY1$+STRING$(2,219)
  45. 44  LOCATE 14,27:PRINT TOPKEY3$+TOPKEY1$+TOPKEY1$+TOPKEY1$+TOPKEY1$+SIDEKEY$+STRING$(2,219)
  46. 45  LOCATE 15,27:PRINT MIDKEY3$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  47. 46  LOCATE 16,27:PRINT MIDKEY3$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+MIDKEY1$+STRING$(2,219)
  48. 47  LOCATE 17,27:PRINT BOTKEY3$+BOTKEY1$+BOTKEY1$+BOTKEY1$+BOTKEY1$+SIDEKEY$+STRING$(2,219)
  49. 48  LOCATE 18,1:PRINT STRING$(21,196)+CHR$(191)+TOPKEY5$+TOPKEY5$+TOPKEY5$+MIDKEY1$+STRING$(2,219)
  50. 49  LOCATE 19,22:PRINT CHR$(179)+MIDKEY5$+MIDKEY5$+MIDKEY5$+MIDKEY1$+STRING$(2,219)
  51. 50  LOCATE 20,22:PRINT CHR$(179)+MIDKEY5$+MIDKEY5$+MIDKEY5$+MIDKEY1$+STRING$(2,219)
  52. 51  LOCATE 21,1:PRINT STRING$(21,196)+CHR$(217)+BOTKEY5$+BOTKEY5$+BOTKEY5$+BOTKEY1$+STRING$(2,219)
  53. 52  LOCATE 22:PRINT STRING$(80,219)
  54. 53  GOSUB 85
  55. 54  GOSUB 93
  56. 55  GOSUB 101
  57. 56  GOSUB 109      
  58. 57  GOSUB 118
  59. 58  GOSUB 127
  60. 59  GOSUB 136
  61. 60  GOSUB 147
  62. 61  GOSUB 157
  63. 62  GOSUB 167
  64. 63  GOSUB 177
  65. 64  GOSUB 187
  66. 65  TITLE$="Pick a key, any key!"
  67. 66  TEXT$="As a review, choose one of the keys you learned about. Try and remember its use. Then to see if you are correct, press it. When you are finished, press the space bar."
  68. 67  GOSUB 200:DEF SEG=&H40:A=PEEK(&H17):CAPS.STAT=0<>(A AND &H40):NUM.STAT=0<>(A AND &H20)
  69. 68  A$=INKEY$:DEF SEG=&H40:A=PEEK(&H17)
  70. 69  IF CAPS.STAT<>(0<>(A AND &H40)) THEN GOSUB 109:GOTO 65
  71. 70  IF NUM.STAT<>(0<>(A AND &H20)) THEN GOSUB 118:GOTO 65
  72. 71  IF (A AND &H1) THEN GOSUB 127:GOTO 65
  73. 72  IF A$="" THEN 68 ELSE ON LEN(A$) GOTO 73,77
  74. 73  IF A$=" " THEN CLS:CHAIN"k1",,ALL
  75. 74  IF A$=CHR$(13) THEN GOSUB 93:GOTO 65
  76. 75  IF A$=CHR$(8) THEN GOSUB 101:GOTO 65
  77. 76  GOTO 68
  78. 77  A=ASC(RIGHT$(A$,1))
  79. 78  IF A=72 THEN GOSUB 136:GOTO 65
  80. 79  IF A=80 THEN GOSUB 147:GOTO 65
  81. 80  IF A=75 THEN GOSUB 157:GOTO 65
  82. 81  IF A=77 THEN GOSUB 167:GOTO 65
  83. 82  IF A=82 THEN GOSUB 177:GOTO 65
  84. 83  IF A=83 THEN GOSUB 187:GOTO 65
  85. 84  GOTO 68
  86. 85  ' ====> space bar
  87. 86  TITLE$="The space bar"
  88. 87  TEXT$="Located at the bottom of the keyboard you will find the space bar. It is the longest key on the keyboard. It is just like the space bar on a typewriter keyboard. Use it as a reference point when finding other keys."
  89. 88  GOSUB 200
  90. 89  C5=C3:C6=C4:GOSUB 91
  91. 90  A$=INKEY$:IF A$<>" " THEN 90 ELSE C5=C1:C6=C2
  92. 91  COLOR C5,C6:LOCATE 18,1:PRINT STRING$(21,196)+CHR$(191):LOCATE 19,22:PRINT CHR$(179):LOCATE 20,22:PRINT CHR$(179):LOCATE 21,1:PRINT STRING$(21,196)+CHR$(217)
  93. 92  LOCATE 19,1:PRINT "space":LOCATE 20,2:PRINT "bar":RETURN
  94. 93  ' ====> return key
  95. 94  TITLE$="The return key"
  96. 95  TEXT$="One of the most used keys on a computer keyboard is the return key. Whenever you finish typing a line, you MUST press return. Remember where it is located because you will use it literally thousands of times."
  97. 96  GOSUB 200
  98. 97  C5=C3:C6=C4:GOSUB 99
  99. 98  A$=INKEY$:IF A$<>CHR$(13) THEN 98 ELSE C5=C1:C6=C2
  100. 99  COLOR C5,C6:LOCATE 6,39:PRINT TOPKEY1$:LOCATE 7,39:PRINT MIDKEY1$:LOCATE 8,39:PRINT SIDEKEY$:LOCATE 9,39:PRINT MIDKEY1$:LOCATE 10,39:PRINT MIDKEY1$:LOCATE 11,39:PRINT SIDEKEY$:LOCATE 12,39:PRINT MIDKEY1$:LOCATE 13,39:PRINT BOTKEY1$
  101. 100  LOCATE 10,41:PRINT CHR$(17)+CHR$(196)+CHR$(217):COLOR C1,C2:RETURN
  102. 101  ' ====> backspace key
  103. 102  TITLE$="The backspace key"
  104. 103  TEXT$="Located just above the return key is the backspace key. The backspace is your electronic eraser. You can correct a mistake in a line before you press return by using the backspace key."
  105. 104  GOSUB 200
  106. 105  C5=C3:C6=C4:GOSUB 107
  107. 106  A$=INKEY$:IF A$<>CHR$(8) THEN 106 ELSE C5=C1:C6=C2
  108. 107  COLOR C5,C6:LOCATE 2,33:PRINT TOPKEY4$:LOCATE 3,33:PRINT MIDKEY4$:LOCATE 4,33:PRINT MIDKEY4$:LOCATE 5,33:PRINT BOTKEY4$
  109. 108  LOCATE 4,38:PRINT CHR$(17)+CHR$(196)+CHR$(196):COLOR C1,C2:RETURN
  110. 109  ' ====> caps lock key
  111. 110  TITLE$="The Caps Lock key"
  112. 111  TEXT$="Just to the right of the space bar is the Caps Lock key. This key affects ONLY the letters on the keyboard. It will not affect any special characters. Press it once for upper case letters, press it again for lower case."
  113. 112  GOSUB 200
  114. 113  C5=C3:C6=C4:GOSUB 116
  115. 114  DEF SEG=&H40:CAPS.STAT=0<>(PEEK(&H17) AND &H40)
  116. 115  IF CAPS.STAT=(0<>(PEEK(&H17) AND &H40)) THEN 115 ELSE C5=C1:C6=C2
  117. 116  COLOR C5,C6:LOCATE 18,23:PRINT TOPKEY5$:LOCATE 19,23:PRINT MIDKEY5$:LOCATE 20,23:PRINT MIDKEY5$:LOCATE 21,23:PRINT BOTKEY5$
  118. 117  LOCATE 19,29:PRINT "Caps":LOCATE 20,29:PRINT "Lock":COLOR C1,C2:RETURN
  119. 118  ' ====> num lock key
  120. 119  TITLE$="The Num Lock key"
  121. 120  TEXT$="To the right of the backspace key is the Num Lock key. It affects the number pad (the keys below the Num Lock) in the same manner as the Caps Lock key affects the letters. Press the Num Lock once for numbers, again to shut it off."
  122. 121  GOSUB 200
  123. 122  C5=C3:C6=C4:GOSUB 125
  124. 123  DEF SEG=&H40:NUM.STAT=0<>(PEEK(&H17) AND &H20)
  125. 124  IF NUM.STAT=(0<>(PEEK(&H17) AND &H20)) THEN 124 ELSE C5=C1:C6=C2
  126. 125  COLOR C5,C6:LOCATE 2,47:PRINT TOPKEY5$:LOCATE 3,47:PRINT MIDKEY5$:LOCATE 4,47:PRINT MIDKEY5$:LOCATE 5,47:PRINT BOTKEY5$
  127. 126  LOCATE 3,53:PRINT "Num":LOCATE 4,53:PRINT "Lock":COLOR C1,C2:RETURN
  128. 127  ' ====> shift key
  129. 128  TITLE$="The shift key"
  130. 129  TEXT$="The shift key allows you to type the special characters on the top of a key. It also temporarily over-rides the Caps Lock and Num Lock keys. The shift key must be held down while the second key is pressed."
  131. 130  GOSUB 200
  132. 131  C5=C3:C6=C4:GOSUB 134
  133. 132  DEF SEG=&H40
  134. 133  IF (PEEK(&H17) AND &H1)=0 THEN 133 ELSE C5=C1:C6=C2
  135. 134  COLOR C5,C6:LOCATE 14,27:PRINT TOPKEY3$:LOCATE 15,27:PRINT MIDKEY3$:LOCATE 16,27:PRINT MIDKEY3$:LOCATE 17,27:PRINT BOTKEY3$
  136. 135  LOCATE 15,31:PRINT "/\":LOCATE 16,31:PRINT "CLS'":COLOR C1,C2:RETURN
  137. 136  ' ====> cursor up key
  138. 137  TITLE$="The cursor up key"
  139. 138  TEXT$="When the Num Lock key is off (or by using the shift key) the keys on the number pad are used for moving the cursor. By pressing the cursor up key, you can move the cursor up one space. REMEMBER: The Num Lock key must be off, or else use"
  140. 139  TEXT$=TEXT$+" the shift key."
  141. 140  GOSUB 200
  142. 141  C5=C3:C6=C4:GOSUB 145
  143. 142  A$=INKEY$:IF A$="8" THEN GOSUB 197
  144. 143  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=72 THEN C5=C1:C6=C2:GOTO 145
  145. 144  GOTO 142            
  146. 145  COLOR C5,C6:LOCATE 6,55:PRINT TOPKEY1$:LOCATE 7,55:PRINT MIDKEY1$:LOCATE 8,55:PRINT MIDKEY1$:LOCATE 9,55:PRINT BOTKEY1$
  147. 146  LOCATE 7,58:PRINT "8":LOCATE 8,57:PRINT CHR$(24):COLOR C1,C2:RETURN
  148. 147  ' ====> cursor down key
  149. 148  TITLE$="The cursor down key"
  150. 149  TEXT$="The cursor down key lets you move the cursor down one row (maybe that is where it got its name?). Again remember, the Num Lock key must be off, or else you will have to use the shift key too."
  151. 150  GOSUB 200
  152. 151  C5=C3:C6=C4:GOSUB 155
  153. 152  A$=INKEY$:IF A$="2" THEN GOSUB 197
  154. 153  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=80 THEN C5=C1:C6=C2:GOTO 155
  155. 154  GOTO 152
  156. 155  COLOR C5,C6:LOCATE 14,55:PRINT TOPKEY1$:LOCATE 15,55:PRINT MIDKEY1$:LOCATE 16,55:PRINT MIDKEY1$:LOCATE 17,55:PRINT BOTKEY1$
  157. 156  LOCATE 15,58:PRINT "2":LOCATE 16,57:PRINT CHR$(25):COLOR C1,C2:RETURN
  158. 157  ' ====> cursor left key
  159. 158  TITLE$="The cursor left key"
  160. 159  TEXT$="By now you can probably guess what the cursor left key does. If not, it allows you to move the cursor to the left one position. It doesn't erase like the backspace key does."
  161. 160  GOSUB 200
  162. 161  C5=C3:C6=C4:GOSUB 165
  163. 162  A$=INKEY$:IF A$="4" THEN GOSUB 197
  164. 163  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=75 THEN C5=C1:C6=C2:GOTO 165
  165. 164  GOTO 162
  166. 165  COLOR C5,C6:LOCATE 10,47:PRINT TOPKEY1$:LOCATE 11,47:PRINT MIDKEY1$:LOCATE 12,47:PRINT MIDKEY1$:LOCATE 13,47:PRINT BOTKEY1$
  167. 166  LOCATE 11,50:PRINT "4":LOCATE 12,49:PRINT CHR$(27):COLOR C1,C2:RETURN
  168. 167  ' ====> cursor right key
  169. 168  TITLE$="The cursor right key"
  170. 169  TEXT$="Of course, the cursor right key moves the cursor to the right one position. The space bar does this as well, but the cursor right key won't erase."
  171. 170  GOSUB 200
  172. 171  C5=C3:C6=C4:GOSUB 175
  173. 172  A$=INKEY$:IF A$="6" THEN GOSUB 197
  174. 173  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=77 THEN C5=C1:C6=C2:GOTO 175
  175. 174  GOTO 172
  176. 175  COLOR C5,C6:LOCATE 10,63:PRINT TOPKEY1$:LOCATE 11,63:PRINT MIDKEY1$:LOCATE 12,63:PRINT MIDKEY1$:LOCATE 13,63:PRINT BOTKEY1$
  177. 176  LOCATE 11,66:PRINT "6":LOCATE 12,65:PRINT CHR$(26):COLOR C1,C2:RETURN
  178. 177  ' ====> Insert key
  179. 178  TITLE$="The Ins (insert) key"
  180. 179  TEXT$="You can insert characters in the middle of a line using the Ins key. Just move the cursor to where you want to insert and press the Ins key. The cursor will become larger to show that you are in insert mode, then just type in the letters."
  181. 180  GOSUB 200
  182. 181  C5=C3:C6=C4:GOSUB 185
  183. 182  A$=INKEY$:IF A$="0" THEN GOSUB 197
  184. 183  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=82 THEN C5=C1:C6=C2:GOTO 185
  185. 184  GOTO 182
  186. 185  COLOR C5,C6:LOCATE 18,39:PRINT TOPKEY5$:LOCATE 19,39:PRINT MIDKEY5$:LOCATE 20,39:PRINT MIDKEY5$:LOCATE 21,39:PRINT BOTKEY5$
  187. 186  LOCATE 19,45:PRINT "0":LOCATE 20,44:PRINT "Ins":COLOR C1,C2:RETURN
  188. 187  ' ====> Delete key
  189. 188  TITLE$="The Del (delete) key"
  190. 189  TEXT$="The Del key is similar to the backspace key except it lets you erase to the right of the cursor. Pressing the Del key shuts off insert mode, but pressing the backspace does not."
  191. 190  GOSUB 200
  192. 191  C5=C3:C6=C4:GOSUB 195
  193. 192  A$=INKEY$:IF A$="." THEN GOSUB 197
  194. 193  IF LEN(A$)=2 THEN IF ASC(RIGHT$(A$,1))=83 THEN C5=C1:C6=C2:GOTO 195
  195. 194  GOTO 192
  196. 195  COLOR C5,C6:LOCATE 18,55:PRINT TOPKEY5$:LOCATE 19,55:PRINT MIDKEY5$:LOCATE 20,55:PRINT MIDKEY5$:LOCATE 21,55:PRINT BOTKEY5$
  197. 196  LOCATE 19,61:PRINT "<UNK! {00F9}>":LOCATE 20,60:PRINT "Del":COLOR C1,C2:RETURN
  198. 197  ' -- num lock is on
  199. 198  BEEP:COLOR C1,C2:LOCATE 24,1:PRINT "If the Num Lock key is on, you must either press it again or use the shift key.";
  200. 199  IF INKEY$="" THEN 199 ELSE LOCATE 24,1:PRINT SPACE$(79);:RETURN
  201. 200  ' ====> write text
  202. 201  IF INKEY$<>"" THEN 201 ELSE PRESSED.KEY=0
  203. 202  FOR R=2 TO 5:LOCATE R:PRINT SPACE$(24):NEXT
  204. 203  FOR R=6 TO 9:LOCATE R:PRINT SPACE$(28):NEXT
  205. 204  FOR R=10 TO 13:LOCATE R:PRINT SPACE$(30):NEXT
  206. 205  FOR R=14 TO 17:LOCATE R:PRINT SPACE$(26):NEXT
  207. 206  LOCATE 3,INT(14-(LEN(TITLE$)/2)):PRINT TITLE$:R=4
  208. 207  R=R+1:IF R<6 THEN L=24 ELSE IF R<10 THEN L=28 ELSE IF R<14 THEN L=30 ELSE L=26
  209. 208  IF L>=LEN(TEXT$) THEN LOCATE R,1:PRINT TEXT$:IF LEFT$(TITLE$,5)<>"Press" THEN LOCATE R+2,7:PRINT "Press it now.":RETURN ELSE RETURN
  210. 209  P=L+1:WHILE MID$(TEXT$,P,1)<>" ":P=P-1:WEND
  211. 210  LOCATE R,1:PRINT LEFT$(TEXT$,P-1):TEXT$=RIGHT$(TEXT$,LEN(TEXT$)-P)
  212. 211  GOTO 207
  213.