home *** CD-ROM | disk | FTP | other *** search
- 5 GOTO100
- 10 .
- 12 . >>> WORDSCRAMBLE! <<<
- 14 .
- 16 . A ROSKI SOFTWARE PRESENTATION
- 18 . 1983
- 20 .
- 22 . WRITTEN BY:
- 24 . ADAM B. ROSEN
- 26 . 8 EMPRESS PINES DRIVE
- 28 . RONKONKOMA, NY 11779
- 30 .
- 32 . SYSTEM CONFIGURATION:
- 34 . COMMODORE 64 COMPUTER
- 36 . DATA STORAGE UNIT
- 38 . (DISK OR TAPE)
- 40 .
- 42 . DEFINITION OF VARIABLES:
- 44 .
- 46 . A$ = GAME TITLE
- 48 . B$ = AUTHOR'S BY-LINE
- 50 . C$ = VERSION (1 OR 2 PLAYER)
- 52 . N$ = PLAYER'S NAME
- 54 . R$ = PLAYER'S RESPONSE(S)
- 56 . S$ = SCRAMBLED WORD (ARRAY)
- 58 . W$ = MYSTERY WORD
- 60 . C = MISCELLANEOUS USES
- 62 . D = MISCELLANEOUS USES
- 64 . G = GUESSES PER TURN
- 66 . T = TOTAL GUESSES PER PLAYER
- 68 . M = MATCHING LETTERS
- 70 . N = WORDS PER PLAYER
- 72 . P = SUBSCRIPT FOR PLAYER #
- 74 . T = TOTAL GUESSES PER PLAYER
- 76 . W = MISCELLANEOUS USES
- 78 . X = MISCELLANEOUS USES
- 80 . GAME = TOTAL WORDS PER GAME
- 82 . TI$ = REALTIME CLOCK
- 84 .
- 100 PRINT"ô":POKE53280,14:POKE53281,14
- 105 A$="*** WORDSCRAMBLE! ***":B$="BY ADAM B. ROSEN"
- 110 GOSUB3000
- 115 PRINT" THIS GAME HAS TWO VERSIONS. THE"
- 120 PRINT"FIRST ALLOWS A PLAYER TO MATCH WITS"
- 125 PRINT"AGAINST THE COMPUTER, WHICH PICKS WORDS"
- 130 PRINT"TO SCRAMBLE FROM ITS LIBRARY OF"
- 135 PRINT"CHOICES. (A RATHER SMALL LIBRARY IF"
- 140 PRINT"YOU ASK ME, BUT IT CAN BE EXPANDED.)"
- 145 PRINT"THE SECOND ALLOWS TWO PLAYERS TO"
- 150 PRINT"COMPETE AGAINST EACH OTHER UNSCRAMBLING"
- 155 PRINT"WORDS INPUTTED BY THE PLAYERS"
- 160 PRINT"THEMSELVES. THE OVERALL OBJECT OF THE"
- 165 PRINT"GAME IS TO UNSCRAMBLE A WORD IN THE"
- 170 PRINT"LEAST NUMBER OF TURNS."
- 175 PRINT"HIT ";CHR$(34);"C";CHR$(34);" TO CONTINUE..."
- 180 GETR$:IFR$<>"C"THEN180
- 185 PRINT"ô SINCE IT IS NOT EASY TO UNSCRAMBLE"
- 190 PRINT"WORDS QUICKLY, AN AID HAS BEEN BUILT"
- 195 PRINT"INTO THE PROGRAM. A PLAYER MAY ENTER,"
- 200 PRINT"IN ANY COMBINATION, ALL OF THE LETTERS"
- 205 PRINT"OF THE SCRAMBLED WORD AND THE COMPUTER"
- 210 PRINT"WILL TELL HOW MANY LETTERS ARE IN THE"
- 215 PRINT"SAME POSITIONSÆ AS THOSE IN THE"
- 220 PRINT"MYSTERY WORD."
- 225 PRINT" ONE MORE THING. IF YOU'RE TRULY"
- 230 PRINT"STUMPED, TYPE HELPÆ IN RESPONSE TO A"
- 235 PRINT"PROMPT. BE WARNED, HOWEVER; THERE IS A"
- 240 PRINT"PENALTY FOR THIS SERVICE."
- 245 PRINT"HIT ";CHR$(34);"C";CHR$(34);" TO CONTINUE...":W=RND(-TI)
- 250 GETR$:IFR$<>"C"THEN250
- 255 PRINT"ô CHOOSE YOUR OPTION:":PRINT" 1) ONE PLAYER VERSION."
- 260 PRINT" 2) TWO PLAYER VERSION.":PRINT" HIT APPROPRIATE KEY..."
- 265 GETR$:IFVAL(R$)<1ORVAL(R$)>2THEN265
- 270 DIMS$(15):IFVAL(R$)=2THEN700
- 275 REM ONE PLAYER VERSION
- 280 PRINT"ô":GOSUB3000
- 285 C$="*** ONE PLAYER VERSION ***"
- 290 PRINTTAB(19-(LEN(C$))/2);C$
- 295 INPUT"HELLO! WHAT IS YOUR NAME";N$
- 300 PRINT"HOW MANY WORDS WOULD YOU LIKE TO TRY"
- 305 PRINT"TO UNSCRAMBLE, ";N$;:INPUTN
- 307 IFN=0THEN742
- 310 PRINT" I WILL CHOOSE A WORD BETWEEN FOUR"
- 315 PRINT"AND SIXTEEN LETTERS IN LENGTH. YOU"
- 320 PRINT"MUST TRY AND UNSCRAMBLE THE WORD IN THE"
- 325 PRINT"LEAST NUMBER OF TURNS."
- 330 PRINT"HIT ";CHR$(34);"S";CHR$(34);" TO START..."
- 335 GETR$:IFR$<>"S"THEN335
- 340 PRINT"ô":T=0:FORGAME=1TON
- 345 PRINT"LET ME THINK OF A WORD. HMMMMMM..."
- 350 TI$="000000":RESTORE
- 355 IFTI$<"000002"THEN355
- 360 W=INT((RND(1)*99)+1)
- 365 FORX=1TOW:READW$:NEXTX
- 370 GOSUB3100
- 375 PRINT"OK, I HAVE ONE. NOW, ";N$;", IT'S"
- 380 PRINT"YOUR TURN TO TRY TO UNSCRAMBLE IT."
- 385 PRINT"ENTER YOUR GUESSES AFTER THE PROMPTS."
- 390 PRINT"REMEMBER, IF YOU GIVE UP, TYPE HELPÆ."
- 395 PRINT"GOOD LUCK!"
- 400 PRINT"SCRAMBLED WORD IS: ";:G=1
- 405 GOSUB3300
- 410 PRINT:PRINT"GUESS #";G;:INPUT"¥";R$
- 415 IFR$=W$THEN470
- 420 IFR$<>"HELP"THEN435
- 425 T=T+20+G:GOSUB3500
- 430 GOTO505
- 435 GOSUB3600
- 440 PRINT"I'M SORRY, ";N$;", THAT'S"
- 445 PRINT"INCORRECT. HOWEVER, YOU DO HAVE";M
- 450 PRINT"LETTERS IN THE RIGHT PLACES."
- 455 G=G+1:M=0
- 460 IF(G/4)=INT(G/4)THENPRINT"SCRAMBLED WORD IS: ";:GOSUB3300
- 465 GOTO410
- 470 PRINT"THAT'S RIGHT! WORD WAS: ";W$
- 480 PRINTN$", YOU TOOK";G;"GUESSES."
- 485 PRINT"CONGRATULATIONS!"
- 490 T=T+G
- 495 TI$="000000"
- 500 IFTI$<"000003"THEN500
- 505 NEXTGAME
- 510 TI$="000000"
- 515 IFTI$<"000002"THEN515
- 520 C$="GAME OVER!":PRINT"ô";TAB(20-(LEN(C$))/2);C$
- 525 PRINT"";N$;", YOU TOOK";T;"GUESSES"
- 530 PRINT"AT";N;"WORDS, AN AVERAGE OF";(T/N)
- 535 PRINT"GUESSES PER WORD."
- 540 IF(T/N)<=5THENPRINT"CONGRATULATIONS!"
- 545 IF(T/N)>5AND(T/N)<=10THENPRINT"GOOD SHOW!"
- 555 IF(T/N)>10THENPRINT"NOT BAD, BUT YOU NEED SOME PRACTICE!"
- 560 GOTO1050
- 700 REM TWO PLAYER VERSION
- 705 PRINT"ô":GOSUB3000
- 710 C$="*** TWO PLAYER VERSION ***"
- 715 PRINTTAB(19-(LEN(C$)/2));C$;""
- 720 FORP=1TO2
- 725 PRINT"PLAYER";P;"¥, WHAT IS YOUR NAME";:INPUTN$(P)
- 730 NEXTP
- 735 PRINT"HOW MANY WORDS SHALL WE MAKE EACH"
- 740 INPUT"PLAYER UNSCRAMBLE";N
- 742 IFN=0THENPRINT"HAVE IT YOUR WAY.":END
- 745 P=1:PRINT"";N$(P);" STARTS. TYPE IN"
- 750 PRINT"A WORD BETWEEN FOUR AND SIXTEEN LETTERS"
- 755 PRINT"IN LENGTH. PLEASE NOTE:"
- 760 PRINT"YOUR WORD WILL NOTÆ APPEAR ON THE"
- 765 PRINT"SCREEN AS YOU TYPE IT, SO CHECK FOR"
- 770 PRINT"MISTAKES WHILE ENTERING LETTERS. YOU"
- 775 PRINT"WILL BE GIVEN THE OPTION OF RETYPING"
- 780 PRINT"THE ENTIRE WORD, IF YOU SO DESIRE."
- 785 FORGAME=1TO(2*N):IFGAME=1THEN800
- 790 PRINT"NOW, ";N$(P);", IT'S YOUR TURN TO"
- 795 PRINT"INPUT A WORD."
- 800 PRINT"YOUR WORD?Ü ";:INPUTW$
- 805 INPUT"ANY MISTAKES N¥¥¥";R$
- 810 IFR$="Y"THEN800
- 815 IFLEN(W$)>=4ANDLEN(W$)<=16THEN830
- 820 PRINT"YOUR WORD MUST BE BETWEEN FOUR AND"
- 825 PRINT"SIXTEEN LETTERS IN LENGTH.":GOTO800
- 830 GOSUB3100
- 835 PRINT"ô":IFP=1THENP=2:GOTO845
- 840 P=1
- 845 PRINT"OK, ";N$(P);", IT'S YOUR TURN."
- 850 PRINT"TRY TO UNSCRAMBLE THE WORD BELOW IN THE"
- 855 PRINT"LEAST NUMBER OF GUESSES. REMEMBER:"
- 860 PRINT"IF YOU GIVE UP, TYPE HELPÆ. ENTER"
- 865 PRINT"YOUR GUESSES AFTER THE PROMPTS."
- 870 PRINT"GOOD LUCK!":PRINT"SCRAMBLED WORD IS: ";:G(P)=1
- 875 GOSUB3300
- 880 PRINT:PRINT"GUESS #";G(P);:INPUT"¥";R$
- 890 IFR$=W$THEN955
- 900 IFR$<>"HELP"THEN915
- 905 T(P)=T(P)+20+G(P):GOSUB3500
- 910 GOTO980
- 915 GOSUB3600
- 920 PRINT"I'M SORRY, "N$(P);", THAT'S"
- 930 PRINT"INCORRECT. HOWEVER, YOU DO HAVE";M
- 935 PRINT"LETTERS IN THE RIGHT PLACES."
- 940 G(P)=G(P)+1
- 945 IF(G(P)/4)=INT(G(P)/4)THENPRINT"SCRAMBLED WORD IS: ";:GOSUB3300
- 950 GOTO880
- 955 PRINT"THAT'S RIGHT! WORD WAS: ";W$
- 960 PRINTN$(P);", YOU TOOK";G(P);"GUESSES."
- 965 PRINT"CONGRATULATIONS!"
- 970 T(P)=T(P)+G(P)
- 980 NEXTGAME
- 985 TI$="000000"
- 990 IFTI$<"000003"THEN990
- 995 PRINT"ô":C$="GAME OVER!"
- 1000 PRINTTAB(20-(LEN(C$)/2));C$
- 1005 FORP=1TO2
- 1010 PRINT"";N$(P);" TOOK";T(P);"GUESSES"
- 1015 PRINT"AT";N;"WORDS, AN AVERAGE OF";(T(P)/N)
- 1020 PRINT"GUESSES PER WORD."
- 1025 NEXTP
- 1030 IFT(1)<T(2)THENPRINT"";N$(1);" IS THE WINNER!":GOTO1050
- 1035 IFT(1)>T(2)THENPRINT"";N$(2);" IS THE WINNER!":GOTO1050
- 1040 PRINT"I DON'T BELIEVE IT, BUT IT'S A TIE!"
- 1045 PRINT"CONGRATULATIONS TO YOU BOTH!"
- 1050 INPUT"WOULD YOU LIKE TO PLAY AGAIN Y¥¥¥";R$
- 1055 IFR$="Y"THEN1075
- 1060 A$="THANK YOU FOR PLAYING!":B$="æHAVE A NICE DAY!":PRINT"ô":GOSUB3000
- 1065 A$=" WORDSCRAMBLE!":B$="æBY ADAM B. ROSEN":PRINT"":GOSUB3000
- 1070 A$="A ROSKI SOFTWARE PRESENTATION":B$="æ1983":PRINT"":GOSUB3000:END
- 1075 CLR
- 1080 A$="*** WORDSCRAMBLE! ***":B$="BY ADAM B. ROSEN"
- 1085 GOTO255
- 3000 REM TITLE CENTERING SUBROUTINE
- 3005 PRINT"";TAB(19-(LEN(A$)/2)-.5);A$;""
- 3010 PRINTTAB(19-(LEN(B$)/2)-.5);B$;""
- 3015 RETURN
- 3100 REM WORD SCRAMBLING SUBROUTINE
- 3105 IF(LEN(W$)/2)=INT(LEN(W$)/2)THEN3175
- 3110 W=INT((LEN(W$)/2)+.5)
- 3115 C=1:D=0
- 3120 S$(0)=MID$(W$,W,1)
- 3125 FORX=1TO(LEN(W$)-1)STEP2
- 3130 S$(X)=MID$(W$,C,1)
- 3135 S$(X+1)=MID$(W$,(LEN(W$)-D),1)
- 3140 C=C+1:D=D+1
- 3145 IFC=WOR(LEN(W$)-D)=WTHEN3155
- 3150 NEXTX
- 3155 IFLEN(W$)>=7THENI$=S$(X-2):S$(X-2)=S$(2):S$(2)=I$
- 3160 IFLEN(W$)>=11THENI$=S$(X-3):S$(X-3)=S$(3):S$(3)=I$
- 3165 IFLEN(W$)>=15THENI$=S$(X-4):S$(X-4)=S$(4):S$(4)=I$
- 3170 RETURN
- 3175 FORX=1TO(LEN(W$)-3)STEP2
- 3180 S$(X)=MID$(W$,((LEN(W$)-2)-X),1)
- 3185 S$(X-1)=MID$(W$,((LEN(W$)-1)-X),1)
- 3190 NEXTX
- 3195 S$(X-1)=MID$(W$,LEN(W$),1)
- 3200 S$(X)=MID$(W$,(LEN(W$)-1),1)
- 3205 I$=S$(X):S$(X)=S$(0):S$(0)=I$
- 3210 IFLEN(W$)>=6THENI$=S$(X-2):S$(X-2)=S$(2):S$(2)=I$
- 3215 IFLEN(W$)>=10THENI$=S$(X-3):S$(X-3)=S$(3):S$(3)=I$
- 3220 IFLEN(W$)>=14THENI$=S$(X-4):S$(X-4)=S$(4):S$(4)=I$
- 3225 RETURN
- 3300 REM PRINT SCRAMBLED WORD SUBROUTINE
- 3305 FORX=0TO(LEN(W$)-1):PRINTS$(X);:NEXTX
- 3310 RETURN
- 3500 REM HELP SUBROUTINE
- 3505 PRINT"ôI'M DISAPPOINTED. YOU PROBABLY COULD"
- 3510 PRINT"HAVE GUESSED THE WORD EVENTUALLY..."
- 3515 PRINT"BUT, I DID PROMISE TO TELL YOU IF YOU"
- 3520 PRINT"TYPED HELP. WORD WAS:"
- 3525 PRINTSPC(15);"";W$
- 3530 PRINT"THERE IS A PENALTY FOR THIS SERVICE."
- 3535 PRINT"YOU ARE NOW CONSIDERED TO HAVE TAKEN"
- 3540 PRINT"TWENTY GUESSES AT THE MYSTERY WORD"
- 3545 PRINT"IN ADDITIONÆ TO ANY YOU ACTUALLY TOOK."
- 3550 PRINT"TRY HARDER NEXT TIME!"
- 3555 PRINT"HIT ";CHR$(34);"C";CHR$(34);" TO CONTINUE GAME..."
- 3560 GETR$:IFR$<>"C"THEN3560
- 3565 PRINT"ô":RETURN
- 3600 REM MATCHING LETTERS SUBROUTINE
- 3605 M=0
- 3610 FORX=1TOLEN(W$)
- 3615 IFMID$(W$,X,1)=MID$(R$,X,1)THENM=M+1
- 3620 NEXTX
- 3625 RETURN
- 3700 .
- 3702 . *** NOTICE TO PLAYERS ***
- 3704 .
- 3706 . TO ADD WORDS TO THE "LIBRARY",
- 3708 . JUST ADD ADDITIONAL DATA
- 3710 . STATEMENTS AFTER LINE 4030.
- 3712 . THEN, CHANGE LINE 360 AS
- 3714 . FOLLOWS: I NOW
- 3716 . HAVE 100 WORDS IN THE DATA
- 3718 . STATEMENTS. LINE 360 READS:
- 3720 . W=INT((RND(1)*99)+1).
- 3722 . JUST CHANGE THE NUMBER AFTER
- 3724 . THE ASTERISK TO ONE LESS THAN
- 3726 . THE TOTAL NUMBER OF WORDS IN
- 3728 . YOUR "EXPANDED" LIBRARY.
- 3730 . THAT'S ALL THERE IS TO IT!
- 3732 .
- 3734 . P.S. ADDING TO OR CHANGING
- 3736 . THE WORDS IN THE LIBRARY
- 3738 . PERMITS YOU TO CUSTOMIZE
- 3740 . THIS PROGRAM TOWARDS A
- 3742 . SPECIFIC APPLICATION.
- 3744 .
- 4000 DATA STUDENT,AWARD,COMPANION,LOVER,JUXTAPOSITION,CITATION,RANDOM,SCRAMBLE
- 4005 DATA HELLO,PERFORMANCE,COMMUNITY,LOGICALLY,ISLANDERS,COMMODORE,AMERICAN
- 4010 DATA PUPPY,DICTIONARY,PERIOD,TELEVISION,SEVENTY,COMPUTER,PARALLEL,CANDID
- 4015 DATA UNIVERSITY,TREMENDOUS,PENCIL,HISTORIC,INCALCULABLE,SKIING,COUNTRY
- 4020 DATA COLOR,SAXOPHONE,FAMOUS,DEPRESSED,ELATED,INSANE,RECORDING,DISTRICT
- 4025 DATA AUTOMOBILE,RAFFLE,FREQUENCY,OUTFIT,WARMER,SPORTS,INJURY,NATIONAL
- 4030 DATA LOCAL,INFINITESIMAL,PETIT,WONDERFUL,CONTRAST,SQUARE,STEREO,PRESENT
- 4035 DATA CLOCK,TRAGEDY,PRESIDENT,TOWARDS,SPACE,LOVELY,TELEPHONE,FANTASTIC
- 4040 DATA SOCIAL,FRIENDSHIP,RALLY,INTRANSIGENCE,REALITY,RACQUETBALL,HOCKEY
- 4045 DATA BICYCLE,HEART,MUFFIN,BANANA,VISCOSITY,SHUTTLE,CHALLENGER,PHYSICS
- 4050 DATA MUSIC,INTERTWINED,INVOLVED,COMPLICATED,BULLETIN,GENETIC,ENGINEERING
- 4055 DATA CREATIVITY,CORPORATION,PEACE,PEANUT,CHOCOLATE,GRADUATION,STAMP,BALL
- 4060 DATA CHEESEBURGER,COINS,MERMAID,RECEIPT,WEATHER,DOWNPOUR,TERMINAL,WINNER
-