This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
|
|
-
Entry name:Hangman 1.5
-
Category:Games
-
Publisher/Developer:BELLCOM - Public Domain Library, Michigan Atari Computer Enthusiasts, Wilson Software
-
Year:1983
Listing 1
10 REM HANGMAN 1.5 20 REM BY JIM WILSON 30 REM (C) 1983 WILSON SOFTWARE 40 REM BERKLEY, MI 50 REM ALL RIGHTS RESERVED 60 REM PROVIDED TO ATARI EXPLORER COURTESY OF 70 REM M.A.C.E. 80 REM THE MICHIGAN ATARI COMPUTER ENTHUSIASTS 90 REM 100 DIM ALPHABET$(26),ANSWER$(10),BODY$(23),CHECK$(10),L$(1),NAME$(10),TYPE$(13),UNUSED$(26),WORD$(26) 110 TYPE$="BY JIM WILSON" 120 GRAPHICS 17 130 POKE 53774,112:POKE 16,112 140 POKE 712,50:POKE 708,58 150 FOR DELAY=1 TO 100:NEXT DELAY 160 X=0:Y=0 170 POSITION X,Y:? #6;"N":GOSUB 470:POSITION X,Y:? #6;" " 180 IF Y=10 THEN POSITION X,Y:? #6;"N":X=14:Y=0:GOSUB 560:GOTO 200 190 X=X+1:Y=Y+1:GOTO 170 200 POSITION X,Y:? #6;"H":GOSUB 470:POSITION X,Y:? #6;" " 210 IF Y=10 THEN POSITION X,Y:? #6;"H":X=2:Y=20:GOSUB 560:GOTO 230 220 X=X-1:Y=Y+1:GOTO 200 230 POSITION X,Y:? #6;"1":GOSUB 470:POSITION X,Y:? #6;" " 240 IF Y=10 THEN POSITION X,Y:? #6;"1":X=18:Y=20:GOSUB 560:GOTO 260 250 X=X+1:Y=Y-1:GOTO 230 260 POSITION X,Y:? #6;"M":GOSUB 470:POSITION X,Y:? #6;" " 270 IF Y=10 THEN POSITION X,Y:? #6;"M":X=16:Y=20:GOSUB 560:GOTO 290 280 X=X-1:Y=Y-1:GOTO 260 290 POSITION X,Y:? #6;"N":GOSUB 470:POSITION X,Y:? #6;" " 300 IF Y=10 THEN POSITION X,Y:? #6;"N":X=15:Y=0:GOSUB 560:GOTO 320 310 X=X-1:Y=Y-1:GOTO 290 320 POSITION X,Y:? #6;"A":GOSUB 470:POSITION X,Y:? #6;" " 330 IF Y=10 THEN POSITION X,Y:? #6;"A":X=3:Y=20:GOSUB 560:GOTO 350 340 X=X-1:Y=Y+1:GOTO 320 350 POSITION X,Y:? #6;".":GOSUB 470:POSITION X,Y:? #6;" " 360 IF Y=10 THEN POSITION X,Y:? #6;".":X=0:Y=1:GOSUB 560:GOTO 380 370 X=X+1:Y=Y-1:GOTO 350 380 POSITION X,Y:? #6;"A":GOSUB 470:POSITION X,Y:? #6;" " 390 IF Y=10 THEN POSITION X,Y:? #6;"A":X=4:Y=20:GOSUB 560:GOTO 410 400 X=X+1:Y=Y+1:GOTO 380 410 POSITION X,Y:? #6;"5":GOSUB 470:POSITION X,Y:? #6;" " 420 IF Y=10 THEN POSITION X,Y:? #6;"5":X=17:Y=20:GOSUB 560:GOTO 440 430 X=X+1:Y=Y-1:GOTO 410 440 POSITION X,Y:? #6;"G":GOSUB 470:POSITION X,Y:? #6;" " 450 IF Y=10 THEN POSITION X,Y:? #6;"G":GOSUB 560:GOTO 480 460 X=X-1:Y=Y-1:GOTO 440 470 RETURN 480 X=3:Y=12 490 FOR DELAY=1 TO 50:NEXT DELAY 500 GOSUB 3000 510 FOR I=1 TO LEN(TYPE$) 520 POSITION X,Y:? #6;TYPE$(I,I):X=X+1 530 IF TYPE$(I,I)=" " THEN GOSUB 580:NEXT I 540 GOSUB 570:NEXT I 550 GOTO 590 560 FOR V=14 TO 0 STEP -0.5:SOUND 0,13,4,V:NEXT V:RETURN 570 FOR V=14 TO 0 STEP -1:SOUND 0,13,4,V:NEXT V:RETURN 580 FOR DELAY=1 TO 14:NEXT DELAY:RETURN 590 GRAPHICS 1:POKE 710,50:POKE 712,50:POKE 708,58:YOU=0:ME=0 600 POKE 16,112:POKE 53774,112 610 POSITION 4,10:? #6;"HANGMAN 1.5":POSITION 3,12:? #6;"BY JIM WILSON" 620 Z=INT(32*RND(0)+1):RESTORE 2010:X=INT(50*RND(0)+1) 630 ? " ENTER YOUR FIRST NAME " 640 INPUT NAME$ 650 POKE 709,2 660 FOR I=1 TO X 670 READ WORD$ 680 A=1 690 IF WORD$="****" THEN RESTORE 2010:X=INT(50*RND(0)+1):GOTO 660 700 NEXT I 710 GOTO 790 720 FOR I=1 TO X 730 READ WORD$ 740 IF WORD$="****" THEN RESTORE 2010:X=INT(50*RND(0)+1):GOTO 720 750 NEXT I 760 ALPHABET$="" 770 A=1 780 IF WORD$="****" THEN RESTORE 2010:X=INT(50*RND(0)+1):GOTO 720 790 GRAPHICS 1 800 POKE 16,112:POKE 53774,112 810 REM 820 UNUSED$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" 830 POKE 708,154:POKE 710,144:POKE 712,144 840 POSITION 1,0:? #6;NAME$;"'S HANGMAN" 850 POSITION 0,1:? #6;"____________________" 860 POSITION 13,2:? #6;"SCORE" 870 POSITION 13,4:? #6;"YOU ";YOU:POSITION 14,5:? #6;"ME ";ME 880 POSITION 1,3:? #6;"******" 890 POSITION 1,4:? #6;"* !" 900 FOR I=5 TO 14 910 POSITION 1,I:? #6;"*" 920 NEXT I 930 POSITION 0,15:? #6;"***" 940 POSITION 0,16:? #6;"***" 950 POSITION 12,9:? #6;"LETTERS" 960 POSITION 11,10:? #6;"REMAINING" 970 POSITION 11,11:? #6;"---------" 980 POSITION 11,12:? #6;"ABCDEFGHI":POSITION 11,13:? #6;"JKLMNOPQR":POSITION 11,14:? #6;"STUVWXYZ" 990 REM 1000 POSITION 0,18:FOR I=1 TO LEN(WORD$):? #6;"_ ";:NEXT I 1010 REM 1020 FOR I=1 TO LEN(WORD$):CHECK$(I,I)="*":NEXT I:ANSWER$=WORD$ 1030 C=0 1040 POKE 752,1:?:?:? " GUESS A LETTER " 1050 POKE 709,10:POKE 752,1:CLOSE #1 1060 POKE 764,255 1070 OPEN #1,4,0,"K:" 1080 GET #1,L 1090 POKE 709,1 1100 GOSUB 1970 1110 IF NOT (OK) THEN 1050 1120 L$=CHR$(L) 1130 IF L$="" THEN 1050 1140 REM 1150 FOR I=1 TO LEN(UNUSED$) 1160 IF UNUSED$(I,I)=L$ THEN UNUSED$(I,I)=" ":GOTO 1180 1170 NEXT I 1180 REM 1190 D=11:E=12 1200 FOR I=1 TO LEN(UNUSED$) 1210 POSITION D,E:? #6;UNUSED$(I,I):D=D+1 1220 IF D=20 THEN D=11:E=E+1 1230 NEXT I 1240 REM 1250 FOR M=1 TO LEN(ALPHABET$) 1260 IF ALPHABET$="" THEN 1290 1270 IF ALPHABET$(M,M)=L$ THEN ? "":GOTO 1050 1280 NEXT M 1290 REM 1300 C=C+1 1310 B=0 1320 FOR I=1 TO LEN(WORD$) 1330 IF WORD$(I,I)=L$ THEN B=1:GOTO 1570 1340 NEXT I 1350 IF B=0 THEN 1370 1360 GOTO 1050 1370 REM 1380 BODY$="/-\(^,^)\_/!!!!>--</\\/" 1390 ON A GOTO 1410,1440,1470,1490,1510,1530 1400 REM 1410 POSITION 5,5:? #6;BODY$(1,3):POSITION 4,6:? #6;BODY$(4,8):POSITION 5,7:? #6;BODY$(9,11):A=A+1 1420 GOSUB 1920:GOTO 1050 1430 REM 1440 POSITION 6,8:? #6;BODY$(12,12):POSITION 6,9:? #6;BODY$(13,13):POSITION 6,10:? #6;BODY$(14,14):POSITION 6,11:? #6;BO 1450 A=A+1:GOSUB 1920:GOTO 1050 1460 REM 1470 POSITION 4,9:? #6;BODY$(16,17):A=A+1:GOSUB 1920:GOTO 1050 1480 REM 1490 POSITION 7,9:? #6;BODY$(18,19):A=A+1:GOSUB 1920:GOTO 1050 1500 REM 1510 POSITION 5,12:? #6;BODY$(20,20):POSITION 4,12:? #6;BODY$(21,21):A=A+1:GOSUB 1920:GOTO 1050 1520 REM 1530 POSITION 7,12:? #6;BODY$(22,22):POSITION 8,12:? #6;BODY$(23,23):A=A+1 1540 POKE 709,10:POKE 752,1:?:?:?:? "SORRY, YOU HAVE BEEN HANGED." 1550 ? "THE CORRECT WORD WAS ";ANSWER$;".":ME=ME+1:POSITION 17,5:? #6;ME:GOSUB 3000 1560 GOTO 1760 1570 REM 1580 ON I GOTO 1590,1600,1610,1620,1630,1640,1650,1660,1670,1680 1590 POSITION 0,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1600 POSITION 2,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1610 POSITION 4,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1620 POSITION 6,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1630 POSITION 8,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1640 POSITION 10,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1650 POSITION 12,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1660 POSITION 14,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1670 POSITION 16,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1680 POSITION 18,18:? #6;WORD$(I,I):GOSUB 1870:GOSUB 1700:GOTO 1340 1690 REM 1700 WORD$(I,I)="*" 1710 IF WORD$=CHECK$ THEN POP:GOTO 1730 1720 RETURN 1730 FOR DELAY=1 TO 25:NEXT DELAY 1740 FOR I=1 TO 8:FOR V=15 TO 0 STEP -1:SOUND 0,26,10,V:NEXT V:NEXT I 1750 ?:?:? "VERY GOOD, YOU GUESSED THE WORD!":YOU=YOU+1:POSITION 17,4:? #6;YOU:POKE 709,10 1760 POKE 752,0:?:? "DO YOU WANT TO PLAY AGAIN?";:CLOSE #1:GOSUB 3080 1770 L$=CHR$(L) 1780 IF L$="Y" THEN CHECK$="":ALPHABET$="":Z=INT(32*RND(0)+1):RESTORE 2010:X=INT(50*RND(0)+1):GOTO 720 1790 IF L$="N" THEN 1820 1800 ?:?:?:?:POKE 709,10 1810 GOTO 1760 1820 ?:?:?:?:?:? "DOES ANOTHER PERSON WANT TO PLAY?";:POKE 709,10:CLOSE #1:GOSUB 3080 1830 L$=CHR$(L) 1840 IF L$="Y" THEN ALPHABET$="":CHECK$="":GOTO 590 1850 IF L$="N" THEN GRAPHICS 0:END 1860 ?:?:?:GOTO 1820 1870 SOUND 1,60,10,15 1880 FOR K=1 TO 25:NEXT K 1890 SOUND 1,0,0,0 1900 ALPHABET$(C)=L$ 1910 RETURN 1920 SOUND 1,40,12,15 1930 FOR K=1 TO 25:NEXT K 1940 SOUND 1,0,0,0 1950 ALPHABET$(C)=L$ 1960 RETURN 1970 REM 1980 OK=0 1990 IF L<65 OR L>90 THEN RETURN 2000 OK=1:RETURN 2010 DATA HOUSE,BANANA,HAMBURGER,BOOK,BICYCLE,CHICKEN,LEGS,SCHOOL,NECKLACE,THUNDER,GARAGE,AUTOMOBILE,TELEVISION 2020 DATA CABBAGE,FAMILY,STEREO,JACKET,SLIPPERY,LAWNMOWER,ELEPHANT,ROBE,ELEVATOR,PRINCESS,STOMACH,LIZARD,CAT 2030 DATA SUGAR,MUSTARD,ENVELOPE,COVER,CUCUMBER,BUSH,NEWSPAPER,SLIPPERS,CATSUP,TOMATO,WRIST,SLEEVE,PICTURE 2040 DATA LIGHTNING,STOVE,HANGMAN,TRAIN,COW,SWING,CHAIR,QUEEN,YELLOW,COUCH,AWNING,FENCE,COMPUTER,MICROWAVE 2050 REM ----------------------------- . 2055 REM ENTER YOUR OWN WORDS HERE. MAKE SURE THAT THE FINAL DATA STATEMENT IS "DATA ****" 2060 REM ----------------------------- . 2990 DATA **** 3000 RESTORE 3130 3010 READ PITCH,DURATION,REST 3020 POKE 540,DURATION 3030 IF PITCH=-1 THEN RETURN 3040 SOUND 0,PITCH,10,8 3050 IF PEEK(540)=0 THEN SOUND 0,0,0,0:GOTO 3070 3060 GOTO 3040 3070 POKE 540,REST:GOTO 3010 3080 POKE 764,255 3090 OPEN #1,4,0,"K:" 3100 GET #1,L 3110 POKE 709,1 3120 RETURN 3130 DATA 204,36,9,204,36,9,217,12,9,204,36,9,173,36,9,182,12,9,182,36,9,204,12,9,204,36,9,217,12,9,204,42,9,-1 3140 DATA 0,0
References
Listing downloads
Downloads
Copyright holder
