home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / spiele / hangman.bas < prev    next >
Encoding:
BASIC Source File  |  1991-05-15  |  4.5 KB  |  116 lines

  1. 0 'THIS PROGRAM USES THE COLOR GRAPHICS ADAPTOR.                                    ACTIVATE LINE 410 IF YOU WANT TO USE THE                                        MONOCHROME ADAPTOR AS WELL.
  2. 1 REM HANGMAN PROGRAM
  3. 2 REM WRITTEN BY BARRY SHIFFRIN  3/13/82
  4. 3 PLAY "mb"
  5. 10 DEF FNTM(X$)=VAL(RIGHT$(X$,2))+(60*VAL(MID$(X$,4,2)))+(120*VAL(LEFT$(X$,2)))
  6. 20 READ NUMW
  7. 30 DIM WA$(NUMW)
  8. 40 FOR I=0 TO NUMW-1:READ WA$(I):NEXT I
  9. 50 SEED=FNTM(TIME$)
  10. 60 RANDOMIZE SEED
  11. 70 PW$=WA$(RND*(NUMW-1))
  12. 80 GOSUB 340:KEY OFF
  13. 90 GOSUB 410:GOSUB 340:COLOR 8,0
  14. 100 CLS:DEF SEG=0:FAILS=0:R=0:G$=""
  15. 110 IF INKEY$<>"" THEN POKE 106,0:GOTO 110
  16. 120 G$=SPACE$(LEN(PW$))
  17. 130 LOCATE 3,15:FOR I=1 TO LEN(PW$):PRINT USING "& ";"_";:NEXT I
  18. 140 ALU$="ABCDEFGHIJKLMNOPQRSTUVWXYZ":ALL$="abcdefghijklmnopqrstuvwxyz"
  19. 150 LOCATE 22,1:FOR I=1 TO 13:PRINT USING"&  ";MID$(ALU$,I,1);:NEXT I
  20. 160 LOCATE 24,1:FOR I=14 TO 26:PRINT USING"&  ";MID$(ALU$,I,1);:NEXT I
  21. 170 A$=INKEY$:IF A$="" THEN GOTO 170
  22. 175 IF ASC(A$)>=97 THEN A$=CHR$(ASC(A$)-32)
  23. 180 FLAG=0
  24. 190 FOR I=1 TO LEN(PW$)
  25. 200 IF A$=MID$(PW$,I,1) THEN LOCATE 3,13+2*I:PRINT USING "&";A$;:FLAG=1:MID$(G$,I,1)=A$
  26. 210 NEXT I
  27. 220 IF G$=PW$ THEN LOCATE 10,1:PRINT "YOU WIN";:GOSUB 1000:GOSUB 410:GOTO 290
  28. 230 PS=INSTR(ALU$+ALL$,A$)
  29. 240 IF PS>26 THEN PS=PS-26
  30. 250 IF PS<>0 AND PS<=13 THEN LOCATE 22,1+(PS-1)*3:PRINT USING"&";" ";
  31. 260 IF PS<>0 AND PS>13 THEN LOCATE 24,1+(PS-14)*3:PRINT USING"&";" ";
  32. 270 IF FLAG=0 THEN FAILS=FAILS+1:ON FAILS GOSUB 490,530,560,590,620,660,700,730,760,790,820,850
  33. 280 IF FAILS=12 THEN LOCATE 10,1:GOSUB 2000:PRINT "SORRY - YOU LOSE";:LOCATE 11,1:PRINT "THE WORD WAS";:LOCATE 12,1:PRINT PW$;:GOSUB 410:GOTO 290 ELSE GOTO 170
  34. 290 IF INKEY$<>"" THEN POKE 106,0:GOTO 290
  35. 300 PRINT "PRESS THE X KEY TO END THE GAME"
  36. 310 PRINT "ANY OTHER KEY WILL CONTINUE WITH ANOTHER GAME"
  37. 320 ANS$=INKEY$:IF ANS$="" THEN GOTO 320
  38. 330 IF ANS$="X" OR ANS$="x" THEN GOTO 65140: ELSE GOTO 70
  39. 340 REM switch to color/graphics adapter
  40. 350 DEF SEG=0
  41. 360 POKE &H410,(PEEK(&H410) AND &HCF) OR &H20
  42. 370 DEF SEG
  43. 380 LOCATE ,,1,6,7
  44. 381 SCREEN 1,0:COLOR 8,0
  45. 390 SCREEN 1,0
  46. 400 RETURN
  47. 410 RETURN'REM SWITCH TO MONOCHROME ADAPTER
  48. 420 DEF SEG=0
  49. 430 POKE &H410,(PEEK(&H410) OR &H30)
  50. 440 DEF SEG
  51. 450 LOCATE ,,1,12,13
  52. 460 SCREEN 0
  53. 470 WIDTH 80
  54. 480 RETURN
  55. 490 REM SUBROUTINE TO DRAW GALLOWS
  56. 500 DRAW "C2BM100,150U10R100D10"
  57. 510 DRAW "BU10BL90U100R46D10"
  58. 520 RETURN
  59. 530 REM SUBROUTINE TO DRAW HEAD
  60. 540 CIRCLE (156,59),9,2
  61. 550 RETURN
  62. 560 REM SUBROUTINE TO DRAW NECK
  63. 570 DRAW "C2BM156,67D6"
  64. 580 RETURN
  65. 590 REM SUBROUTINE TO DRAW BODY
  66. 600 DRAW "C2BM148,74R16D20L16U20"
  67. 610 RETURN
  68. 620 REM SUBROUTINE TO DRAW ARM ON LEFT
  69. 630 DRAW "C2BM148,74G14"
  70. 640 CIRCLE (132,90),2,2
  71. 650 RETURN
  72. 660 REM SUBROUTINE TO DRAW ARM ON RIGHT
  73. 670 DRAW "C2BM164,74F14"
  74. 680 CIRCLE (178,90),2,2
  75. 690 RETURN
  76. 700 REM SUBROUTINE TO DRAW LEG ON LEFT
  77. 710 DRAW "C2BM150,95D20L6U2R6"
  78. 720 RETURN
  79. 730 REM SUBROUTINE TO DRAW LEG ON RIGHT
  80. 740 DRAW "C2BM162,95D20R6U2L6"
  81. 750 RETURN
  82. 760 REM SUBROUTINE TO DRAW EYE ON LEFT
  83. 770 PSET (154,57),2
  84. 780 RETURN
  85. 790 REM SUBROUTINE TO DRAW EYE ON RIGHT
  86. 800 PSET (158,57),2
  87. 810 RETURN
  88. 820 REM SUBROUTINE TO DRAW NOSE
  89. 830 PSET (156,60),2
  90. 840 RETURN
  91. 850 REM SUBROUTINE TO DRAW MOUTH
  92. 860 DRAW "BM153,63R6"
  93. 870 RETURN
  94. 1000 REM subroutine to play winning music
  95. 1010 PLAY "t230o3ao4cege6g"
  96. 1020 RETURN
  97. 2000 REM subroutine to play losing music
  98. 2010 PLAY "t170o1g.g.g8g.a#.a8a.g8g.g-8g"
  99. 2020 RETURN
  100. 5000 DATA 93                     :REM THIS IS THE NUMBER OF WORDS FOLLOWING
  101. 5010 DATA CAT,DOG,MAN,HOUSE,CAR  :REM YOU MAY HAVE AS MANY WORDS AS YOU WISH
  102. 5020 DATA HOUSE,MOUSE,PIG,ANDREA,ERICA,BARRY,RONDA       :REM BE SURE TO USE
  103. 5030 DATA IBM,HILLEL,HELLO,GOOD,FRIEND,ELEPHANT,COW      :REM ALL CAPITALS FOR
  104. 5040 DATA PENCIL,PEN,CRAYON,MARKER                       :REM THESE WORDS HERE
  105. 5050 DATA CLOCK,FAN,CAKE,PIE,MARCH,APRIL,MONDAY,TUESDAY  :REM THE PROGRAM WILL
  106. 5060 DATA WEDNESDAY,STOP,THURSDAY,FRIDAY,OUT,SATURDAY,OFF :REM ACCEPT LOWER CASE
  107. 5070 DATA JANUARY,FEBRUARY,MAY,JUNE,JULY,AUGUST,HELP,SEPTEMBER   :REM OR UPPER
  108. 5080 DATA OCTOBER,DOOR,DECEMBER,PHONE,COMPUTER,TEMPLE,SCHOOL     :REM FOR YOUR
  109. 5090 DATA BOOK,CARD,LIBRARY,SISTER,MOTHER,FATHER,BROTHER         :REM GUESSES
  110. 5100 DATA GAME,RED,BLUE,GREEN,YELLOW
  111. 5110 DATA LISTEN,PLAY,LOOK,LEARN,TOOK,BOOK,BIKE,AARDVARK
  112. 5120 DATA BECAUSE,CAUSE,GIRAFFE,MONKEY,LION,TIGER,LEOPARD
  113. 5130 DATA DATE,TODAY,STREET,ACORN,DRIVE,WORCESTER,NEWHAVEN
  114. 5140 DATA NEWYORK,MASSACHUSETTS,KNOB,COOKY,SQUARE,TRIANGLE
  115. 65140 RUN"BASMENU
  116.