REM ********************************************************** REM File: [ WordLtrs.Bas ] REM Word Letters REM by Leo French July 12, 2011 REM REM A game requiring the user to select the correct missing REM letters from each word ramdomly chosen. REM ********************************************************** SCREEN 0 RANDOMIZE TIMER: TP = 50: Heads$ = "WORD LETTERS": PTN = 29 Nam$ = "LeoFrench": REDIM BL$(4, 5), V$(4, 5), W(4), Z(5) CLS : COLOR 15, 0: LOCATE 2, PTN: PRINT Heads$ LOCATE 4, 25: PRINT "Created By:" LOCATE 7, 1 FOR A = 1 TO 4: PRINT TAB(TP); FOR B = 1 TO 5 SMOKE: G = INT(90 * RND) + 1: IF G < 65 THEN GOTO SMOKE K$ = CHR$(G): BL$(A, B) = K$ Y = INT(15 * RND) + 1 IF Y <= 10 AND F <= LEN(Nam$) THEN F = F + 1: E$ = MID$(Nam$, F, 1): BL$(A, B) = UCASE$(E$) V$(A, B) = E$: W(A) = A: Z(B) = B END IF JUMP: PRINT BL$(A, B); : COLOR 15, 0: NEXT B: PRINT " " SLEEP 2: I$ = INKEY$ NEXT A ' LOCATE 7, 1 FOR A = 1 TO 4: CK = CSRLIN: FOR B = 1 TO 5 IF LTRIM$(V$(A, B)) <> "" THEN LOCATE CK, (TP - 1) + Z(B): PRINT " ": SLEEP 1: I$ = INKEY$ END IF NEXT B, A LOCATE 4, 38: PRINT "LEO "; SLEEP 1: PRINT "FRENCH": SLEEP 3 LOCATE 7, 1: FOR NS = 1 TO 4: PRINT SPACE$(80): NEXT NS LOCATE 4, 38: PRINT "Leo French"; TAB(58); "Age 63" SLEEP 2: I$ = INKEY$ CURTAIN: GP1$ = CHR$(213): GP2$ = STRING$(58, 205): GP3$ = CHR$(184) GP4$ = CHR$(179): GP5$ = GP4$ GP6$ = CHR$(212): GP7$ = GP2$: GP8$ = CHR$(190) LMR = 12: LOCATE 7, 1 COLOR 26, 0 PRINT TAB(LMR); GP1$; GP2$; GP3$ FOR EVD = 1 TO 12: PRINT TAB(LMR); GP4$; TAB(71); GP5$: NEXT EVD PRINT TAB(LMR); GP6$; GP7$; GP8$: COLOR 15, 0: PV = 14 LOCATE 8, 32: PRINT "GAME INSTRUCTIONS": LOCATE CSRLIN + 1, PV PRINT "This software will randomly select from it's database" LOCATE CSRLIN + 1, PV: PRINT "a word which it will remove 2 letters from that " LOCATE CSRLIN + 1, PV: PRINT "word then provide the user with three choices of which " LOCATE CSRLIN + 1, PV: PRINT "of the 3 choices is the correct one." LOCATE CSRLIN + 1, PV + 4: PRINT "Words may be repeated and still be random." LOCATE 22, 9: COLOR 10, 0: PRINT "< Touch A Letter To Continue >": COLOR 15, 0 DO: I$ = INKEY$: LOOP UNTIL I$ <> "" REM ******************************************************************* REM BELOW SWITCHING TO GAME SECTION REM ******************************************************************* SCREEN 9: Title$ = "Missing Letters From Word": Ctr = 23: RANDOMIZE TIMER REDIM T(3): TB = 28' TAB POSITION RESTORE: NT = 0: DO: READ WD$: IF WD$ = "##" THEN EXIT DO NT = NT + 1: LOOP MAIN: CLS : COLOR 15, 0: LOCATE 2, Ctr: PRINT Title$: COLOR 10, 0: PRINT TAB(4); FORMAT$(NOW, "mmm dd, yyyy ddd"): COLOR 15, 0 REM ********************************************************** REM BELOW FINDS A WORD AND CHECKS THE LENGTH OF THAT WORD REM NT = TOTAL NUMBER OF WORDS IN LIST RESTORE FOR R = 1 TO NT STONE: REM *********************************************************** REM PK SELECTS WORD OUT OF LIST TO USE REM LNG REPRESENTS THE LENGTH OF THAT SELECTED WORD PK = INT(NT * RND) + 1: IF PK = LWord THEN GOTO STONE NEXT FOR U = 1 TO PK: READ WD$: NEXT LWord = PK LNG = LEN(WD$) CAN: REM ************************************************************* REM TWO LETTERS OR CHOSEN FROM THE SELECTED WORD RANDOMLY REM THE FIRST LETTER IS REPRESENTED BY VALUE A AND SECOND LETTER REM BY VALUE B REM REM THE CORRECT LETTER CHOICE IS REPRESENTED BY ANS REM P$=THE FINISHED SELECTED WORD WITH IT'S MISSING LETTERS REM ************************************************************** A = INT(LNG * RND) + 1: IF A = 1 OR A = LNG THEN GOTO CAN BOTTLE: B = INT(LNG * RND) + 1: IF B = 1 OR B = LNG OR B = A THEN GOTO BOTTLE K$ = "": FOR R = 1 TO LNG: E$ = MID$(WD$, R, 1) IF R = A THEN CW$ = E$: K$ = K$ + " ": GOTO SKIP K$ = K$ + E$ SKIP: NEXT R ' P$ = "": FOR R = 1 TO LNG: E$ = MID$(K$, R, 1) IF R = B THEN FW$ = E$: P$ = P$ + " ": GOTO LEAP P$ = P$ + E$ LEAP: NEXT R REM ********************************************************** REM DISPLAY EFFECTED WORD LOCATE 6, TB: PRINT P$ LINE (200, 65)-(305 + LEN(WD$), 87), 13, B LOCATE 11, 12 Ans = INT(3 * RND) + 1 FOR N = 1 TO 3 IF N = Ans THEN T$(N) = CW$ + " + " + FW$: GOTO GRAVEL IF N <> Ans THEN SKY: M = INT(90 * RND) + 1: W = (90 * RND) + 1 IF M < 65 OR W < 65 THEN GOTO SKY T$(N) = CHR$(M) + " + " + CHR$(W) END IF GRAVEL: NEXT N ' REM ********************************************************** REM THE FINAL DISPLAY TO THE SCREEN LOCATE 8, 1 FOR V = 1 TO 3: PRINT TAB(TB + 5); V; "> "; T$(V): NEXT V COLOR 14, 0: PRINT TAB(TB + 5); 4; "> Use Esc Key To Quit": COLOR 15, 0 ' LOCATE 16, 1: PRINT SPACE$(80): LOCATE 18, 1: PRINT SPACE$(80) COLOR 15, 0: LOCATE 17, 1: PRINT SPACE$(80): LOCATE 17, 4: PRINT "Touch A Number:" DO: LOCATE 3, 55: PRINT FORMAT$(NOW, "ttttt") I$ = INKEY$ IF I$ <> "" THEN IF ASC(I$) = 27 OR VAL(I$) = 4 THEN SCREEN 0: COLOR 7, 0: CLS : SYSTEM END IF LOOP UNTIL VAL(I$) >= 1 AND VAL(I$) < 4 LOCATE 17, 1: PRINT SPACE$(80) RP$ = "Letters: [ " + CW$ + " & " + FW$ + SPACE$(4) + "Word: ( " + WD$ + " ) " IF VAL(I$) = Ans THEN RP$ = "You're Correct" + SPACE$(4) + " [ " + WD$ + " ]" LOCATE 15, 5: PRINT RP$: RP$ = "": SLEEP 8: WK$ = INKEY$: LOCATE 15, 1: PRINT SPACE$(80) ' LOCATE 17, 1: PRINT SPACE$(80): LOCATE 17, 12: COLOR 10, 0 PRINT "< Another One? Y=yes or N=no >": COLOR 15, 0 DO: SR$ = INKEY$: IF UCASE$(SR$) = "Y" THEN GOTO MAIN LOCATE 3, 55: PRINT FORMAT$(NOW, "ttttt") IF SR$ <> "" THEN IF ASC(SR$) = 27 OR VAL(SR$) = 4 THEN SCREEN 0: COLOR 7, 0: CLS : SYSTEM END IF LOOP UNTIL UCASE$(SR$) = "N" SCREEN 0: COLOR 7, 0: CLS : SYSTEM DATA GROWING,WEATHER,STORMY,CUSHIONS,DREAMER,FLIPPED,TARGETING DATA CAMPING,PIRATES,LINERS,FANTASTIC,PLATFORMS,RUNNING,BLINKS DATA ##