Games

Developer(s): Butch Weinberg
Date: 1985
Type: Program
Platform(s): TS 2068

Games by Butch Weinberg.

Appears on

Gallery

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
Scroll to Top