'=========================================================================== ' Subject: THE LAST WORD Date: Year of 1993 (00:00:00) ' Author: The ABC Programmer Code: QB, QBasic ' Keys: LAST,WORD,VGA Packet: GAMES.ABC '=========================================================================== '===================================================================== ' THE LAST WORD Programmed by William Yu (1993) ' Like the TV Game show (if you have seen it) ' Undocumented. Requires VGA to play. Can be converted. ' ' This is a TWO part snippet. One is the actual game (LASTWORD.BAS) ' The other is the data (LASTWORD.DAT) '===================================================================== '------------8<----[ Begin LASTWORD.DAT ]---->8------------ 62 PATIENT SURGERY BLOOD RHYME CHILDREN BOOKS HARDWARE COMPUTER SOFTWARE SCOTTIES TISSUE KLEENEX BASEBALL TENNIS SOCCER POPSICLE SUMMER FREEZIES HELLO BONJOUR ALLO LASTWORD PUZZLE SOLVE APPLE MACINTOSH ATARI SUNNY BRIGHT LIGHT FLAME BURN CANDLE TROMBONE TRUMPHET TUBA SERENE PEACEFUL NATURE SUPERMAN SPIDERMAN BATMAN MODEM ALCOHOL DRUGS SUBJECT PROFESSOR UNIVERSITY GAMES GRAPHICS SOUND JELLY BAKED GROUND AFRICA EUROPE ASIA TELEVISION MOTION FILM DISABLED WHEELCHAIR CRUTCHES LASER COMPACT ROUND HARD HOLLOW BARK FOREST JUNGLE DESERT HAPPY ANGRY DEPRESSED CARTOON COMIC ACTION HAVOC DEVASTATION RUIN HYDROGEN OXYGEN CLEAR GREEN WHITE YELLOW DARK MOON SLEEP STOP SLOW GO HARD FLOPPY FORMAT MANITOBA ONTARIO QUEBEC POPULATION METROPOLIS BUILDINGS EARTHQUAKE DISNEYLAND POPULAR HURRICANE BEACH SOUTHERN CHEVROLET PLYMOUTH CHRYSLER CARROT CELERY BROCCOLI BANANA LEMON PINEAPPLE SHRIMP FISH LOBSTER HAMBURGER FRIES MCDONALDS COKE PEPSI CRUSH AMAZON NILE MISSISSIPPI PLATYPUS DUCK OSTRICH REGISTERS TRADEMARK COPYRIGHT PEPPERS GARLIC ONIONS BLACKJACK POKER BRIDGE SATURN JUPITER PLUTO EDMONTON VANCOUVER REGINA FICTION FANTASY PHONEY NORTH SOUTH WEST CHRISTMAS EASTER HALLOWEEN SHARP BLUNT STEEL EXECUTIVE PARLIAMENT CABINET MATHEMATICS ENGLISH SCIENCE SQUARE TETRAGON RECTANGLE ELEPHANT ZEBRA GIRAFFE FRIDAY SATURDAY SUNDAY PYRAMIDS SPHINX EGYPTIAN HAWAII JAMAICA TAHITI PICTIONARY MONOPOLY SCRABBLE ALLIGATOR TURTLE SNAKE '------------8<----[ End LASTWORD.DAT ]---->8------------ '------------8<----[ Begin LASTWORD.BAS ]---->8------------ DECLARE SUB ARCADE () CALL ARCADE SUB ARCADE DIM GIRL(1800), GUY(1800) DIM CAT1$(100), CAT2$(100), CAT3$(100) CLS SCREEN 13 U = 12 LINE (50, 10)-(200, 60), 78, B LINE (100, 10)-(100, 60), 78 LINE (150, 10)-(150, 60), 78 LINE (110, 15)-(110, 55), U LINE (140, 15)-(140, 55), U LINE (140, 35)-(110, 35), U LINE (50, 70)-(250, 120), 78, B LINE (100, 70)-(100, 120), 78 LINE (150, 70)-(150, 120), 78 LINE (200, 70)-(200, 120), 78 CIRCLE (175, 85), 20, U, , , 11 / 24 LINE (195, 75)-(189, 95), 0, BF LINE (195, 82)-(183, 95), 0, BF CIRCLE (175, 103), 20, U, , , 11 / 24 LINE (151, 95)-(165, 110), 0, BF PSET (166, 95), 0: PSET (167, 95), 0 LINE (50, 130)-(250, 180), 78, B LINE (100, 130)-(100, 180), 78 LINE (150, 130)-(150, 180), 78 LINE (200, 130)-(200, 180), 78 LINE (55, 135)-(65, 175), 12 LINE (95, 135)-(85, 175), 12 LINE (85, 175)-(75, 160), 12 LINE (65, 175)-(75, 160), 12 GOSUB ST Q = 12 LINE (60, 15)-(90, 15), Q LINE (75, 15)-(75, 55), Q GOSUB ST LINE (160, 15)-(160, 55), Q LINE (160, 15)-(190, 15), Q LINE (160, 55)-(190, 55), Q LINE (160, 35)-(175, 35), Q GOSUB ST LINE (60, 75)-(60, 115), Q LINE (60, 115)-(90, 115), Q GOSUB ST LINE (125, 75)-(110, 115), Q LINE (125, 75)-(140, 115), Q LINE (118, 95)-(132, 95), Q GOSUB ST LINE (210, 75)-(240, 75), Q LINE (225, 75)-(225, 115), Q GOSUB ST CIRCLE (125, 155), 19, Q, , , 1 GOSUB ST CIRCLE (172, 145), 21, Q, , , 11 / 22 LINE (151, 135)-(160, 167), 0, BF LINE (160, 135)-(160, 175), Q LINE (174, 157)-(192, 175), Q GOSUB ST CIRCLE (222, 155), 20, Q, , , 1 LINE (201, 135)-(212, 175), 0, BF LINE (212, 173)-(212, 138), Q GOSUB ST WHILE INKEY$ = "": WEND GOTO LWS ST: Seconds! = .08 Time = TIMER XDELAY = Time + Seconds! WHILE NOT (TIMER > XDELAY) WEND RETURN LWS: CLS LOCATE 2, 3: COLOR 12: PRINT "T H E" LOCATE 4, 3: PRINT "L A S T" LOCATE 6, 3: PRINT "W O R D" LINE (11, 4)-(60, 51), 78, B LINE (11, 18)-(75, 51), 78, B LINE (11, 35)-(75, 35), 78 LINE (27, 4)-(27, 51), 78 LINE (43, 4)-(43, 51), 78 CIRCLE (40, 80), 16, 14: PAINT (40, 80), 14 CIRCLE (40, 80), 10, 66, , , 1: PAINT (40, 80), 66 PSET (35, 77), 0: PSET (45, 77), 0 PSET (40, 81), 0 CIRCLE (40, 110), 20, 12, , , 1: PAINT (40, 110), 12 LINE (10, 105)-(70, 160), 78, BF CIRCLE (45, 104), 5, 0, , 11 / 10 CIRCLE (40, 85), 4, 0, 3.1 LINE (33, 100)-(30, 104), 0 LINE (25, 123)-(55, 138), 15, B PAINT (40, 127), 0, 15 CIRCLE (280, 80), 13, 66: PAINT (280, 80), 66 CIRCLE (275, 77), 4, 0: PAINT (275, 77), 15, 0 CIRCLE (285, 77), 4, 0: PAINT (285, 77), 15, 0 PSET (275, 77), 0: PSET (285, 77), 0 PSET (280, 77), 0 LINE (270, 77)-(264, 73), 0: LINE (290, 76)-(296, 74), 0 PSET (280, 82), 0: CIRCLE (280, 85), 4, 0, 3.1 CIRCLE (280, 112), 20, 7, , , 1: PAINT (280, 112), 7 LINE (310, 105)-(250, 160), 78, BF CIRCLE (263, 102), 6, 66, , , 11 / 30: PAINT (263, 102), 66 CIRCLE (297, 102), 6, 66, , , 11 / 30: PAINT (297, 102), 66 LINE (295, 123)-(265, 138), 15, B PAINT (280, 125), 0, 15 GET (7, 65)-(74, 165), GIRL GET (313, 67)-(246, 165), GUY LOCATE 3, 15: COLOR 15: PRINT "A T.V. GAME SHOW" LOCATE 5, 13: PRINT "PROGRAMMED BY WILLIAM YU" LOCATE 11, 16: COLOR 12: PRINT "START GAME" LOCATE 13, 16: COLOR 14: PRINT "INSTRUCTIONS" LOCATE 15, 16: PRINT "QUIT GAME" LINE (114, 77)-(223, 89), 10, B M = 1 LWSEL: V$ = INKEY$ IF V$ = CHR$(0) + "P" THEN M = M + 1: GOSUB LWMDOWN IF V$ = CHR$(0) + "H" THEN M = M - 1: GOSUB LWMDOWN IF V$ = CHR$(13) THEN GOTO LWMSEL IF V$ = CHR$(27) THEN GOTO LWEND GOTO LWSEL LWMDOWN: LINE (114, 77)-(223, 89), 0, B: LOCATE 11, 16: COLOR 14: PRINT "START GAME" LINE (114, 93)-(223, 105), 0, B: LOCATE 13, 16: PRINT "INSTRUCTIONS" LINE (114, 109)-(223, 121), 0, B: LOCATE 15, 16: PRINT "QUIT GAME" COLOR 12 IF M = 0 THEN M = 3 IF M = 4 THEN M = 1 IF M = 1 THEN LINE (114, 77)-(223, 89), 10, B: LOCATE 11, 16: PRINT "START GAME" IF M = 2 THEN LINE (114, 93)-(223, 105), 10, B: LOCATE 13, 16: PRINT "INSTRUCTIONS" IF M = 3 THEN LINE (114, 109)-(223, 121), 10, B: LOCATE 15, 16: PRINT "QUIT GAME" RETURN LWMSEL: IF M = 1 THEN GOTO LWSTART IF M = 2 THEN GOTO INSTRUC IF M = 3 THEN GOTO LWEND INSTRUC: CLS LOCATE 2, 3: COLOR 12: PRINT "T H E" LOCATE 4, 3: PRINT "L A S T" LOCATE 6, 3: PRINT "W O R D" LINE (11, 4)-(60, 51), 78, B LINE (11, 18)-(75, 51), 78, B LINE (11, 35)-(75, 35), 78 LINE (27, 4)-(27, 51), 78 LINE (43, 4)-(43, 51), 78 LINE (317, 5)-(90, 160), 10, B LINE (312, 10)-(95, 155), 10, B PAINT (315, 7), 12, 10 LINE (150, 25)-(250, 25), 12 LOCATE 3, 20: COLOR 11: PRINT "INSTRUCTIONS" LOCATE 6, 14: COLOR 15: PRINT "THIS GAME IS NO FUN IF" LOCATE 8, 14: PRINT "ONE PLAYER IS PLAYING" LOCATE 10, 14: PRINT "BY HIM/HERSELF." LOCATE 12, 14: PRINT "THIS GAME IS MEANT TO" LOCATE 14, 14: PRINT "BE PLAYED BY TWO OR" LOCATE 16, 14: PRINT "MORE PLAYER'S." LOCATE 19, 14: COLOR 78: PRINT "PRESS ANY KEY TO CONTINUE" WHILE INKEY$ = "": WEND LINE (100, 35)-(300, 130), 0, BF LOCATE 6, 14: COLOR 15: PRINT "THIS GAME IS VERY EASY" LOCATE 8, 14: PRINT "TO PLAY. THERE WILL BE" LOCATE 10, 14: PRINT "THREE WORDS THAT YOU" LOCATE 12, 14: PRINT "HAVE TO GUESS." LOCATE 14, 14: PRINT "THE GAME STARTS OFF" LOCATE 16, 14: PRINT "BY GIVING YOU A LETTER" WHILE INKEY$ = "": WEND LINE (100, 35)-(300, 130), 0, BF LOCATE 6, 14: PRINT "IN EACH WORD." LOCATE 8, 14: PRINT "YOU CAN CHOOSE TO TAKE" LOCATE 10, 14: PRINT "ANOTHER LETTER, OR TRY" LOCATE 12, 14: PRINT "YOUR LUCK AT GUESSING" LOCATE 14, 14: PRINT "THE WORD." LOCATE 16, 14: PRINT "THE ONE WHO GUESSES" WHILE INKEY$ = "": WEND LINE (100, 35)-(300, 130), 0, BF LOCATE 6, 14: PRINT "THE LAST WORD WINS !" LOCATE 8, 14: PRINT "REMEMBER THAT THE WORDS" LOCATE 10, 14: PRINT "ARE BASED ON A PARTICULAR" LOCATE 12, 14: PRINT "THEME OR SUBJECT." WHILE INKEY$ = "": WEND LOCATE 19, 14: COLOR 78: PRINT " " LINE (100, 35)-(305, 130), 0, BF LOCATE 10, 16: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " START GAME" LOCATE 12, 18: COLOR 15: PRINT "QUIT GAME" H = 1 INSEL: V$ = INKEY$ IF V$ = CHR$(0) + "P" THEN H = H + 1: GOSUB INSELDOWN IF V$ = CHR$(0) + "H" THEN H = H - 1: GOSUB INSELDOWN IF V$ = CHR$(13) THEN GOTO INSELENTER GOTO INSEL INSELDOWN: COLOR 15 LOCATE 10, 16: PRINT " START GAME" LOCATE 12, 16: PRINT " QUIT GAME" IF H = 0 THEN H = 2 IF H = 3 THEN H = 1 IF H = 1 THEN LOCATE 10, 16: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " START GAME" IF H = 2 THEN LOCATE 12, 16: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " QUIT GAME" RETURN INSELENTER: IF H = 1 THEN GOTO LWSTART IF H = 2 THEN GOTO LWEND LWSTART: CLS PUT (250, 3), GIRL, PSET PUT (250, 100), GUY, PSET LOCATE 2, 3: COLOR 12: PRINT "T H E" LOCATE 4, 3: PRINT "L A S T" LOCATE 6, 3: PRINT "W O R D" LINE (11, 4)-(60, 51), 78, B LINE (11, 18)-(75, 51), 78, B LINE (11, 35)-(75, 35), 78 LINE (27, 4)-(27, 51), 78 LINE (43, 4)-(43, 51), 78 LOCATE 7, 27: PRINT "NAME:" LINE (260, 141)-(307, 153), 0, BF LINE (260, 141)-(307, 153), 15, B LINE (260, 45)-(306, 57), 0, BF LINE (260, 45)-(306, 57), 15, B LOCATE 10, 2: COLOR 14: PRINT "PLAYER ONE: -----" LOCATE 10, 14: COLOR 10: LINE INPUT ""; P1NAME$ IF P1NAME$ = "" THEN P1NAME$ = "JANET" LOCATE 7, 34: COLOR 15: PRINT LEFT$(P1NAME$, 5) LOCATE 7, 27: PRINT " " LOCATE 19, 27: COLOR 12: PRINT "NAME:" LOCATE 12, 2: COLOR 14: PRINT "PLAYER TWO: -----" LOCATE 12, 14: COLOR 10: LINE INPUT ""; P2NAME$ IF P2NAME$ = "" THEN P2NAME$ = "SHANE" LOCATE 19, 34: COLOR 15: PRINT LEFT$(P2NAME$, 5) LOCATE 19, 27: PRINT " " GET (252, 3)-(314, 99), GIRL GET (253, 101)-(314, 194), GUY OPEN "LASTWORD.DAT" FOR INPUT AS #1 INPUT #1, NUM X = 0: I = 1 DO LINE INPUT #1, CAT1$(I) LINE INPUT #1, CAT2$(I) LINE INPUT #1, CAT3$(I) X = X + 1: I = I + 1 LOOP UNTIL X = NUM CLOSE #1 Seconds = .5 GOSUB ST PLAYLW: CLS RANDOMIZE TIMER I = INT(RND * NUM) + 1 LOCATE 2, 3: COLOR 12: PRINT "T H E" LOCATE 4, 3: PRINT "L A S T" LOCATE 6, 3: PRINT "W O R D" LINE (11, 4)-(60, 51), 78, B LINE (11, 18)-(75, 51), 78, B LINE (11, 35)-(75, 35), 78 LINE (27, 4)-(27, 51), 78 LINE (43, 4)-(43, 51), 78 PUT (252, 98), GIRL, PSET SQ1 = 0 SQ2 = 0 SQ3 = 0 A = LEN(CAT1$(I)) X = 0 Y = 19: Z = 82 DO LINE (Y, Z)-(Y + 15, Z + 17), 78, B Y = Y + 16 X = X + 1 SQ1 = SQ1 + 1 LOOP UNTIL X = A A = LEN(CAT2$(I)) X = 0 Y = 19: Z = 106 DO LINE (Y, Z)-(Y + 15, Z + 17), 78, B Y = Y + 16 X = X + 1 SQ2 = SQ2 + 1 LOOP UNTIL X = A A = LEN(CAT3$(I)) X = 0 Y = 19: Z = 130 DO LINE (Y, Z)-(Y + 15, Z + 17), 78, B Y = Y + 16 X = X + 1 SQ3 = SQ3 + 1 LOOP UNTIL X = A CIRCLE (10, 77), 7, 7, 1.3, 3 CIRCLE (11, 77), 3, 7, 1.3, 3 CIRCLE (10, 157), 7, 7, 3, 5 CIRCLE (11, 157), 3, 7, 3, 5 CIRCLE (207, 77), 7, 7, .1, 1.9 CIRCLE (206, 77), 3, 7, .1, 2.5 CIRCLE (207, 157), 7, 7, 4.4, .1 CIRCLE (206, 157), 3, 7, 4.3, .1 LINE (3, 76)-(3, 156), 7 LINE (8, 76)-(8, 156), 7 LINE (12, 75)-(207, 75), 7 LINE (12, 71)-(207, 71), 7 LINE (12, 159)-(205, 159), 7 LINE (12, 163)-(205, 163), 7 LINE (209, 157)-(209, 76), 7 LINE (214, 157)-(214, 76), 7 PAINT (12, 72), 29, 7 CIRCLE (11, 77), 3, 78, 1.3, 3 CIRCLE (11, 157), 3, 78, 3, 5 CIRCLE (206, 77), 3, 78, .1, 2.5 CIRCLE (206, 157), 3, 78, 4.3, .1 LINE (12, 159)-(205, 159), 78 LINE (8, 76)-(8, 156), 78 LINE (209, 157)-(209, 76), 78 LINE (12, 75)-(207, 75), 78 PAINT (80, 80), 8, 78 CIRCLE (11, 77), 3, 7, 1.3, 3 CIRCLE (11, 157), 3, 7, 3, 5 CIRCLE (206, 77), 3, 7, .1, 2.5 CIRCLE (206, 157), 3, 7, 4.3, .1 LINE (12, 159)-(205, 159), 7 LINE (8, 76)-(8, 156), 7 LINE (209, 157)-(209, 76), 7 LINE (12, 75)-(207, 75), 7 LINE (8, 71)-(35, 65), 7 LINE (210, 71)-(228, 65), 7 LINE (215, 76)-(234, 69), 7 LINE (228, 65)-(35, 65), 7 CIRCLE (230, 69), 4, 7, .1, 1.9 LINE (213, 161)-(230, 152), 29 LINE (215, 159)-(234, 150), 7 LINE (210, 163)-(233, 151), 7 LINE (234, 150)-(234, 69), 7 PAINT (210, 66), 30, 7 PAINT (225, 67), 29, 7 PAINT (230, 140), 25, 7 COLOR 15 Y = 19: Z = 82 RANDOMIZE TIMER S1 = INT(RND * SQ1) + 1 S2 = INT(RND * SQ2) + 1 S3 = INT(RND * SQ3) + 1 FOR S = 1 TO SQ1 IF S1 = S THEN X = S * 16 NEXT S LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B LOCATE 12, S1 + S1 + 2: PRINT MID$(CAT1$(I), S1, 1) Seconds = .1 GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B Y = 19: Z = 106 FOR S = 1 TO SQ2 IF S2 = S THEN X = S * 16 NEXT S LOCATE 15, S2 + S2 + 2: PRINT MID$(CAT2$(I), S2, 1) LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B Y = 19: Z = 130 FOR S = 1 TO SQ3 IF S3 = S THEN X = S * 16 NEXT S LOCATE 18, S3 + S3 + 2: PRINT MID$(CAT3$(I), S3, 1) LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B P = 1: PP1 = 0: PP2 = 0: TW = 0: MW = 0: BW = 0 STARTGAME: LOCATE 2, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " TAKE A LETTER" LOCATE 4, 15: COLOR 15: PRINT "GUESS WORD" IF P = 1 THEN LOCATE 6, 15: PRINT "PASS TO "; LEFT$(P2NAME$, 5) IF P = 2 THEN LOCATE 6, 15: PRINT "PASS TO "; LEFT$(P1NAME$, 5) H = 1 PLAYERSEL: V$ = INKEY$ IF V$ = CHR$(0) + "P" THEN H = H + 1: GOSUB GDOWN IF V$ = CHR$(0) + "H" THEN H = H - 1: GOSUB GDOWN IF V$ = CHR$(13) THEN GOTO PLAYSEL IF V$ = CHR$(27) THEN GOTO LWEND GOTO PLAYERSEL GDOWN: LOCATE 2, 13: COLOR 15: PRINT " TAKE A LETTER" LOCATE 4, 13: PRINT " GUESS WORD" IF P = 1 THEN LOCATE 6, 13: PRINT " PASS TO "; LEFT$(P2NAME$, 5) IF P = 2 THEN LOCATE 6, 13: PRINT " PASS TO "; LEFT$(P1NAME$, 5) IF H = 0 THEN H = 3 IF H = 4 THEN H = 1 IF H = 1 THEN LOCATE 2, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " TAKE A LETTER" IF H = 2 THEN LOCATE 4, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " GUESS WORD" IF H = 3 AND P = 1 THEN LOCATE 6, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " PASS TO "; LEFT$(P2NAME$, 5) IF H = 3 AND P = 2 THEN LOCATE 6, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " PASS TO "; LEFT$(P1NAME$, 5) RETURN PLAYSEL: IF H = 1 THEN GOSUB PICKWORD IF H = 2 THEN GOTO GUESSWORD IF H = 3 AND P = 1 THEN GOTO PLAYER2 IF H = 3 AND P = 2 THEN GOTO PLAYER1 END PICKWORD: LOCATE 23, 4: COLOR 10: PRINT "PRESS ANY KEY TO STOP" DO Y = 19: Z = 82 RANDOMIZE TIMER S1 = INT(RND * SQ1) + 1 S2 = INT(RND * SQ2) + 1 S3 = INT(RND * SQ3) + 1 FOR S = 1 TO SQ1 IF S1 = S THEN X = S * 16 NEXT S LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B V$ = INKEY$ IF V$ <> "" THEN GOTO LETTER Seconds = .1 GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B Y = 19: Z = 106 FOR S = 1 TO SQ2 IF S2 = S THEN X = S * 16 NEXT S LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B V$ = INKEY$ IF V$ <> "" THEN GOTO LETTER GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B Y = 19: Z = 130 FOR S = 1 TO SQ3 IF S3 = S THEN X = S * 16 NEXT S LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B V$ = INKEY$ IF V$ <> "" THEN GOTO LETTER GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B LOOP RETURN LETTER: COLOR 15 IF Z = 82 THEN LOCATE 12, S1 + S1 + 2: PRINT MID$(CAT1$(I), S1, 1) IF Z = 106 THEN LOCATE 15, S2 + S2 + 2: PRINT MID$(CAT2$(I), S2, 1) IF Z = 130 THEN LOCATE 18, S3 + S3 + 2: PRINT MID$(CAT3$(I), S3, 1) LOCATE 23, 4: PRINT SPACE$(24) GUESSORPASS: LOCATE 2, 13: PRINT " " LOCATE 4, 13: PRINT " " LOCATE 6, 13: PRINT " " LOCATE 3, 13: COLOR 10: PRINT CHR$(16); " "; : COLOR 12: PRINT "GUESS WORD" IF P = 1 THEN LOCATE 5, 15: COLOR 15: PRINT "PASS TO "; LEFT$(P2NAME$, 5) IF P = 2 THEN LOCATE 5, 15: COLOR 15: PRINT "PASS TO "; LEFT$(P1NAME$, 5) H = 1 GOP: V$ = INKEY$ IF V$ = CHR$(0) + "P" THEN H = H + 1: GOSUB GOPDOWN IF V$ = CHR$(0) + "H" THEN H = H - 1: GOSUB GOPDOWN IF V$ = CHR$(13) THEN GOTO GOPENTER IF V$ = CHR$(27) THEN GOTO LWEND GOTO GOP GOPDOWN: COLOR 15 LOCATE 3, 13: PRINT " GUESS WORD" IF P = 1 THEN LOCATE 5, 13: PRINT " PASS TO "; LEFT$(P2NAME$, 5) IF P = 2 THEN LOCATE 5, 13: PRINT " PASS TO "; LEFT$(P1NAME$, 5) IF H = 3 THEN H = 1 IF H = 0 THEN H = 2 IF H = 1 THEN LOCATE 3, 13: COLOR 10: PRINT CHR$(16); " "; : COLOR 12: PRINT "GUESS WORD" IF H = 2 AND P = 1 THEN LOCATE 5, 13: COLOR 10: PRINT CHR$(16); " "; : COLOR 12: PRINT "PASS TO "; LEFT$(P2NAME$, 5) IF H = 2 AND P = 2 THEN LOCATE 5, 13: COLOR 10: PRINT CHR$(16); " "; : COLOR 12: PRINT "PASS TO "; LEFT$(P1NAME$, 5) RETURN GOPENTER: LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B IF H = 1 THEN GOTO GUESSWORD IF H = 2 AND P = 1 THEN GOTO PLAYER2 IF H = 2 AND P = 2 THEN GOTO PLAYER1 GUESSWORD: FOR X = 2 TO 6 LOCATE X, 13: PRINT SPACE$(25) NEXT X LOCATE 2, 13: COLOR 10: PRINT CHR$(16); " "; : COLOR 12: PRINT "TOP WORD" LOCATE 4, 15: COLOR 15: PRINT "MIDDLE WORD" LOCATE 6, 15: PRINT "BOTTOM WORD" H = 1 GW: V$ = INKEY$ IF V$ = CHR$(0) + "P" THEN H = H + 1: GOSUB GWDOWN IF V$ = CHR$(0) + "H" THEN H = H - 1: GOSUB GWDOWN IF V$ = CHR$(27) AND P = 1 THEN GOTO PLAYER2 IF V$ = CHR$(27) AND P = 2 THEN GOTO PLAYER1 IF V$ = CHR$(13) THEN GOTO THEWORD GOTO GW GWDOWN: COLOR 15 LOCATE 2, 13: PRINT " TOP WORD" LOCATE 4, 13: PRINT " MIDDLE WORD" LOCATE 6, 13: PRINT " BOTTOM WORD" IF H = 4 THEN H = 1 IF H = 0 THEN H = 3 IF H = 1 THEN LOCATE 2, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " TOP WORD" IF H = 2 THEN LOCATE 4, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " MIDDLE WORD" IF H = 3 THEN LOCATE 6, 13: COLOR 10: PRINT CHR$(16); : COLOR 12: PRINT " BOTTOM WORD" RETURN THEWORD: FOR X = 2 TO 6 LOCATE X, 13: PRINT SPACE$(25) NEXT X IF H = 1 AND TW = 1 THEN GOTO GUESSWORD IF H = 2 AND MW = 1 THEN GOTO GUESSWORD IF H = 3 AND BW = 1 THEN GOTO GUESSWORD IF H = 1 THEN A = LEN(CAT1$(I)): LOCATE 3, 13: COLOR 11: PRINT "TOP WORD: "; : COLOR 14: PRINT STRING$(A, "-"): LOCATE 3, 23: COLOR 10: LINE INPUT ""; TW$ IF H = 2 THEN A = LEN(CAT2$(I)): LOCATE 3, 13: COLOR 11: PRINT "MIDDLE WORD: "; : COLOR 14: PRINT STRING$(A, "-"): LOCATE 3, 26: COLOR 10: LINE INPUT ""; MW$ IF H = 3 THEN A = LEN(CAT3$(I)): LOCATE 3, 13: COLOR 11: PRINT "BOTTOM WORD: "; : COLOR 14: PRINT STRING$(A, "-"): LOCATE 3, 26: COLOR 10: LINE INPUT ""; BW$ COLOR 15 IF UCASE$(TW$) = UCASE$(CAT1$(I)) AND P = 1 THEN PP1 = PP1 + 1: LOCATE 21, 35: PRINT PP1: TW = 1: GOTO REVEAL IF UCASE$(MW$) = UCASE$(CAT2$(I)) AND P = 1 THEN LOCATE 21, 35: PP1 = PP1 + 1: PRINT PP1: MW = 1: GOTO REVEAL IF UCASE$(BW$) = UCASE$(CAT3$(I)) AND P = 1 THEN LOCATE 21, 35: PP1 = PP1 + 1: PRINT PP1: BW = 1: GOTO REVEAL IF UCASE$(TW$) = UCASE$(CAT1$(I)) AND P = 2 THEN LOCATE 21, 35: PP2 = PP2 + 1: PRINT PP2: TW = 1: GOTO REVEAL IF UCASE$(MW$) = UCASE$(CAT2$(I)) AND P = 2 THEN LOCATE 21, 35: PP2 = PP2 + 1: PRINT PP2: MW = 1: GOTO REVEAL IF UCASE$(BW$) = UCASE$(CAT3$(I)) AND P = 2 THEN LOCATE 21, 35: PP2 = PP2 + 1: PRINT PP2: BW = 1: GOTO REVEAL LOCATE 23, 10: COLOR 10: PRINT "INCORRECT" SOUND 90, 4: SOUND 0, 2: SOUND 67, 5 IF P = 1 THEN GOTO PLAYER2 IF P = 2 THEN GOTO PLAYER1 REVEAL: TW$ = "" MW$ = "" BW$ = "" IF H = 1 THEN Y = 19: Z = 82 FOR S1 = 1 TO SQ1 LOCATE 12, S1 + S1 + 2: PRINT MID$(CAT1$(I), S1, 1) X = S1 * 16 LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B Seconds = .1 GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B NEXT S1 END IF IF H = 2 THEN Y = 19: Z = 106 FOR S2 = 1 TO SQ2 LOCATE 15, S2 + S2 + 2: PRINT MID$(CAT2$(I), S2, 1) X = S2 * 16 LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B Seconds = .1 GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B NEXT S2 END IF IF H = 3 THEN Y = 19: Z = 130 FOR S3 = 1 TO SQ3 LOCATE 18, S3 + S3 + 2: PRINT MID$(CAT3$(I), S3, 1) X = S3 * 16 LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 14, B Seconds = .1 GOSUB ST LINE (Y + X - 16, Z)-(Y + X - 16 + 15, Z + 17), 78, B NEXT S3 END IF IF TW = 1 AND MW = 1 AND BW = 1 THEN GOTO FINISH GOTO GUESSWORD PLAYER1: FOR X = 2 TO 6 LOCATE X, 13: PRINT SPACE$(25) NEXT X LOCATE 23, 10: PRINT SPACE$(10) P = 1 PUT (252, 98), GIRL, PSET IF PP1 > 0 THEN LOCATE 21, 35: COLOR 15: PRINT PP1 GOTO STARTGAME PLAYER2: FOR X = 2 TO 6 LOCATE X, 13: PRINT SPACE$(25) NEXT X LOCATE 23, 10: PRINT SPACE$(10) P = 2 PUT (252, 100), GUY, PSET IF PP2 > 0 THEN LOCATE 21, 35: COLOR 15: PRINT PP2 GOTO STARTGAME FINISH: FOR X = 2 TO 6 LOCATE X, 13: PRINT SPACE$(25) NEXT X COLOR 12 IF P = 1 THEN LOCATE 4, 13: PRINT LEFT$(P1NAME$, 5); : COLOR 15: PRINT " Gets The LAST WORD": LOCATE 6, 15: COLOR 10: PRINT LEFT$(P1NAME$, 5); : COLOR 14: PRINT " WINS!!!" IF P = 2 THEN LOCATE 4, 13: PRINT LEFT$(P2NAME$, 5); : COLOR 15: PRINT " Gets The LAST WORD": LOCATE 6, 15: COLOR 10: PRINT LEFT$(P2NAME$, 5); : COLOR 14: PRINT " WINS!!!" LOCATE 23, 1: COLOR 10: PRINT "Play Again? [y/N]"; : A$ = INPUT$(1) IF UCASE$(A$) = "Y" THEN GOTO PLAYLW CLS SLEEP 1 LWEND: CLS WIDTH 80, 25 SCREEN 0, 0, 0, 0 END SUB '------------8<----[ End LASTWORD.BAS ]---->8------------