Last active
August 29, 2015 13:56
-
-
Save fiskurgit/8858965 to your computer and use it in GitHub Desktop.
Work in progress
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
100MODE7 | |
110REM"***** STARSPELL ***** | |
130REM"(C)FISHER_MARRIOTT 1982 | |
150REM"LIST BASED ON CLASSROOM INDEX | |
160REM"OF PHONIC RESOURCES N.A.R.E | |
161*SK | |
180DIMw$(20) | |
190DIMlist$(20) | |
200E$=STRING$(54,"?"):E$="" | |
210DIMN%(12):DIMP%(12):DIMQ%(12):DIMR%(12) | |
220ONERRORGOTO310 | |
230*FX11 | |
240*KEY10"OLD:M RUN:M" | |
250*FX15,0 | |
260*FX4,1 | |
270*OPT1,1 | |
300list=FALSE | |
310REPEAT | |
320CLS | |
330PROCSTART | |
340IF NOT ((C$="L" OR C$="1"ORC$="N" OR C$="n")ANDlist=TRUE) PROCGETTEST | |
350PROCTARGET | |
360FORK%=1TOnum% | |
370w$=w$(K%) | |
380PROCDISPLAY | |
390REPEAT | |
400PROCINPUT | |
410PROCTEST | |
420UNTILB$=w$(K%) | |
430PROCW | |
440NEXTK% | |
450PROCEND | |
460T=TIME:REPEAT:SOUND1,-4,(121+8*RND(3)),2*RND(4):UNTILTIME>T+1200 | |
470*FX15,0 | |
480PROCDB("SPACE-BAR to restart", 8,23,133) | |
490S%=GET | |
500UNTIL FALSE | |
510END | |
530DEFPROCSTART | |
540E$="" | |
550PROCb("@STARSPELL@",3,6,146) | |
560FORJ%=0TO3 | |
570SOUND1,-10, (52+16*J%),10+J% | |
580NEXT | |
590PROCDB("Which List?",10,10,131) | |
600PRINTTAB(0,13);" INPUT 1 ] 116 or ""S"" for Summary" | |
610IF list =TRUE PRINTTAB(0,21);"(INPUT ""L"" to Practise your own List)"''"(INPUT ""N"" got a New List)";ELSEPRINTTAB(0,22);(INPUT`""L"" for your own Word List)" | |
620VDU10 | |
630PRINTTAB(15,17);CHR$133;:INPUT""C$ | |
640IFC$="S"ORC$="s" PROCsummary:CLS:GOTO550 | |
650IFlist=TRUE AND (C$="N" OR C$="n") PROClist:CLS:GOTO660 | |
660IF(C$="L" OR C$="1"OR C$="N" OR C$="n") AND list=TRUE PROCcopy: GOTO700 | |
670IF C$="L" OR C$="1"PROClist:CLS:GOTO660 | |
680PRINTTAB(23,10);SPC(16);TAB(0,15);SPC(56) | |
690IFASC(C$)<490RASC(C$)>570ORVAL(C$)>116PRINTTAB(2,15)"Must be a Number from 1 to 166":PRINTTAB(15,17);SPC(24):GOTO590 | |
700PRINTTAB(0,10);SPC(240);TAB(15,17);" " | |
710PRINTTAB(0,19);SPC(240) | |
720IF C$="L"ORC$="1"OR C$="N" OR C$="n"PROCDB("Your List",12,10,130) ELSEPROCDB("List "+C$,13,10,130) | |
730ENDPROC | |
750DEFPROCTARGET | |
760C%=0 | |
770FORJ%=1TOnum% | |
780C%=LEN(w$(J%))+C% | |
790NEXT | |
800T=C%/15+num%*.2 | |
810PROCDB("Target: "+STR$(INT(T))+" Mins.",9,15,130) | |
820IFT-INT(T)>.5PROCDB("\",20,15,130) | |
830PROCDB(CHR$(129)+"Ready",14,19,136) | |
840PROCDB("Space Bar to Start",9,23,131) | |
850REPEAT | |
860SOUND1,0,0,1 | |
870 SOUND0,-15,3,255 | |
880UNTILGET | |
890CLS | |
900ST=TIME | |
910ENDPROC | |
930DEFPROCDISPLAY | |
940VDU7 | |
950PROCDB(" _ look _",13,3,130) | |
960PROCb("@?@?@",9,8,146) | |
970PROCb(w$,(20-1.5*(LEN(w$))),15,147) | |
980UNTILGET | |
990ST=TIME | |
910ENDPROC | |
930DEFPROCDISPLAY | |
940VDU7 | |
950PROCDB("_ look _",13,3,130) | |
960PROCb("@?@?@",9,8,146) | |
970PROCb(w$,(20-1.5*(LEN(w$))),15,147) | |
980PROCWAIT(500) | |
990CLS | |
1000ENDPROC | |
1010DEFPROCb(W$,X%,Y%,D%) | |
1020FORJ%=1TO LEN(W$) | |
1030RESTORE(2390+10*ASC(MID$(W$,(J%),1))) | |
1040READL$,M$,N$,O$,H% | |
1050PRINTTAB(X%,Y%-1);CHR$D%;L$;TAB(X%,Y%);CHR$D%;M$'TAB(X%,Y%+1);CHR$D%;N$;TAB(X%,Y%+2);CHR$D%;O$ | |
1060X%=X%+3+H% | |
1070NEXT | |
1080VDU23;8202;0;0;0; | |
1090X1%=X% | |
1100ENDPROC | |
1120DEFPROCINPUT | |
1130PROCDB("...SPELL...",12,4,134) | |
1140SOUND1,-6,129,10 | |
1150B$="" | |
1160X1%=0 | |
1170S%=GET | |
1180IFS%=&0D ANDB$>""ENDPROC | |
1190IFS%=&7F ANDB$>""PROCDELETE:GOTO1170 | |
1200IFS%>96ANDS%<123THENS%=S%-32 | |
1210IFS%<65ORS%>90GOTO1170 | |
1220B$+CHR$S% | |
1230N%(LEN B$)=X1% | |
1240PROCb(RIGHT$(B$,1),X1%,12,150) | |
1250IFX1%>37ORLENB$>11ENDPROC | |
1260GOTO1170 | |
1270ENDPROC | |
1280 | |
1290DEFPROCDELETE | |
1300IFB$=""ENDPROC | |
1310X1%=N%(LENB$) | |
1320PROCb("?",X1%,12,152) | |
1330X1%=N%(LENB$) | |
1340B$=LEFT$(b$,(LEN(B$)-1)) | |
1350ENDPROC | |
1370DEFPROCTEST | |
1380PRINTTAB(12,4);SPC(60) | |
1390IFB$=w$ENDPROC | |
1400IFRIGHT$(E$,(LENw$+1))<>w$+CHR$0THENE$=E$+w$+CHR$0 | |
1410D$=w$ | |
1412FORI%=1TOLEN(B$) | |
1414IFFNM(B$)=FNM(w$)THENQ%(I%)=I%:D$=LEFT$(D$.(Q%(I%)-1)) + CHR$(128+ASC(MID$(D$,Q%(I%),1)))+MID$(D$,Q$(I%)+1)):R%(Q%(I%))=I% | |
1416NEXT | |
1420FORI%=1TOLEN(B$) | |
1430IFQ%(I%)<>I%THENQ%(I%)=INSTR(D$,FNM(B$)) | |
1440IFQ%(I%)=0PROCDROP(I%,N%(I%))ELSEIFQ%(I%)<>I%D$=LEFT$(D$,(Q%(I%)-1))+CHR$(128+ASC(MID$(D$,Q%(I%),1)))+MID$(D$,(Q%(I%)+1)):R%(Q%(I%))=I% | |
1450NEXT | |
1460KI%=INKEY(75) | |
1470FORI%=1TOLEN B$ | |
1480IFQ%(I%)<>I%ANDQ%(I%)<>0PROCLIFT(FNM(B$),N%(I%)) | |
1490NEXT | |
1500PRINTTAB(0,11);SPC(200) | |
1510P%(0)=0 | |
1520FORI%=1TOLEN w$ | |
1530PROCb(FNM(w$),P%(I%-1),12,(150-2*(R%(I%)<>i%))) | |
1540P%(I%)=X1% | |
1550NEXT | |
1560F%=INKEY(150) | |
1570FORI%=1TOLEN B$ | |
1580IFQ%(I%)<>0ANDQ%(I%)<>I%PROCDOWN(FNM(B$),N%(I%),P%(Q%(I%)-1)) | |
1590NEXT | |
1600FORI%=1TOLENw$ | |
1610IFR%(I%)=0:PROCBOX(FNM(w$),P%(I%-1)) | |
1620NEXT | |
1630FORI%=1TO12 | |
1640N%(I%)=0:P%(I%)=0:Q%(I%)=0:R%(I%)=0 | |
1650NEXT | |
1660K1=INKEY(300) | |
1670CLS | |
1680ENDPROC | |
1700DEFPROCW | |
1710CLS | |
1720PROCb("@?@?@",9,4,147) | |
1730PROCDB("WELL DONE",13,9,136) | |
1740PRINTTAB(8,5);CHR$136; | |
1750PROCb(w$,(20-1.5*(LEN(w$))),15,147) | |
1760FORJ%1TO6 | |
1770SOUND0,-5RND(4),4 | |
1780SOUND0,0,0,2 | |
1790NEXT | |
1800 K1%=INKEY(120) | |
1810CLS | |
1820ENDPROC | |
1840DEFPROCDROP(M%,P%) | |
1850Q$=MID$(B$,M%,1) | |
1860FORI1%=0TO2 | |
1870FORJ1%=1TO2 | |
1880PROCb("@",P%,8,(159-7*J1%)) | |
1890SOUND1,-15,1,1 | |
1900KI%=INKEY(8) | |
1910NEXT | |
1920NEXT | |
1930PROCb(Q$,P%,12,145) | |
1940PROCBIN | |
1950PROCSD | |
1960PROCb(Q$,P%,12,152) | |
1970PRINTTAB(0,7);SPC(160) | |
1980PROCb(Q$,P%,16,145) | |
1990FORJ%=1TO7 | |
2000SOUND1,-15,20,1 | |
2010SOUND1,59,0,1 | |
2020NEXT | |
2030PRINTTAB(0,15);SPC(160) | |
2040PROCb(Q$,18,16,145) | |
2050PROCSD | |
2060PRINTTAB(0,15);SPC(160) | |
2070PROCb(Q$,18,20,147) | |
2080PROCBIN | |
2090ENDPROC | |
2100 | |
2110DEFPROCBIN | |
2111 REM JHFISHER TODO - not sure what this procedure does? | |
2120PRINTTAB(14,19);"gggggggggggg;" | |
2130PRINTTAB(15);")9 WASTE 99!" | |
2140PRINTTAB(15);"efffffff6" | |
2150PRINTTAB(15);"j9 BIN 9!" | |
2160PRINTTAB(17);"iyyyyy!" | |
2170ENDPROC | |
2180 | |
2190DEF PROCGETTEST | |
2200RESTORE(3300+10*(VAL(C$))) | |
2210FORI%=1TO7 | |
2220READw$(I%) | |
2230NEXT | |
2240num%=7 | |
2250ENDPROC | |
2260 | |
2270DEFPROCWAIT(E%) | |
2280*FX15,0 | |
2290E%=INKEY(E%) | |
2300ENDPROC | |
2310 | |
2320DEFPROCLIFT(W$,P%) | |
2330FORI1%=0TO5 | |
2340PROCb("@",P%,8,146) | |
2350SOUND1,-15,1,1 | |
2360K1%=INKEY(10) | |
2370PROCb("?",P%,8,152) | |
2380NEXT | |
2390PROCb(W$,P%,12,146) | |
2400K1%=INKEY(25) | |
2410PROCb(W$,P%,12,152) | |
2420FORJ%1TO10 | |
2430SOUND1,-15,(20+10*J%),1 | |
2440NEXT | |
2450PROCb("?",P%,8,152) | |
2460PROCb(W$,P%,8,146) | |
2470ENDPROC | |
2480 | |
2490DEFPROCDOWN(W$,N%,P%) | |
2500PROCSD | |
2510PROCb(W$,N%,8,152) | |
2520PROCb(W$,P%,12,146) | |
2530ENDPROC | |
2540 | |
2550DEFPROCSD | |
2560K1=INKEY(50) | |
2570FORJ%=1TO10 | |
2580SOUND1,-15,(22-10*J%),1 | |
2590NEXT | |
2600ENDPROC | |
2610 | |
2620DEFPROCBOX(W$,P%) | |
2630PRINTTAB(0,7);SPC(160) | |
2640SOUND0,-5,4,16 | |
2650PROCb("0",P%,4,149) | |
2660PROCb((W$),P%,8,149) | |
2670K1=INKEY(25) | |
2680PROCSD | |
2690PRINTTAB(0,7);SPC(160) | |
2700PRINTTAB(0,3);SPC(160) | |
2710PROCb(W$,P%,12,149) | |
2720ENDPROC | |
2730 | |
2740DEF FNM(W$) | |
2750=MID$(W$,I%,1) | |
2760 | |
2770DEFPROCEND | |
2780TT=(TIME-ST)/6000 | |
2790PROCb("?@@@@@@@@",1,4,146) | |
2800PROCb("?@@?END?@@",0,8,146) | |
2810FORJ%=1TO2 | |
2820PRINTTAB(3);CHR$141;CHR$130;"You took ";INT(TT); | |
2830IFTT-INT(TT)?.5THENPRINT"\ MIN";ELSEPRINT" MIN"; | |
2835IFTT>1.5PRINT"S" | |
2840NEXT | |
2850IF C$="L"ORC$="1"ORC$="N"ORC$="n"PROCDB("Your List",3,14,130) ELSEPROCDB("List "+C$,3,14,130) | |
2860IFE$>""PROCDB("You need to practise..",14,14,130)ELSEPROCDB("All OK, Well Done"14,14,133):ENDPROC | |
2870e$=STRING$(LENE$,"?"):e$=""; | |
2880FORI%=1TOLENE$ | |
2890e$=e$+CHR$(ASC(FNM(E$))+32) | |
2900NEXT | |
2910IFLENe$<36PROCDB(e$,3,16,131)ELSEPROCDB(LEFT$(e$,35),3,16,131):PROCDB(MID$(e$),36,3,18,131) | |
2930ENDPROC | |
2940 | |
2950DEFPROCDB(W$,X,Y,Z) | |
2960FORJ%=1TO2 | |
2970PRINTTAB(X,(Y-1+J%)); | |
2980PRINTCHR$141;CHR$Z;W$; | |
2990NEXT | |
3000ENDPROC | |
3010REM"------------------------------ | |
3011REM JHFISHER TODO - What is this data section for? | |
3020DATA" "," "," "," ",1 | |
3030DATAww5,cg!,)(!,,1 | |
3040DATA,s{,-.,,0 | |
3050DATA5,7k,-.,,0 | |
3060DATA,7`,"-,",,0 | |
3070DATA" j",7k,-.,,0 | |
3080DATA,w{,"_,",,0 | |
3090DATA7,7,%,,-1 | |
3100DATA,7k,-n,-.,0 | |
3110DATA5,7k,%*,,0 | |
3120DATA!,5,%,,-1 | |
3130DATA" “","," j"," j",*.,0 | |
3140DATA5,u&,%),,0 | |
3150DATA5,5,%,,-1 | |
3160DATA,775,%%%,,1 | |
3170DATA,7k,%*,,0 | |
3180DATA,61,)&,,0 | |
3190DATA,7k,=.,%,0 | |
3200DATA,7k,-n," *",0 | |
3210DATA,7+,%,,0 | |
3220DATA,ws,",.",,0 | |
3230DATA4,7,-,,-1 | |
3240DATA,5j,-.,,0 | |
3250DATA,e_%,"""&",,1 | |
3260DATA,545,--%,,1 | |
3270DATA,)8!,"&""$",,1 | |
3280DATA,5j,-n,-.,0 | |
3290DATA,c',"-,",,0 | |
3300REM"------------------------------ | |
3310DATABAT,CAT,MAN,BAG,MAP,SAD,JAM | |
3320DATARED,BED,HEN,WET,PET,LEG,YES | |
3330DATAPIN,BIG,IS,FIT,MIX,KID,ZIP | |
3340DATADOG,HOT,POT,FOX,HOP,ROB,COD | |
3350DATASUN,GUN,JUG,MUG,HUT,CUP,BUS | |
3360DATAHAM,BOX,POP,SIX,WET,SUM,US | |
3370DATABAT,DAD,BAD,TAB,DID,ROB,ROD | |
3380DATABACK,SACK,ADD,EGG,MESS,BELL,OFF | |
3390DATAHELD,SELF,MILK,BELT,POND,SING,PINK | |
3400DATAANT,HUNT,NEST,LOST,DESK,CAMP,JUMP | |
3410DATASHIP,SHELL,SHOP,SHY,MASH,RUSH,FISH | |
3420DATACHIP,CHOP,CHESS,MUCH,RICH,LUNCH,BENCH | |
3430DATACHIPTHEM,THESE,THEY,FATHER,THIN,THANK,CLOTH | |
3440DATAWHEN,WHAT,WHY,WHIP,WHITE,WHALE,WHISKY | |
3450DATAPHONE,ORPHAN,ELEPHANT,TELEPHONE,DOLPHIN,ALPHABET,PHEASANT | |
3460DATASHRUB,SHRINK,THREE,THROW,WITCH,KITCHEN,SCHOOL | |
3470DATACAKE,MAKE,GAME,NAME,GATE,WAVE,CAVE | |
3480DATANINE,WINE,KITE,FIVE,TIDE,TIME,SMILE | |
3490DATABONE,HOME,NOSE,ROSE,HOLE,JOKE,DOPE | |
3500DATATUBE,TUNE,CUTE,USE,RUDE,BRUTE,CRUDE | |
3510DATABLAZE,TWINE,BRIDE,STOVE,AMUSE,EXCUSE,TUNES | |
3520DATABLOT,CLAP,FLAT,GLAD,PLAN,PLANK,SLUG | |
3530DATABRICK,CRACK,DRIP,FROM,GRUNT,PRAM,TRUCK | |
3540DATASKID,SLEPT,SMELL,SNAP,SPOT,STAMP,SWIM | |
3550DATAQUACK,QUICK,QUID,TWIG,TWIT,TWIST,DWELL | |
3560DATASCRAP,SCRUB,SPRING,STRAP,STRONG,SPLASH,SQUIB | |
3570DATARAIN,SAIL,NAIL,WAIT,MAIDEN,AFRAID,EXPLAIN | |
3580DATAARM,CAR,DART,MARCH,FARMER,ARCHER,GARDEN | |
3590DATAPAUSE,SAUCER,HAUNT,AUTUMN,AUTHOR,EXHAUST,BECAUSE | |
3600DATASAW,JAW,YAWN,STRAW,CRAWL,HAWK,AWFUL | |
3610DATADAY,SAY,CLAY,WAY,SPRAY,ALWAYS,HOLIDAY | |
3620DATAEAT,MEAT,STEAM,CLEAN,BEAST,TEACHER,EAGLE | |
3630DATAHEAD,DEAD,BREAD,LEATHER,MEADOW,PLEASANT,INSTEAD | |
3640DATABEE,FREE,NEED,SEED,WEEP,BEEF,SWEET | |
3650DATAKERB,TERM,HERB,VERSE,PERSON,UNDER,DESERT | |
3660DATANEW,FEW,CHEW,STEW,SCREW,NEWT,SEWER | |
3670DATASEIZE,CEILING,EIGHTY,FIELD,THIEF,SHIELD,RELIEF | |
3680DATAFIR,BIRD,BIRTH,THIRD,THIRSTY,THIRTEEN,BIRTHDAY | |
3690DATABOAT,COAL,ROAD,TOAD,TOAST,COACH,THROAT | |
3700DATADIE,LIE,PIE,TOE,BLUE,GLUE,TUESDAY | |
3710DATAOIL,BOIL,MOIST,VOICE,NOISY,POISON,AVOID | |
3720DATAFOOD,TOOL,POOL,ROOT,SHOOT,MOON,ROOF | |
3730DATALOOK,BOOK,SHOOK,COOK,FOOT,GOOD,BLOOD | |
3740DATAHORN,CORN,CORK,STORM,MORNING,RECORD,MEMORY | |
3750DATASHOUT,ABOUT,POUND,SOUND,COUNT,MOUSE,HOUSE | |
3760DATAHOW,OWL,CLOWN,BROWN,CROWD,SHOWER,POWDER | |
3770DATAOWN,BOWL,CROW,SNOW,WINDOW,ELBOW,ARROW | |
3780DATABOY,TOY,ANNOY,DESTROY,COWBOY,ROYAL,EMPLOYER | |
3790DATAFUR,BURN,CHURCH,NURSE,TURKEY,BURGLAR,SURPRISE | |
3800DATABABY,SYRUP,CRYSTAL,CRY,WHY,MYSELF,PYTHON | |
3810DATAALONG,ASLEEP,ABROAD,ACROSS,ASHAMED,AGAIN,ALIVE | |
3820DATABECAME,BELOW,BEHIND,BECAUSE,BEFORE,BENEATH,BECOME | |
3830DATASDEPART,DELAY,DEFLATE,DEFEAT,DESERVE,DEPRESS,DESTROY | |
3840DATACONDUCT,CONFESS,CONFLICT,CONCRETE,CONCEAL,CONTAIN,CONNECT | |
3850DATADISMAY,DISABLE,DISAGREE,DISHONEST,DISCOVER,DISORDER,DISTRUST | |
3860DATAENLIST,ENRICH,ENDEAR,ENFORCE,ENSLAVE,ENTRUST,ENLIGHTEN | |
3870DATAEXPORT,EXCLAIM,EXPAND,EXTRACT,EXPECT,EXPLAIN,EXACT | |
3880DATAFORBID,FORGET,FORGIVE,FORSAKE,FORWARD,FORGAVE,FORGOTTEN | |
3890DATAFOREMOST,FOREHEAD,FORECAST,FOREMAN,FOREGROUN,FOREFINGER,FORESIGHT | |
3900DATAIMAGE,IMITATE,IMAGINE,IMMENSE,IMMEDIATE,IMMORTAL,IMMOVABLE | |
3910DATAINCOME,INDOORS,INFORM,INFLAME,INDEED,INHUMAN,INVISIBLE | |
3920DATAPERMIT,PERFECT,PERHAPS,PERSIST,PERMISSION,PERFUME,PERPETUAL | |
3930DATAPREVENT,PRESENT,PREFER,PRETEND,PRESERVE,PRESUME,PREPARE | |
3940DATAPROLONG,PROCEED,PROCLAIM,PROFESSOR,PROGRESS,PROJECT,PROTEST | |
3950DATA RECALL,RETURN,REMOVE,REMIND,REGAIN,REPLACE,REQUEST | |
3960DATAUNDO,UNCOVER,UNFASTEN,UNLOAD,UNPACK,UNFAIR,UNWELL | |
3970DATACAPABLE,RELIABLE,NOTICEABLE,VALUABLE,PROBABLE,SUITABLE,ABONIMABLE | |
3980DATAAERIAL,ARTIFICIAL,HOSPITAL,DISMAL,CENTRAL,GENERAL,NATIONAL | |
3990DATACENTRALLY,MUSICALLY,NATURALLY,GENERALLY,GENERALLY,VERTICALLY,NATIONALLY | |
4000DATASUGAR,COLLAR,BEGGAR,VINEGAR,NUCLEAR,SIMILAR,REGULAR | |
4010DATAPLANTED,LANDED,FITTED,NODDED,THANKSED,JUMPED,ROBBED | |
4020DATATOWEL,LABEL,WEASEL,MODEL,TUNNEL,SHOVEL,TRAVEL | |
4030DATASUMMER,RUBBER,FATTER,WETTER,AFTER,FASTER,THUNDER | |
4040DATATHINNEST,FATTEST,OLDEST,SADDEST,FASTEST,POOREST,LOWEST | |
4050DATAMONKEY,DONKEY,HONEY,CHIMNEY,VALLEY,TURKEY,ABBEY | |
4060DATATRUTHFUL,USEFUL,CAREFUL,PAINFUL,AWFUL,CAREFULLY,PAINFULLY | |
4070DATAPOSSIBLE,SENSIBLE,VISIBLE,INVISIBLE,TERRIBLE,FLEXIBLE,HORRIBLE | |
4080DATAPENCIL,FOSSIL,STENCIL,DAFFODIL,COUNCIL,UNTIL,LENTIL | |
4090DATADEFECTIVE,ATTRACTIVE,EXPENSIVE,DETECTIVE,INVECTIVE,SENSITIVE,INSENSITIVITE | |
4100DATAROBBING,RUNNING,KICKING,SINGING,HATING,SMOKING,COOKING | |
4110DATAHANDLE,CANDLE,SIMPLE,APPLE,FIDDLE,BOTTLE,MUDDLE | |
4120DATAKINDLY,SLOWLY,QUIETLY,HONESTLY,LOUDLY,POORLY,BRAVELY | |
4130DATAPUNISHMENT,INVOLVEMENT,MERRIMENT,ODDMENT,COMMENT,INSTRUMENT,RESENTMENT | |
4140DATAHOPELESS,RESTLESS,SPEECHLESS,ENDLESS,ILLNESS,FITNESS,DARKNESS | |
4150DATADOCTOR,ACTOR,RAZOR,MOTOR,MIRROR,TRACTOR,VISITOR | |
4160DATA RUMOUR,FLAVOUR,HARBOUR,HONOUR,COLOUR,SPLENDOUR,ARMOUR | |
4170DATA FAMOUS,NERVOUS,ENORMOUS,PRECIOUS,ENVIOUS,FURIOUS,SERIOUS | |
4180DATA PENSION,VISION,TELEVISION,COLLISION,ADMISSION,EXPLOSION,INVASION | |
4190DATA MENTION,PORTION,RELATION,STATION,POSITION,ADDITION,QUESTION | |
4200DATA CAPTURE,TORTURE,FUTURE,PICTURE,NATURE,PUNCTURE,TREASURE | |
4210DATA FOGGY,FUNNY,HOBBY,SUNNY,BAGGY,KINKY,BAGGY | |
4220DATA SLICE,CIGARETTE,POLICE,PENCIL,CIRCUS,BICYCLE,CEMENT | |
4230DATA WAGE,STRANGE,ORANGE,GENTLE,MAGIC,GINGER,GIPSY | |
4240DATA LAMB,BOMB,COMB,BOMBER,THUMB,CLIMB,DOUBT | |
4250DATA GNAT,GNASH,GNOME,GNAW,SIGN,DESIGN,GNU | |
4260DATA HIGH,NIGH,SIGH,THIGH,HIGHWAY,HIGHER,SIGHING | |
4270DATA RIGHT,SIGHT,NIGHT,TIGHT,FIGHT,BRIGHT | |
4280DATA BOUGHT,THOUGHT,FOUGHT,BROUGHT,TAUGHT,CAUGHT,NAUGHTY | |
4290DATA KNOT,KNIT,KNOW,KNIFE,KNEE,KNOCK,KNUCKLE | |
4300DATA WRAP,WREN,WRECK,WRIST,WRITE,WRONG,WRIGGLE | |
4310DATA HEDGE,EDGE,SLEDGE,BRIDGE,MIDGET,STODGE,SLUDGE | |
4320DATA WALK,CHALK,TALK,STALK,CALM,YOLK,FOLK | |
4330DATA FASTEN,LISTEN,CASTLE,RUSTLE,WHISTLE,THISTLE,WRESTLE | |
4340DATA ROGUE,TONGUE,LEAGUE,PLAGUE,VAGUE,GUITAR,GUEST | |
4350DATA PAIR,FAIR,CHAIR,HAIR,UNFAIR,STAIRS,FAIRY | |
4360DATA CARE,SHARE,SQUARE,BEWARE,SPARE,DARE,PREPARE | |
4370DATA BEER,STEER,CHEER,QUEER,JEER,STEERING,QUEERLY | |
4380DATA OAR,ROAR,SOAR,HOARD,BOARD,ABOARD,BLACKBOARD | |
4390DATA OUR,SOUR,FLOUR,HOUR,DOOR,MOOR,FLOOR | |
4400DATA SCORE,MORE,SHORE,STORE,SNORE,SWORE,RESTORE | |
4410DATA EAR,HEAR,YEAR,CLEAR,PEAR,WEAR,TEAR | |
4420DATA INSIDE,DISHCLOTH,AIRPORT,FOOTSTEP,SOMEHOW,YOURSELF,MIDNIGHT | |
4430DATA FISHERMAN,POLICEMAN,MOTORWAY,BLACKBERRY,DINNERTIME,TIMETABLE,EVERYONE | |
4440DATA UNTIL,MAGNET,CUSHION,PANIC,TABLET,PARAKEET,TRAFFIC | |
4450DATA ANIMAL,PRISONER,LEMONADE,CONDUCTOR,ASTRONAUT,HOSPITAL,EXPENSIVE | |
4460DATASTATIONARY,OVERTALKING,MACHINERY,BUDGERIGAR,ARITHMETIC,ACCELERATOR,COMPLETION | |
4470REM"----------------------------- | |
4480DEFPROCsummary | |
4490CLS | |
4500PRINT''"Summary of Word Lists" | |
4510PRINT'"List No. Rules Covered" | |
4520PRINT;"";STRING$(39,"_") | |
4530PRINT"1 to 6........Short Vowels" | |
4540PRINT"7.............b/d Reversals" | |
4550PRINT"8 to 16).....Double Consonants" | |
4560PRINT"22 to 26)" | |
4570PRINT"17 to 21......Magic ""e""" | |
4580PRINT"27 to 49......Vowel Digraphs" | |
4590PRINT"50............Sounds of ""y""" | |
4600PRINT"51 to 66......Prefixes" | |
4610PRINT"67 to 91......Suffixes" | |
4620PRINT"92 & 93.......Soft ""c"",""g""" | |
4630PRINT"94 to 104.....Silent Consonants" | |
4640PRINT"105 to 111....Vowels Modified by ""r""" | |
4650PRINT"112 to 116....Multisyllable Practice" | |
4660 PROCDB("SPACE_BAR to continue",7,23,133) | |
4670G=GET | |
4680ENDPROC | |
4690 | |
4700DEFPROClist | |
4710 ON ERROR GOTO300 | |
4720list=TRUE | |
4730VDU15 | |
4740CLS | |
4750PRINTTAB(0,3);"You can now:-" | |
4760PRINT'"PRESS ""E"" to Enter a New List." | |
4770PRINT'"PRESS ""L"" to Load a List from Tape." | |
4780REPEAT | |
4790press =FALSE | |
4800IF INKEY(-35) PROCenter:press=TRUE | |
4810IF INKEY(-87) PROCload:press=TRUE | |
4820UNTIL press | |
4830ON ERROR GOTO 310 | |
4840ENDPROC | |
4850 | |
4860DEFPROCenter | |
4870*FX15,1 | |
4880CLS | |
4890PROCWAIT(100) | |
4900PRINTTAB(0,3);"Write out each word andpress RETURN." | |
4910PRINT'"Max.20 words with no spaces or hyphensand max. length 11 letters.)" | |
4920print'"To end list, press RETURN by itself"'"";STRING$(39,"_") | |
4930num%=0 | |
4940REPEAT | |
4950PRINT"Word no. ";num%+1;":"; | |
4960INPUT""list$(num%+1) | |
4970IFlist$(num%+1)=""GOTO5060 | |
4980check$=list$(num%+1) | |
4990IF LEN(list$(num%+1))>11PRINT"No more than 11 letters long...":GOTO4950 | |
5000FORJ%=1TOLENlist$(num%+1) | |
5010IF ASC(check$)>96ANDASC(check$)<123list$(num%+1)=LEFT$(list$(num%+1),J%-1)+CHR$(ASC(check$)-32)+MID$(list$(num%-1),J%+1):GOTO5030 | |
5020IF ASC(check$)<65ORASC(check$)>90PRINT"NOT a valid word for STARSPELL...":J%=LENlist$(num%+1):GOTO5040 | |
5030check$=MID$(check$,2) | |
5040NEXT | |
5050IFcheck$>""GOTO4950 | |
5060num%=num%+1 | |
5070UNTILnum%>=20ORlist$(num%)="" | |
5080IFnum%<>20VDU11:num%=num%-1 | |
5090IFnum%=0PRINT"Let's have a proper list!":GOTO4930 | |
5100PRINT"";STRING$(38,"_")'"Press ""Y"" if OK, otherwise press ""N""" | |
5110 G$=GET$:IFG$<>"Y"ANDG$<>"y"ANDG$<>"N"ANDG$<>"n" GOTO 5110 | |
5120IFG$="N"ORG$="n"GOTO4880 | |
5130PRINT'"Press ""P"" to practise list, OR...." | |
5140PRINT'"Press ""S"" to SAVE list on tape first" | |
5150G$=GET$:IFG$<>"P"ANDG$<>"p"ANDG$<>"S"ANDG$<>"s" GOTO5150 | |
5160IFG$="S"ORG$="s"PROCsave | |
5170ENDPROC | |
5180DEFPROCsave | |
5190*FX15,1 | |
5200PRINT'"INPUT a NAME for List or just RETURN" | |
5210PROCWAIT(200) | |
5220INPUT'""name$:IFname$=""name$="WORDLIST" | |
5230X=OPENOUT(name$) | |
5240FORJ%=1TOnum% | |
5250PRINT£X.list$(J%) | |
5260NEXT | |
5270CLOSE£X | |
5280PRINT"DONE" | |
5290PROCWAIT(250) | |
5300ENDPROC | |
5310 | |
5320DEFPROCload | |
5330ON ERROR Off | |
5340PRINT'"INSERTcassette in your RECORDER" | |
5350*FX15,1 | |
5360PROCWAIT(200) | |
5370PRINT'"INPUTName of list or just pressRETURN" | |
5380name$="" | |
5390INPUT""name$ | |
5400num%=0 | |
5410X=OPENIN(name$) | |
5420REPEAT | |
5430INPUT£X,list$(num%+1) | |
5440PRINTlist$(num%+1) | |
5450num%=num%+1 | |
5460UNTIL EOF£X | |
5470CLOSE£X | |
5480PRINT'"";name$;" LOADED":PROCWAIT(num%*50+200) | |
5490ON ERROR GOTO 310 | |
5500ENDPROC | |
5520DEFPROCcopy | |
5530FORJ%=1TOnum% | |
5540w$(J%)=list$(J%) | |
5550NEXT | |
5560ENDPROC | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment