home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Educational / SKELETON (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  6KB  |  168 lines

  1. 1 REM ******************
  2. 2 REM *    SKELETON    *
  3. 3 REM * GAMES FOR KIDS *
  4. 5 REM ******************
  5. 6 REM  FROM PD DISK (JOY/QUEST) T-32
  6. 100 CB=828:NW%=43
  7. 105 VC=53248:POKE VC+32,6:POKE VC+33,13:PRINTCHR$(147)
  8. 110 DIM NT%(19),WT$(NW%-1),WI$(19),CC$(NW%-1)
  9. 115 MC=54272:FOR X=MC TO 54296:POKE X,0:NEXT X
  10. 120 S1=((PEEK(53272)AND240)/16)*1024:S2=55296
  11. 130 FOR X=0 TO 19:READ Z:NT%(X)=Z:NEXT X:FOR X=1 TO NW%:READ X$,XX$
  12. 135 WT$(X-1)=X$:CC$(X-1)=XX$:NEXT X
  13. 140 PRINT"[129]            S K E L E T O N             "
  14. 142 GOSUB 8000
  15. 146 PRINT" THIS GAME TEACHES YOU THE NAMES OF THE  BONES IN THE HUMAN SKELETON:"
  16. 148 PRINT"[129] [196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]"
  17. 150 PRINT" THE COMPUTER WILL SELECT THE NAMES OF"
  18. 160 PRINT" THE BONES, AND PRESENT THEM TO YOU."
  19. 170 PRINT" YOU MUST DETERMINE THE BONE BY"
  20. 175 PRINT" GUESSING ONE LETTER AT A TIME."
  21. 180 PRINT" IF YOU PICK MORE THAN 11 INCORRECT"
  22. 190 PRINT" LETTERS, A SKELETON WILL HANG IN YOUR   CLOSET!!"
  23. 200 PRINT"        PRESS <SPACE> TO START)":GOSUB 2500
  24. 210 PRINT "[147]         DO YOU WISH TO PLAY"
  25. 214 PRINT"        B[146]EGINNERS OR A[146]DVANCED?"
  26. 215 GET Q$:IF Q$<>"B" AND Q$<>"A" THEN 215
  27. 216 IF Q$="A" THEN NW%=43
  28. 217 IF Q$="B" THEN NW%=25
  29. 219 PRINT"           (TEN SECOND DELAY)";
  30. 220 FOR X=1 TO NW%:POKE CB+X,0:NEXT X
  31. 230 FOR X=1 TO NW%:GOSUB 800:POKE CB+Z,X:NEXT X:POKE VC+33,15:PRINTCHR$(147)
  32. 300 FOR LC=1 TO NW%
  33. 310 X=PEEK(CB+LC):WO$=WT$(X-1):SY$=CC$(X-1)
  34. 320 LW%=LEN(WO$)
  35. 330 SC=0:FOR X=0 TO LW%-1
  36. 340 WI$(X)=MID$(WO$,X+1,1):IF ASC(WI$(X))=32 THEN SC=SC+1
  37. 345 NEXT X
  38. 350 LC%=0:OF%=881:SO=640:BC%=0:GOSUB 1000:LW%=LW%-1
  39. 400 GET X$:IF X$="" THEN 400
  40. 410 X=ASC(X$):IF X<65 OR X>90 THEN 400
  41. 500 HI=0:FOR Y=0 TO LW%:IF WI$(Y)<>X$ THEN 530
  42. 510 HI=1:WI$(Y)="$":POKE S1+SO+CC+Y*2,X-64
  43. 520 LC%=LC%+1
  44. 530 NEXT Y:IF HI=1 THEN 560
  45. 540 GOSUB 3000:BC%=BC%+1
  46. 550 IF BC%>10 THEN GOSUB 2000:LO%=LO%+1:FOR X=1 TO 5000:NEXT X:GOTO 700
  47. 560 IF (LC%+SC)<=LW% THEN 400
  48. 570 GOSUB 4000:WI%=WI%+1
  49. 700 PRINT"[147][151]             ANOTHER BONE ?[146]":PRINT"     ENTER Y[146] OR N[146]"
  50. 720 GET X$:IF X$="" THEN 720
  51. 730 IF X$="Y" THEN NEXT LC:GOTO 220
  52. 740 IF X$<>"N" THEN 720
  53. 750 PRINT"[151]     NUMBER CORRECT =";WI%
  54. 760 PRINT"     NUMBER MISSED  =";LO%
  55. 770 PRINT"     FINAL SCORE    =";INT((WI%*100)/(WI%+LO%));"[157]%"
  56. 780 END
  57. 800 Y=0
  58. 810 Z=INT(RND(1)*NW%)+1:IF PEEK(CB+Z)=0 THEN RETURN
  59. 820 Y=Y+1:IF Y<10 THEN 810
  60. 830 Z=1
  61. 840 IF PEEK(CB+Z)=0 THEN RETURN
  62. 850 Z=Z+1:GOTO 840
  63. 1000 PRINT"[147][151]            S K E L E T O N"
  64. 1110 PRINT""
  65. 1500 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";
  66. 1502 QX=LEN(SY$)/2:QQ=INT(QX):IF QQ<>QX THEN QQ=QQ+1
  67. 1504 QQ=20-QQ
  68. 1505 PRINT SPC(QQ);SY$
  69. 1510 PRINT" ENTER A LETTER:";
  70. 1515 CC=INT((40-(LW%*2-1))/2)
  71. 1520 Z=0:FOR Y=0 TO ((LW%-1)*2) STEP 2:X=70:IF ASC(WI$(Z))=32 THEN X=32
  72. 1540 POKE S1+SO+CC+Y,X:IF X=70 THEN POKE S2+SO+CC+Y,6
  73. 1550 Z=Z+1:NEXTY
  74. 1560 Z=WI%+LO%:IF Z=0 THEN Z=.1
  75. 1570 PRINT"";SPC(13);"SCORE =";
  76. 1580 PRINT INT((WI%*100)/Z);"[157]%";
  77. 1590 RETURN
  78. 2000 FOR X=0 TO LW%:IF WI$(X)="$" THEN 2020
  79. 2010 Y=ASC(WI$(X)):IF Y=32 THEN 2020
  80. 2015 POKE S1+SO+CC+X*2,Y-64
  81. 2020 NEXT X
  82. 2030 POKE MC+0,0:POKE MC+1,0:POKE MC+5,15:POKE MC+6,15:POKE MC+24,8
  83. 2040 FOR Y=80 TO 20 STEP-10
  84. 2050 POKE MC+1,Y:POKE MC+4,17:FOR X=1 TO 60:NEXT X
  85. 2060 POKE MC+4,16:FOR X=1 TO 30:NEXT X,Y
  86. 2070 POKE MC+24,0
  87. 2080 RETURN
  88. 2500 REM *** SPRITE AND SONG ***
  89. 2505 X=5:Y=0:POKE MC+24,15:POKE VC+21,1
  90. 2510 Z=INT(NT%(Y)/256)
  91. 2520 POKE MC+0,NT%(Y)-(Z*256)
  92. 2530 POKE MC+1,Z:POKE MC+4,17
  93. 2540 Y=Y+1:IF Y>19 THEN Y=0
  94. 2550 POKE VC+0,X:X=X+10
  95. 2560 IF X>60 AND(PEEK(VC+16)AND1)=1 THEN X=5:POKE VC+16,0:POKE VC+0,X
  96. 2570 IF X>255 THEN X=5:POKE VC+16,1:POKE VC+0,X
  97. 2580 IF PEEK(2040)=13 THEN POKE 2040,14:GOTO 2600
  98. 2590 POKE 2040,13
  99. 2600 FOR Z=1 TO 120:NEXT Z:POKE MC+4,16
  100. 2610 FOR Z=1 TO 20:NEXT Z
  101. 2620 GET X$:IF X$="" THEN 2510
  102. 2630 POKE MC+24,0:POKE VC+21,0
  103. 2640 RETURN
  104. 3000 PRINT"[144]";
  105. 3005 ON(BC%+1)GOTO 3010,3020,3030,3040,3050,3060,3070,3080,3090,3100,3110,3120
  106. 3010 PRINT"";SPC(18);"[169] [223][146]":GOTO 3500
  107. 3020 PRINT SPC(18);"[209] [209][146]":GOTO 3500
  108. 3030 PRINT SPC(18);" ! [146]":GOTO 3500
  109. 3040 PRINT SPC(18);"[223][192][146][169]":GOTO 3500
  110. 3050 PRINT SPC(14);"[214]    -[146]    [214]":GOTO 3500
  111. 3060 PRINT SPC(15);"[205]   [221]   [206]":GOTO 3500
  112. 3070 PRINT SPC(16);"[205][175][198][177][198][175][206]":GOTO 3500
  113. 3080 PRINT SPC(18);"[198][219][198]":GOTO 3500
  114. 3090 PRINT SPC(18);"[198][219][198]":GOTO 3500
  115. 3100 PRINT SPC(15);"[206][205]  [219]  [206][205]":GOTO 3500
  116. 3110 PRINT SPC(13);"[205][206]  [205][209] [209][146][206]  [205][206]"
  117. 3500 POKEMC+0,0:POKEMC+1,5:POKEMC+4,33:POKEMC+5,15:POKEMC+6,15:POKEMC+24,8
  118. 3505 POKE VC+33,0
  119. 3510 FOR Y=1 TO 100:NEXT Y:POKE MC+4,32
  120. 3520 FOR Y=1 TO 30:NEXT Y:POKE MC+24,0:POKE VC+33,15
  121. 3530 POKE S1+OF%,X-64:POKE S2+OF%,0:OF%=OF%+2
  122. 3540 RETURN
  123. 4000 REM *** FLASH ON A WIN ***
  124. 4010 POKE MC+0,0:POKE MC+1,0:POKE MC+5,15:POKE MC+6,15:POKE MC+24,12
  125. 4020 FOR X=8 TO 15
  126. 4030 POKE VC+33,X
  127. 4040 POKE MC+1,X*4:POKE MC+4,17
  128. 4050 FOR Y=1 TO 50:NEXT Y
  129. 4060 POKE MC+4,16:FOR Y=1 TO 30:NEXT Y,X
  130. 4070 POKE MC+24,0
  131. 4080 RETURN
  132. 5000 DATA 1072,1607,1804,1804,1607,1432,1204,1432,1204,1432,1072,1072
  133. 5010 DATA 1432,1804,2145,1804,2145,1607,1204,1072
  134. 6000 REM *** LOAD THE SPRITES ***
  135. 6020 .
  136. 7000 DATA "CLAVICLE","COLLARBONE","HUMERUS","UPPER ARM"
  137. 7005 DATA "ULNA","FOREARM","RADIUS","FOREARM","TIBIA","SHIN"
  138. 7010 DATA "FIBULA","CALF","FEMUR","THIGH"
  139. 7015 DATA "METATARSAL BONES","FOOT (SOLE)","TARSAL BONES","FOOT (ANKLE)"
  140. 7020 DATA "PATELLA","KNEECAP","CARPAL BONES","HAND (WRIST)","METACARPAL BONES"
  141. 7025 DATA "HAND (KNUCKLE)","PHALANGES","FINGERS","PHALANGES","TOES","COCCYX"
  142. 7030 DATA "TAILBONE","ILIUM","PELVIS (HIP)","PUBIS","PELVIS (GROIN)","ISCHIUM"
  143. 7035 DATA "PELVIS (SEAT)","SACRUM","BASE OF SPINE","VERTEBRAE","SPINE","RIBS"
  144. 7040 DATA "CHEST","STERNUM","BREASTBONE","SCAPULA","SHOULDER BLADE","MANDIBLE"
  145. 7045 DATA "JAW","CRANIUM","BRAIN CASE","PARIETAL BONE","TOP OF YOUR HEAD"
  146. 7050 DATA "SPHENOID","THE BASE OF THE SKULL","TEMPORAL BONE"
  147. 7055 DATA "ALONGSIDE YOUR HEAD","OCCIPITAL BONE","THE BACK OF THE HEAD"
  148. 7060 DATA "MASTOID PROCESS","TUCKED BEHIND THE EAR","PUBIC SYMPHYSIS"
  149. 7065 DATA "PELVIC CONNECTION (GROIN)","LUMBAR VERTEBRAE","THE LOWER SPINE"
  150. 7070 DATA "THORACIC VERTEBRAE","THE MIDDLE OF THE BACK","CERVICAL VERTEBRAE"
  151. 7075 DATA "A PAIN IN THE NECK","MAXILLA","STIFF UPPER LIP","ZYGOMATIC BONE"
  152. 7077 DATA "CHEEK","NASAL BONE","NOSE","FRONTAL BONE","FOREHEAD"
  153. 7080 DATA "SACROILIAC JOINT","THE PELVIC CONNECTION (HIP)","AXIS"
  154. 7085 DATA "TURN YOUR HEAD","ATLAS","HOLD UP YOUR HEAD"
  155. 7090 DATA "AXIS","SECOND NECK BONE","ATLAS","TOP NECK BONE"
  156. 8000 REM *** LOAD THE SPRITES ***
  157. 8010 FOR X=832 TO 832+127:READ Z:POKE X,Z:NEXT X
  158. 8020 POKE VC+0,0:POKE VC+1,93:POKE VC+16,0:POKE VC+21,0:POKE VC+23,1
  159. 8030 POKE VC+27,0:POKE VC+28,0:POKE VC+29,1:POKE VC+39,0:POKE 2040,13
  160. 8040 POKE MC+0,0:POKE MC+1,0:POKE MC+5,79:POKE MC+6,129
  161. 8050 RETURN
  162. 8900 DATA 0,56,0,0,84,0,0,56,0,0,16,0,48,124,0,8,146,0,5,125,0,2,16,128
  163. 8910 DATA 0,124,64,0,16,32,0,124,192,0,186,0,0,68,0,0,130,0,1,1,0,2,0,128
  164. 8920 DATA 1,1,0,0,130,0,1,131,0,0,0,0,0,0,0,0
  165. 8930 DATA 0,56,0,0,84,0,0,56,0,0,16,0,0,124,0,1,147,0,2,124,128,4,16,64,2,124
  166. 8940 DATA 128,4,16,64,2,124,128,0,186,0,0,68,0,0,68,0,0,68,0,0,0,0,0,68
  167. 8950 DATA 0,0,68,0,0,68,0,0,130,0,0,0,0,0
  168.