Games by Butch Weinberg.
Content
Source Code
5 REM Games by BUTCH 4/25/85 *= (YTS) Your TS/1000 & ZX81 By D. Hergert ,(BD) Byteing Deeper into your TS/1000 By M. Harrison (Hide & Seek) is Treasure Hunt. Mod.for TS/2068 By Butch Weinberg Lottery & Star Writen PLAY By BUTCH
10 FOR S=0 TO 2
20 FOR I=0 TO 7
30 READ G
40 POKE USR CHR$ (150+S)+I,G
50 NEXT I
60 NEXT S
70 DATA 84,84,84,124,124,124,16,16,0,68,40,16,16,84,56,16,24,90,36,60,255,36,66,129
80 BEEP .2,10: BORDER 0: PAPER 7: INK 0: CLS : PRINT AT 10,9; PAPER 2; INK 6; FLASH 1;"STOP THE TAPE"; FLASH 0: PAUSE 300: POKE 23617,0: POKE 23658,8
85 BORDER 4: CLS : PRINT '" In these games you will be"''" given a menue with a cursor >"''" which you can move up & down"''" with the arrows on the keyboard"''" When it points to the game you"''" want press S. For Lottery the"''" printer is used. Star Blaster"''" can use keyboard or joystick."''" PRESS ANY KEY"
87 IF INKEY$="" THEN GO TO 87
90 BORDER 1: CLS : LET N=4: PRINT AT 2,9;"GAMES BY BUTCH";AT 4,3;"Decision maker";AT 5,3;"Patience";AT 6,3;"Hide and seek";AT 7,3;"One armed bandit";AT 8,3;"Lottery # picker \u 9/84";AT 9,3;"Star blaster \u 4/85";AT 10,3;"QUIT";AT 12,2;"Move the marker with the";AT 14,2;"arrows on the keyboard # 6&7";AT 16,2;"to the game you want then";AT 18,2;"press (S) to start it."
100 LET N$=INKEY$
110 LET N=N-(1 AND INKEY$="7")+(1 AND INKEY$="6")
120 IF N<=4 THEN LET N=4
130 IF N>=10 THEN LET N=10
140 PRINT AT N,2;">": PAUSE 30: PRINT AT N,2;" "
150 IF N$="S" AND N=4 THEN RUN 230
160 IF N$="S" AND N=5 THEN RUN 540
170 IF N$="S" AND N=6 THEN RUN 860
180 IF N$="S" AND N=7 THEN RUN 1130
190 IF N$="S" AND N=8 THEN RUN 1430
200 IF N$="S" AND N=9 THEN RUN 1860
210 IF N$="S" AND N=10 THEN GO TO 2500
215 IF N$="Z" THEN GO TO 2460
220 GO TO 100
230 BORDER 3: CLS : PRINT AT 1,9; PAPER 6; INK 1;"DECISION MAKER"'' PAPER 7; INK 0;" In this game you will ask"''" the computer a question."''" It will only give a 1 word"''" answer. So your question must"''" be a can,will,could,should"''" type question."''" So have a good time."''' INK 2;" Press any key."
240 IF INKEY$="" THEN GO TO 240
250 CLS : PRINT '''''" What is your name?"''" Type first name, press ENTER"
252 INPUT N$
253 IF N$="" THEN GO TO 252
256 PRINT ''" Ok ";N$''" to start Press any key.": FOR E=1 TO 60: NEXT E
260 IF INKEY$="" THEN GO TO 260
270 BORDER 1: CLS
275 ON ERR GO TO 90
280 LET A$=" YES NO PERHAPS DEFINITELY WHY NOT? ASK AGAIN."
290 FOR x=0 TO 31
300 PRINT AT 0,x; INK 4;"*";AT 21,x;"*": BEEP .02,X
310 NEXT x
320 FOR y=0 TO 21
330 PRINT AT y,0; INK 4;"*";AT y,31;"*": BEEP .02,Y
340 NEXT y
350 PRINT AT 13,9; PAPER 6; INK 1;"DECISION MAKER"
360 FOR X=8 TO 22
370 PRINT AT 5,X; INK 3;"#";AT 10,X;"#": BEEP .02,X
380 NEXT X
390 FOR Y=5 TO 10
400 PRINT AT Y,8; INK 3;"#";AT Y,22;"#": BEEP .02,Y
410 NEXT Y
420 PRINT AT 17,7;"ASK YOUR QUESTION";AT 19,INT (31-LEN n$)/2;N$: FOR E=1 TO 5: BEEP .05,E: NEXT E: PAUSE 100: PRINT AT 17,7;" ";AT 19,10;" "
430 INPUT Q$
440 IF Q$="" THEN GO TO 430
445 IF LEN Q$>30 THEN LET R$=Q$(31 TO ): LET Q$=Q$( TO 30)
447 IF LEN Q$<=30 THEN LET R$=" "
450 PRINT AT 2,INT (31-LEN Q$)/2;Q$;AT 4,1;R$
480 LET R=10*INT (RND*6)+1
490 PRINT AT 6,11;A$(R TO R+9);AT 8,11;N$: FOR E=1 TO 8: BEEP .02,E*3: NEXT E
500 PRINT AT 16,10;"Try Again?";AT 18,10;"Touch Y/N"
510 IF INKEY$="" THEN GO TO 510
520 IF INKEY$="Y" OR INKEY$="y" THEN FOR E=1 TO 60: NEXT E: RUN 250
530 IF INKEY$="N" OR INKEY$="n" THEN BORDER 7: RUN 90
535 IF INKEY$<>"N" OR INKEY$<>"N" OR INKEY$<>"Y" OR INKEY$<>"Y" THEN GO TO 510
540 RANDOMIZE
550 LET S=99: LET S$="NONE"
560 CLS
570 BORDER 5: CLS : GO SUB 790: PRINT AT 4,11; PAPER 6; INK 2;"PATIENCE";AT 7,4; PAPER 7; INK 1;"Hy what is your name?"
575 ON ERR GO TO 90
580 INPUT N$: PRINT ''TAB (30-LEN N$)/2;N$: FOR E=1 TO 120: NEXT E: BEEP .02,2: BEEP .02,4: BEEP .02,6
590 CLS : GO SUB 790: PRINT AT 4,11; PAPER 6; INK 2;"PATIENCE";AT 6,2; PAPER 7; INK 0;"Sub. # from 9's to get 0's";AT 7,2;"USE 0 TO PASS ";N$;AT 15,4;"Best score ";S;" ";S$
595 ON ERR GO TO 90
600 LET A$="999999999": LET A=48: LET M=0
610 LET R=INT (1+RND*RND*9)
620 PRINT AT 9,12;"123456789";AT 11,12;A$;AT 13,16; INK 2;R: BEEP .02,20: BEEP .02,10
630 IF A$="000000000" THEN BEEP .15,6: BEEP .15,9: BEEP .15,12: BEEP .25,17: BEEP .15,12: BEEP .15,17: GO TO 730
640 IF A<48 THEN BEEP .5,-10: BEEP 1,-20: GO TO 730
650 PAUSE 40000
660 LET M=M+1
670 LET P=CODE INKEY$-48
680 IF P<0 OR P>9 THEN GO TO 670
690 IF P=0 THEN GO TO 610
700 LET A=CODE A$(P)-R
710 LET A$(P)=(CHR$ A AND A>=48)+("*" AND A<48)
720 GO TO 610
730 PRINT AT 18,2;"Number of moves ";N$;" ";M;AT 20,5;"Try again? Y/N"
740 IF M<S AND A$="000000000" THEN LET S$=N$: LET S=M
750 IF INKEY$="" THEN GO TO 750
760 IF INKEY$="Y" OR INKEY$="y" THEN GO TO 570
770 IF INKEY$="N" OR INKEY$="n" THEN BORDER 7: RUN 90
780 IF INKEY$<>"Y" OR INKEY$<>"y" OR INKEY$<>"N" OR INKEY$<>"n" THEN GO TO 750
790 FOR X=0 TO 31
800 PRINT AT 0,X; INK 1;"*";AT 21,X;"*": BEEP .02,X
810 NEXT X
820 FOR Y=0 TO 21
830 PRINT AT Y,0; INK 1;"*";AT Y,31;"*": BEEP .02,Y
840 NEXT Y
850 RETURN
860 BORDER 3: CLS : PRINT AT 1,8; PAPER 6; INK 1;"HYDE AND SEEK";AT 3,1; PAPER 7; INK 0;"The object is to find me"''"by inputing a letter & a number"''"of the spot you think I am at."'''''" TOUCH ANY KEY"
870 IF INKEY$="" THEN GO TO 870
880 BORDER 0: CLS : RANDOMIZE
885 DIM B$(2): ON ERR GO TO 90
890 LET X1=INT (RND*10)
900 LET Y1=INT (RND*10)
910 PRINT
920 FOR I=1 TO 10
930 PRINT 10-I; PAPER 3;" "
940 NEXT I
950 PRINT " ABCDEFGHIJ"
960 PRINT AT 3,25;"N";AT 5,22;"W";AT 5,28;"E";AT 7,25;"S"
970 POKE 23617,0: POKE 23658,8
980 INPUT "LETTER "; LINE B$(1): INPUT "NUMBER "; LINE B$(2)
990 LET X=CODE B$(1)-65
1000 LET Y=CODE B$(2)-48
1010 LET D$=(" NORTH" AND Y1>Y)+(" SOUTH" AND Y1<Y)+(" EAST" AND X1>X)+(" WEST" AND X1<X)+(" ````" AND (X1=X AND Y1=Y))
1020 PRINT AT 13,0;B$;D$;" "
1030 PRINT AT 10-Y,X+1;"*": BEEP .5,X+1
1040 IF D$(2)="`" THEN BEEP .15,6: BEEP .15,9: BEEP .15,12: BEEP .25,17: BEEP .15,12: BEEP .15,17: GO TO 1080
1050 INPUT "LETTER "; LINE B$(1): INPUT "NUMBER "; LINE B$(2)
1060 PRINT AT 10-Y,X+1;" "
1070 GO TO 990
1080 PRINT AT 17,5;"Try again? Y/N"
1090 IF INKEY$="" THEN GO TO 1090
1100 IF INKEY$="Y" THEN RUN 880
1110 IF INKEY$="N" THEN BORDER 7: RUN 90
1120 IF INKEY$<>"Y" OR INKEY$<>"N" THEN GO TO 1090
1130 BORDER 4: CLS : PRINT AT 2,7; PAPER 6; INK 1;"ONE ARMED BANDIT"; PAPER 7; INK 1;AT 10,5;"Who will be playing?"
1140 INPUT P$: PRINT '''TAB INT (30-LEN P$)/2;P$: PAUSE 200
1150 BORDER 3: CLS : PRINT AT 2,7; PAPER 6; INK 1;"ONE ARMED BANDIT"
1160 RANDOMIZE
1170 LET S=500
1180 LET Q=9999
1185 ON ERR GO TO 90
1190 LET A$=" 0Z80 SILVERCHERRYORANGECASTLEKNIGHT GOLD "
1200 FOR J=3 TO 28
1210 PRINT AT 10,J;"\::"
1220 PRINT AT 11,J;"\::"
1230 PRINT AT 12,J;"\::"
1240 BEEP .02,J
1250 NEXT J
1260 PRINT AT 4,2;"Place your bet 5, 10, or 25";AT 6,8;"Use Q to quit"
1270 IF S<=0 THEN GO TO 1410
1280 INPUT M
1290 IF M=9999 THEN GO TO 1410
1300 PRINT AT 4,2;" ";AT 6,8;" "
1310 PRINT AT 4,7;"Bet ";M;" ";P$
1320 LET S=S-M
1330 DIM B$(3,6)
1340 FOR J=1 TO 3
1350 LET B$(J)=A$(1+6*INT (RND*7) TO 42)
1360 PRINT AT 11,9*J-5; INK 2;B$(J): BEEP .05,9*J-5
1370 NEXT J
1380 LET S=S+(M*2 AND B$(1)=B$(2))+(M*2 AND B$(1)=B$(3))+(M*2 AND B$(2)=B$(3))
1390 PRINT AT 15,7;" "
1400 PRINT AT 15,7;"CREDIT ";S;" ";P$: PAUSE 300: GO TO 1200
1410 CLS : PRINT AT 2,7; PAPER 6; INK 1;"ONE ARMED BANDIT";AT 10,10; PAPER 7; INK 0;"OK ";P$;AT 12,10; FLASH 1; INK 2;"GAME OVER"; FLASH 0;AT 14,6; INK 0;"I hope you had fun";AT 16,6;"See you again soon!"
1420 PAUSE 300: BORDER 7: RUN 90
1430 REM Writen by S.J.(BUTCH) Weinberg 9/5/1984 for T/S 2068
1440 BORDER 1: CLS : PRINT ' INK 4;" LOTTERY NUMBER RANDOM PICKER"'' INK 0;" \u S.J.(BUTCH) Weinberg 9/5/84"''"You will be asked a series"''"of questions. After you answer"''"the questions (Press the"''"letter or number then ENTER)."''"The computer will do the rest."'''" TOUCH A KEY"
1450 IF INKEY$="" THEN GO TO 1450
1460 CLS : BORDER 1: PRINT ' INK 4;"LOTTERY NUMBER RANDOM PICKER"'' INK 0;"How many sets Would you like? "'"Max. of ten ";: LET W=331
1465 ON ERR GO TO 90
1470 INPUT S: PRINT S: IF S>10 THEN GO TO 1470
1480 PRINT '"How many numbers per set? "'"Max. of six. ";: INPUT N: PRINT N: IF N>6 THEN GO TO 1480
1490 PRINT '"What is the top number? ";: INPUT TT: PRINT TT: LET W=W+30
1500 PRINT '"Do you want 0s? Y/N ";: INPUT O$: PRINT O$: LET W=W-4881
1510 IF O$="Y" OR O$="y" THEN LET O=0
1520 IF O$="N" OR O$="n" THEN LET O=1
1530 PRINT '"Do you want hard copy? Y/N ";: INPUT H$: PRINT H$
1540 IF H$="Y" OR H$="y" THEN LET H=2
1550 IF H$="N" OR H$="n" THEN LET H=1
1560 PAUSE 300: BORDER 6: CLS
1570 FOR P=1 TO S
1575 LET T=TT
1580 LET A=INT (RND*T)+O
1590 LET B=INT (RND*T)+O
1600 IF N>4 AND B=A THEN GO TO 1590
1610 LET C=INT (RND*T)+O
1620 IF N>4 AND C=B OR C=A THEN GO TO 1610
1630 LET D=INT (RND*T)+O
1640 IF N>4 AND D=C OR D=B OR D=A THEN GO TO 1630
1650 LET E=INT (RND*T)+O
1660 IF N>4 AND E=D OR E=C OR E=B OR E=A THEN GO TO 1650
1670 LET F=INT (RND*T)+O
1680 IF N>4 AND F=E OR F=D OR F=C OR F=B OR F=A THEN GO TO 1670
1690 IF N=1 THEN PRINT 'A
1700 IF N=2 THEN PRINT 'A;" ";B
1710 IF N=3 THEN PRINT 'A;" ";B;" ";C
1720 IF N=4 THEN PRINT 'A;" ";B;" ";C;" ";D
1730 IF N=5 THEN PRINT 'A;" ";B;" ";C;" ";D;" ";E
1740 IF N=6 THEN PRINT 'A;" ";B;" ";C;" ";D;" ";E;" ";F
1750 NEXT P
1760 IF H=2 THEN COPY
1770 PAUSE 500
1780 CLS : PRINT ''''"Would you like some more # ???"''"Touch Y for Yes N for No": FOR T=1 TO 10: NEXT T
1790 IF INKEY$="" THEN GO TO 1790
1800 IF INKEY$="Y" OR INKEY$="y" THEN FOR T=1 TO 20: NEXT T: GO TO 1820
1810 IF INKEY$="N" OR INKEY$="n" THEN BORDER 7: RUN 90
1820 PRINT '''"Will the factors be the same?"
1830 IF INKEY$="" THEN GO TO 1830
1840 IF INKEY$="Y" OR INKEY$="y" THEN FOR T=1 TO 20: NEXT T: GO TO 1560
1850 IF INKEY$="N" OR INKEY$="n" THEN RUN 1460
1855 IF INKEY$<>"Y" OR INKEY$<>"N" THEN GO TO 1830
1860 REM Star Blaster PLAY By S.J.(BUTCH) Weinberg 4/85
1870 BORDER 4: INK 0: CLS : PRINT ''"So you want to destroy"''"alien bad guys!!"''"Well now you will have a chance."''"You will be the space ship \g"''"at the top of the screen"''"& you can only move left & right"''"BUT you can shoot the bad guys."''"As you travel through space"''"you will be safe from the stars."''TAB 10;"TOUCH ANY KEY"
1880 FOR E=1 TO 3: BEEP .05,E: NEXT E
1890 IF INKEY$="" THEN GO TO 1890
1900 CLS : PRINT ''"But the bad guys \i are"''"dangerous to you, if they"''"touch you they cause damage"''"or destroy you."''"But if you shoot them you"''"score points 10 yellow 20 red."''"It will cost you 5 for each"''"shot and you have only 50."''TAB 10;"TOUCH ANY KEY"
1910 FOR E=1 TO 3: BEEP .05,E: NEXT E
1920 IF INKEY$="" THEN GO TO 1920
1930 CLS : PRINT '"You will have a choice!"''"Keyboard arrows for L/R & F"''"to fire. Or the JOYSTICK"''"(BUTTON TO FIRE)."''"The computer will keep track"''" of who has the best score."''"So good luck & good shoting."'''TAB 10;"TOUCH ANY KEY"
1940 FOR E=1 TO 3: BEEP .05,E: NEXT E
1950 IF INKEY$="" THEN GO TO 1950
1960 BORDER 4: LET W=331: CLS : PRINT ''TAB 10; PAPER 6; INK 2;"STAR BLASTER"'' PAPER 7; INK 1;" \u S.J.(BUTCH) Weinberg 4/85"'' INK 0;"What is your first name?"''"Type name then press ENTER.": INPUT N$: PRINT 'TAB (32-LEN N$)/2;N$
1965 ON ERR GO TO 90
1970 LET W=W+30: LET NA=LEN N$: LET BS=PEEK 61000*10/2: LET B=PEEK 61005: PRINT 'TAB 7;"Do you want to use."''TAB 7;"1. Joystick"''TAB 7;"2. Keyboard arrows"''"Press # then ENTER": INPUT ST
1980 IF ST=1 THEN PRINT '"You will be using the joystick."''" Best score ";BS;" By ";: FOR B=0 TO (B-1): PRINT CHR$ PEEK (61010+B);: NEXT B: PAUSE 300: GO TO 2000
1990 IF ST=2 THEN PRINT '"You will be using the arrows"''"Best score ";BS;" By ";: FOR B=0 TO (B-1): PRINT CHR$ PEEK (61010+B);: NEXT B: PAUSE 300: GO TO 2000
2000 FOR E=1 TO 5: BEEP .05,15: NEXT E: BORDER 1: PAPER 5: BRIGHT 1: CLS
2010 LET M=15: LET P=1: LET AR=50: LET SC=0: LET DA=0: LET D=0
2020 BORDER 1: POKE 23692,255: LET T=INT (RND*10)
2030 IF P=1 THEN GO SUB 2090: GO SUB 2200
2040 IF P=2 THEN GO SUB 2080: GO SUB 2200
2050 IF T=5 THEN GO SUB 2100: GO SUB 2200
2060 IF T=7 THEN GO SUB 2120: GO SUB 2200
2070 GO TO 2020
2080 PRINT AT 21,INT (RND*32); INK 1;"."'': LET P=1: RETURN
2090 PRINT AT 21,INT (RND*32); INK 3;"*"'': LET P=2: RETURN
2100 PRINT AT 21,INT (RND*19)+1; INK 6;"\i": BEEP .05,10
2110 RETURN
2120 PRINT AT 21,INT (RND*19)+1; INK 2;"\i": BEEP .05,20
2130 RETURN
2140 FOR Q=1 TO 16
2150 IF ATTR (Q,M)=110 THEN LET SC=SC+10: PRINT AT Q,M;" ": RETURN
2160 IF ATTR (Q,M)=106 THEN LET SC=SC+20: PRINT AT Q,M;" ": RETURN
2170 PRINT AT Q,M;"\h": BEEP .05,30
2180 PRINT AT Q,M;" ": NEXT Q: LET J=0
2190 RETURN
2200 IF ATTR (0,M)=106 OR ATTR (0,M)=110 THEN LET D=1
2210 IF DA=3 THEN BORDER 2: BRIGHT 0: PAPER 7: INK 0: CLS : PRINT '''"YOU HAVE FINALY TAKEN A FATAL"''"HIT TO YOUR SHIP."''"YOUR FINAL SCORE ";SC: FOR E=1 TO 10: BEEP .05,-10: NEXT E
2220 IF DA=3 AND SC>BS THEN GO SUB 2430
2230 IF DA=3 THEN PRINT ''"Best score ";PEEK 61000*10/2;" By ";: FOR S=0 TO (PEEK 61005)-1: PRINT CHR$ PEEK (61010+S);: NEXT S: PRINT '''"TRY AGAIN? TOUCH Y/N": GO TO 2390
2240 IF D=1 THEN GO TO 2380
2250 IF ST=2 THEN LET M=M+(1 AND INKEY$="8")-(1 AND INKEY$="5")
2260 IF ST=1 THEN LET M=M+(1 AND |(1,1)=8)-(1 AND |(1,1)=4)
2270 IF M>31 THEN LET M=1
2280 IF M<1 THEN LET M=31
2290 PRINT AT 0,M;"\g"
2300 IF ST=2 THEN LET J=(1 AND INKEY$="F" OR INKEY$="f")
2310 IF ST=1 THEN LET J=(1 AND |(2,1)=1)
2320 IF J=1 THEN GO SUB 2140: LET AR=AR-1: LET SC=SC-5
2330 IF AR=0 THEN GO TO 2350
2340 RETURN
2350 BORDER 2: BRIGHT 0: CLS : PRINT '''"You have run out of amo."''"Your score is ";SC: FOR O=1 TO 10: BEEP .05,30: BEEP .05,15: NEXT O
2360 IF SC>BS THEN GO SUB 2430
2370 PRINT ''"Best score ";PEEK 61000*10/2;" By ";: FOR S=0 TO (PEEK 61005)-1: PRINT CHR$ PEEK (61010+S);: NEXT S: PRINT '''"TRY AGAIN? TOUCH Y/N": GO TO 2390
2380 BORDER 2: CLS : PRINT '''"YOU HAVE BEEN DAMAGED BUT"''"NOT ENOUGH TO DESTROY YOUR"''"SHIP. YOUR SCORE SO FAR ";SC''"SHOTS LEFT ";AR: LET DA=DA+1: LET D=0: BEEP .25,-10: BEEP .5,-20: FOR E=1 TO 240: NEXT E: CLS : GO TO 2020
2390 IF INKEY$="" THEN GO TO 2390
2400 IF INKEY$="Y" OR INKEY$="y" THEN RUN 1960
2410 IF INKEY$="N" OR INKEY$="n" THEN LET W=W-4881: BEEP .20,17: BEEP .20,17: BEEP .20,17: BEEP .15,5: BEEP .20,14: BEEP .20,10: BORDER 7: PAPER 7: BRIGHT 0: INK 0: RUN 90
2420 IF INKEY$<>"Y" OR INKEY$<>"y" OR INKEY$<>"N" OR INKEY$<>"n" THEN GO TO 2390
2430 POKE 61000,(SC*2)/10: POKE 61005,NA
2440 FOR N=0 TO (NA-1): POKE (61010+N),CODE (N$(N+1)): NEXT N
2450 RETURN
2500 STOP
9997 STOP
9998 SAVE "GAMES" LINE 1