diff --git a/dec/BOXING.BAS b/dec/BOXING.BAS new file mode 100644 index 0000000..61bed61 --- /dev/null +++ b/dec/BOXING.BAS @@ -0,0 +1,143 @@ +00001 REM PROGRAM SUBMITTED BY JESSE LYNCH, ST.PAUL, MN. +00002 J=0 +00003 L=0 +00005 PRINT "OLYMPIC BOXING -- 3 ROUNDS" +00007 PRINT +00010 PRINT "INPUT YOUR OPPONENT'S NAME" +00020 INPUT J$ +00030 PRINT "INPUT YOUR MAN'S NAME" +00040 INPUT L$ +00045 PRINT +00050 PRINT "DIFFERENT PUNCHES ARE 1 FULL SWING 2 HOOK 3 UPPERCUT 4 JAB" +00060 PRINT "WHAT IS YOUR MANS BEST"; +00064 INPUT B +00070 PRINT "AND WHAT IS HIS VULNERABILITY"; +00080 INPUT D +00085 PRINT +00090 B1=INT(4*RND+1) +00100 D1=INT(4*RND+1) +00110 IF B1=D1 THEN 90 +00120 PRINT J$" ADVANTAGE IS "B1 " AND DISADVANTAGE IS SECRET" +00130 FOR R=1 TO 3 +00140 IF J>= 2 THEN 1040 +00150 IF L>=2 THEN 1060 +00160 X=0 +00170 Y=0 +00175 PRINT +00180 PRINT "ROUND "R" BEGINS..." +00181 PRINT "" +00185 FOR R1= 1 TO 7 +00190 I=INT(10 *RND+1) +00200 IF I>5 THEN 600 +00210 PRINT L$ "'S PUNCH"; +00220 INPUT P +00221 IF P=B THEN 225 +00222 GO TO 230 +00225 X=X+2 +00230 IF P=1 THEN 340 +00240 IF P=2 THEN 450 +00250 IF P=3 THEN 520 +00270 PRINT L$ "JABS AT "J$"S HEAD "; +00271 IF D1=4 THEN 290 +00275 C=INT(8*RND+1) +00280 IF C<4 THEN 310 +00290 X=X+3 +00300 GO TO 950 +00310 PRINT "ITS BLOCKED" +00330 GO TO 950 +00340 PRINT L$ " SWINGS AND "; +00341 IF D1=4 THEN 410 +00345 X3 =INT(30 *RND+1) +00350 IF X3<10 THEN 410 +00360 PRINT " HE MISSES "; +00375 IF X=1 THEN 950 +00380 PRINT +00390 PRINT +00400 GO TO 300 +00410 PRINT "HE CONNECTS!" +00420 IF X>35 THEN 980 +00425 X=X+15 +00440 GO TO 300 +00450 PRINT L$ "GIVES THE HOOK "; +00455 IF D1=2 THEN 480 +00460 H1 =INT(2*RND+1) +00470 IF H1=1 THEN 500 +00475 PRINT "CONNECTS..." +00480 X=X+7 +00490 GO TO 300 +00500 PRINT "BUT IT'S BLOCKED !!!!!!!!!!" +00510 GO TO 300 +00520 PRINT L$ " TRIES AN UPPERCUT "; +00530 IF D1=3 THEN 570 +00540 D5=INT(100*RND+1) +00550 IF D5<51 THEN 570 +00560 PRINT "AND IT'S BLOCKED (LUCKY BLOCK!)" +00565 GO TO 300 +00570 PRINT "AND HE CONNECTS!" +00580 X=X+4 +00590 GO TO 300 +00600 J7=INT(4*RND+1) +00601 IF J7 =B1 THEN 605 +00602 GO TO 610 +00605 Y=Y+2 +00610 IF J7=1 THEN 720 +00620 IF J7=2 THEN 810 +00630 IF J7 =3 THEN 860 +00640 PRINT J$" JABS AND"; +00645 IF D=4 THEN 700 +00650 Z4 =INT(7*RND+1) +00655 IF Z4>4 THEN 690 +00660 PRINT " IT'S BLOCKED !" +00670 GO TO 300 +00690 PRINT " BLOOD SPILLS !!!" +00700 Y=Y+5 +00710 GO TO 300 +00720 PRINT J$" TAKES A FULL SWING AND"; +00730 IF D=1 THEN 770 +00740 R6=INT(60*RND+1) +00745 IF R6 <30 THEN 770 +00750 PRINT " BUT IT'S BLOCKED !" +00760 GO TO 300 +00770 PRINT " POW!!!!! HE HITS HIM RIGHT IN THE FACE!" +00780 IF Y>35 THEN 1010 +00790 Y=Y+15 +00800 GO TO 300 +00810 PRINT J$" GETS "L$" IN THE JAW (OUCH!)" +00820 Y=Y+7 +00830 PRINT "....AND AGAIN!" +00835 Y=Y+5 +00840 IF Y>35 THEN 1010 +00850 PRINT +00860 PRINT L$ " IS ATTACKED BY AN UPPERCUT (OH, OH)..." +00865 IF D=3 THEN 890 +00870 Q4=INT(200*RND+1) +00880 IF Q4>75 THEN 920 +00890 PRINT " AND "J$" CONNECTS..." +00900 Y=Y+8 +00910 GO TO 300 +00920 PRINT " BLOCKS AND HITS "J$" WITH A HOOK." +00930 X=X+5 +00940 GO TO 300 +00950 NEXT R1 +00951 IF X>Y THEN 955 +00952 PRINT J$ " WINS ROUND "R +00953 J=J+1 +00954 GO TO 960 +00955 PRINT L$ " WINS ROUND "R +00956 L=L+1 +00960 NEXT R +00961 IF J>= 2 THEN 1040 +00962 IF L>=2 THEN 1060 +00980 PRINT J$ " IS KNOCKED COLD AND " L$" IS THE WINNER AND CHAMP "; +01000 GO TO 1080 +01010 PRINT L$ " IS KNOCKED COLD AND " J$" IS THE WINNER AND CHAMP "; +01030 GO TO 1000 +01040 PRINT J$ " WINS (NICE GOING )" J$ +01050 GO TO 1000 +01060 PRINT L$ " AMAZINGLY WINS " +01070 GO TO 1000 +01080 PRINT +01085 PRINT +01090 PRINT "AND NOW GOODBYE FROM THE OLYMPIC ARNEA." +01100 PRINT +01110 END diff --git a/dec/HELLO.BAS b/dec/HELLO.BAS new file mode 100644 index 0000000..10a0807 --- /dev/null +++ b/dec/HELLO.BAS @@ -0,0 +1,90 @@ + 5 GOT 400 + 10 PRINT "HELLO, I'M AN EDUSYSTEM-25. MY NAME IS PETEY P. EIGHT." + 20 PRI\PRI "WHAT'S YOUR NAME";\LINPUT A$\PRI + 35 PRI " HI THERE ";\GOSUB500\PRI". ARE YOU ENJOYING YOURSELF HERE + 40 PRI "IN BEAUTIFUL MAYNARD, MASS"; + 45 INP B$\PRI + 50 IF B$="YES" THEN 70 + 55 IF B$="NO" THEN 80 + 60 PRI " ";\GOSUB500\PRI", I DON'T UNDERSTAND YOUR ANSWER OF '"B$"'." + 65 PRI "PLEASE ANSWER 'YES' OR 'NO'. DO YOU LIKE IT HERE + 67 GOT 40 + 70 PRI "OH, I'M GALD TO HERE THAT ";\GOSUB500\PRI + 75 GOT 100 + 80 PRI "OH, SORRY TO HEAR THAT ";\GOSUB 500\PRI ", MAYBE WE CAN + 85 PRI "BRIGHTEN UP YOUR STAY A BIT + 100 PRI + 105 PRI "SAY, ";\GOSUB500\PRI", I CAN SOLVE ALL KINDS OF PROBLEMS + 110 PRI "EXCEPT THOSE DEALING WITH GREECE. WHAT KIND OF + 115 PRI "PROBLEMS DO YOU HAVE (ANSWER SEX, HEALTH, MONEY, + 120 PRI "OR JOB)"; + 125 INP C$\PRI + 130 IF C$="SEX" THEN 200 + 132 IF C$="HEALTH" THEN 180 + 134 IF C$="MONEY" THEN 160 + 136 IF C$="JOB" THEN 145 + 138 PRI "OH, ";\GOSUB500\PRI", YOUR ANSWER OF '"C$"' IS GREEK TO ME." + 140 GOT 250 + 145 PRI "I CAN SYMPATHIZE WITH YOU ";\GOSUB500\PRI". I HAVE TO WORK + 148 PRI "VERY LONG HOURS FOR NO PAY -- AND SOME OF MY BOSSES REALLY + 150 PRI"BEAT MY KEYBOARD. MY ADVICE TO YOU ";\GOSUB500\PRI", IS TO SELL + 153 PRI "IN THE EDUCATION MARKET. IT'S GREAT FUN. + 155 GOT 250 + 160 PRI "SORRY, ";\GOSUB500\PRI", I'M BROKE TOO. WHY DON'T YOU SELL + 163 PRI "ENCYCLOPAEDIAS OR MARRY SOMEONE RICH OR STOP EATING + 165 PRI "SO YOU WON'T NEED SO MUCH MONEY? + 170 GOT 250 + 180 PRI "MY ADVICE TO YOU ";\GOSUB500\PRI", IS: + 185 PRI " 1. TAKE TWO ASPRIN + 188 PRI " 2. DRINK PLENTY OF FLUIDS (ORANGE JUICE, NOT BEER!) + 190 PRI " 3. GO TO BED (ALONE) + 195 GOT 250 + 200 PRI "IS YOUR PROBLEM TOO MUCH OR TOO LITTLE"; + 205 INP D$\PRI + 210 IF D$="TOO MU" THEN 220 + 213 IF D$="TOO LI" THEN 230 + 215 PRI "DON'T GET ALL SHOOK ";\GOS 500\PRI ",JUST ANSWER THE QUESTION + 217 PRI "WITH 'TOO MUCH' OR 'TOO LITTLE'. WHICH IS IT"; + 218 GOT 205 + 220 PRI "YOU CALL THAT A PROBLEM?!! I SHOULD HAVE SUCH PROBLEMS! + 225 PRI "IF IT BOTHERS YOU, TAKE A COLD SHOWER ";\GOSUB500\PRI"." + 228 GOT 250 + 230 PRI "WHY ARE YOU HERE ";\GOSUB500\PRI"? YOU SHOULD BE + 235 PRI "IN TOKYO OR NEW YORK OR AMSTERDAM OR SOMEPLACE WITH SOME + 240 PRI "REAL ACTION. + 250 PRI + 255 PRI "ANY MORE PROBLEMS YOU WANT SOLVED, ";\GOSUB500\PRI; + 260 INP E$\PRI + 270 IF E$="YES" THEN 280 + 273 IF E$="NO" THEN 300 + 275 PRI "JUST A SIMPLE 'YES' OR 'NO' PLEASE, ";\GOSUB500\PRI"." + 278 GOT 255 + 280 PRI "WHAT KIND (SEX, MONEY, HEALTH, JOB)"; + 285 GOT 125 + 300 PRI + 302 PRI "THAT WILL BE $5.00 FOR THE ADVICE, ";\GOSUB500\PRI"." + 305 PRI "PLEASE LEAVE THE MONEY ON THE TERMINAL. " + 307 PRI\PRI\PRI + 310 PRI "DID YOU LEAVE THE MONEY"; + 315 INP G$\PRI + 325 IF G$="YES" THEN 350 + 330 IF G$="NO" THEN 370 + 335 PRI "YOUR ANSWER OF '"G$"' CONFUSES ME, ";\GOSUB500\PRI". PLEASE + 340 PRI "RESPOND WITH A 'YES' OR 'NO'. + 345 GOT 310 + 350 PRI "HEY, ";\GOSUB500\PRI"??? YOU LEFT NO MONEY AT ALL! + 355 PRI "YOU ARE CHEATING ME OUT OF MY HARD-EARNED LIVING. + 360 PRI "RIP OFF, ";\GOSUB500\PRI". *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* + 365 GOT 390 + 370 PRI "THAT'S HONEST, ";\GOSUB500\PRI", BUT HOW DO YOU EXPECT + 375 PRI "ME TO GO ON WITH MY PSYCHOLOGY STUDIES IF MY PATIENTS DON'T + 380 PRI "PAY THEIR BILLS? + 385 PRI\PRI\PRI "NOW LET ME TALK TO SOMEONE ELSE. + 390 PRI "NICE MEETING YOU ";\GOS 500\PRI ". HAVE A NICE DAY!! + 400 FOR N=1 TO 7 + 402 PRI + 405 NEX N + 410 GOT 10 + 500 T=A$(0)\FOR I=1 TO INT(T/6+1)\PRINT A$(I);\NEXT I + 510 RETURN + 999 END diff --git a/dec/HI-Q.BAS b/dec/HI-Q.BAS new file mode 100644 index 0000000..45e8a36 --- /dev/null +++ b/dec/HI-Q.BAS @@ -0,0 +1,132 @@ +3 DIM B(70),T(9,9) +4 PRINT "THIS IS THE GAME OF HI-Q"\PRINT "HERE IS THE BOARD"\PRINT +5 PRINT " ! ! !" +6 PRINT " 13 14 15"\PRINT +7 PRINT " ! ! !" +8 PRINT " 22 23 24"\PRINT +9 PRINT "! ! ! ! ! ! !" +10 PRINT "29 30 31 32 33 34 35"\PRINT +11 PRINT "! ! ! ! ! ! !" +12 PRINT "38 39 40 41 42 43 44"\PRINT +13 PRINT "! ! ! ! ! ! !" +14 PRINT "47 48 49 50 51 52 53"\PRINT +15 PRINT " ! ! !" +16 PRINT " 58 59 60"\PRINT +17 PRINT " ! ! !" +18 PRINT " 67 68 69"\PRINT +22 PRINT "TO SAVE TYPING TIME, A COMPRESSED VERSION OF THE GAME BOARD" +23 PRINT "WILL BE USED DURING PLAY. REFER TO THE ABOVE ONE FOR PEG" +24 PRINT "NUMBERS. O.K., LET'S BEGIN..." +28 REM *** SET UP BOARD +29 FOR R=1 TO 9 +30 FOR C=1 TO 9 +31 IF (R-4)*(R-5)*(R-6)=0 THEN 40 +32 IF (C-4)*(C-5)*(C-6)=0 THEN 40 +35 T(R,C)=-5 +36 GOTO 50 +40 IF (R-1)*(C-1)*(R-9)*(C-9)=0 THEN 35 +42 T(R,C)=5 +50 NEXT C +60 NEXT R +65 T(5,5)=0\GOSUB 500 +70 REM *** INPUT MOVE AND CHECK ON LEGALITY +75 FOR W=1 TO 33 +77 READ M +79 DATA 13,14,15,22,23,24,29,30,31,32,33,34,35,38,39,40,41 +81 DATA 42,43,44,47,48,49,50,51,52,53,58,59,60,67,68,69 +83 B(M)=-7\NEXT W +86 B(41)=-3 +100 INPUT "MOVE WHICH PIECE";Z +110 IF B(Z)=-7 THEN 140 +120 PRINT "ILLEGAL MOVE, TRY AGAIN..."\GOTO 100 +140 INPUT "TO WHERE";P +150 IF B(P)=0 THEN 120 +153 IF B(P)=-7 THEN 120 +156 IF Z=P THEN 100 +160 IF ((Z+P)/2)=INT((Z+P)/2) THEN 180 +170 GOTO 120 +180 IF (ABS(Z-P)-2)*(ABS(Z-P)-18)<>0 THEN 120 +190 GOSUB 1000 +200 GOSUB 500 +210 GOSUB 1500 +220 GOTO 100 +500 REM *** PRINT BOARD +510 FOR X=1 TO 9 +520 FOR Y=1 TO 9 +525 IF (X-1)*(X-9)*(Y-1)*(Y-9)=0 THEN 550 +530 IF (X-4)*(X-5)*(X-6)=0 THEN 570 +540 IF (Y-4)*(Y-5)*(Y-6)=0 THEN 570 +550 REM +560 GOTO 610 +570 IF T(X,Y)<>5 THEN 600 +580 PRINT TAB(Y*2);"!"; +590 GOTO 610 +600 PRINT TAB(Y*2);"O"; +610 REM +615 NEXT Y +620 PRINT +630 NEXT X +640 RETURN +1000 REM *** UPDATE BOARD +1005 C=1\FOR X=1 TO 9 +1020 FOR Y=1 TO 9 +1030 IF C<>Z THEN 1220 +1040 IF C+2<>P THEN 1080 +1045 IF T(X,Y+1)=0 THEN 120 +1050 T(X,Y+2)=5 +1060 T(X,Y+1)=0\B(C+1)=-3 +1070 GOTO 1200 +1080 IF C+18<>P THEN 1130 +1085 IF T(X+1,Y)=0 THEN 120 +1090 T(X+2,Y)=5\T(X+1,Y)=0\B(C+9)=-3 +1120 GOTO 1200 +1130 IF C-2<>P THEN 1170 +1135 IF T(X,Y-1)=0 THEN 120 +1140 T(X,Y-2)=5\T(X,Y-1)=0\B(C-1)=-3 +1160 GOTO 1200 +1170 IF C-18<>P THEN 1220 +1175 IF T(X-1,Y)=0 THEN 120 +1180 T(X-2,Y)=5\T(X-1,Y)=0\B(C-9)=-3 +1200 B(Z)=-3\B(P)=-7 +1210 T(X,Y)=0\GOTO 1240 +1220 C=C+1 +1225 NEXT Y +1230 NEXT X +1240 RETURN +1500 REM*** CHECK IF GAME IS OVER +1505 F=0 +1510 FOR R=2 TO 8 +1520 FOR C=2 TO 8 +1530 IF T(R,C)<>5 THEN 1580 +1535 F=F+1 +1540 FOR A=R-1 TO R+1 +1545 T=0 +1550 FOR B=C-1 TO C+1 +1560 T=T+T(A,B) +1561 NEXT B +1564 IF T<>10 THEN 1567 +1565 IF T(A,C)<>0 THEN 1630 +1567 NEXT A +1568 FOR X=C-1 TO C+1 +1569 T=0 +1570 FOR Y=R-1 TO R+1 +1571 T=T+T(Y,X) +1572 NEXT Y +1573 IF T<>10 THEN 1575 +1574 IF T(R,X)<>0 THEN 1630 +1575 NEXT X +1580 NEXT C +1590 NEXT R +1600 REM *** GAME IS OVER +1605 PRINT "THE GAME IS OVER." +1610 PRINT "YOU HAD"F;"PIECES REMAINING." +1611 IF F<>1 THEN 1615 +1612 PRINT "BRAVO! YOU MADE A PERFECT SCORE!!" +1613 PRINT "SAVE THIS PAPER AS A RECORD OF YOUR WORK." +1615 PRINT\INPUT "PLAY AGAIN (YES OR NO)";A$ +1617 IF A$="NO" THEN 2000 +1618 RESTORE\GOTO 25 +1620 STOP +1630 RETURN +2000 PRINT\PRINT "SO LONG FOR NOW."\PRINT +2005 END diff --git a/port/BOXING.BAS b/port/BOXING.BAS new file mode 100644 index 0000000..5fe8cad --- /dev/null +++ b/port/BOXING.BAS @@ -0,0 +1,144 @@ + 1 REM PROGRAM SUBMITTED BY JESSE LYNCH, ST.PAUL, MN. + 2 J=0 + 3 L=0 + 4 RANDOMIZE + 5 PRINT "OLYMPIC BOXING -- 3 ROUNDS" + 7 PRINT + 10 PRINT "INPUT YOUR OPPONENT'S NAME" + 20 INPUT J$ + 30 PRINT "INPUT YOUR MAN'S NAME" + 40 INPUT L$ + 45 PRINT + 50 PRINT "DIFFERENT PUNCHES ARE 1 FULL SWING 2 HOOK 3 UPPERCUT 4 JAB" + 60 PRINT "WHAT IS YOUR MANS BEST"; + 64 INPUT B + 70 PRINT "AND WHAT IS HIS VULNERABILITY"; + 80 INPUT D + 85 PRINT + 90 B1=INT(4*RND(1)+1) + 100 D1=INT(4*RND(1)+1) + 110 IF B1=D1 THEN 90 + 120 PRINT J$" ADVANTAGE IS "B1 " AND DISADVANTAGE IS SECRET" + 130 FOR R=1 TO 3 + 140 IF J>= 2 THEN 1040 + 150 IF L>=2 THEN 1060 + 160 X=0 + 170 Y=0 + 175 PRINT + 180 PRINT "ROUND "R" BEGINS..." + 181 PRINT "" + 185 FOR R1= 1 TO 7 + 190 I=INT(10 *RND(1)+1) + 200 IF I>5 THEN 600 + 210 PRINT L$ "'S PUNCH"; + 220 INPUT P + 221 IF P=B THEN 225 + 222 GO TO 230 + 225 X=X+2 + 230 IF P=1 THEN 340 + 240 IF P=2 THEN 450 + 250 IF P=3 THEN 520 + 270 PRINT L$ " JABS AT "J$"'S HEAD "; + 271 IF D1=4 THEN 290 + 275 C=INT(8*RND(1)+1) + 280 IF C<4 THEN 310 + 290 X=X+3 + 300 GO TO 950 + 310 PRINT "ITS BLOCKED" + 330 GO TO 950 + 340 PRINT L$ " SWINGS AND "; + 341 IF D1=4 THEN 410 + 345 X3 =INT(30 *RND(1)+1) + 350 IF X3<10 THEN 410 + 360 PRINT " HE MISSES "; + 375 IF X=1 THEN 950 + 380 PRINT + 390 PRINT + 400 GO TO 300 + 410 PRINT "HE CONNECTS!" + 420 IF X>35 THEN 980 + 425 X=X+15 + 440 GO TO 300 + 450 PRINT L$ " GIVES THE HOOK "; + 455 IF D1=2 THEN 480 + 460 H1 =INT(2*RND(1)+1) + 470 IF H1=1 THEN 500 + 475 PRINT "CONNECTS..." + 480 X=X+7 + 490 GO TO 300 + 500 PRINT "BUT IT'S BLOCKED !!!!!!!!!!" + 510 GO TO 300 + 520 PRINT L$ " TRIES AN UPPERCUT "; + 530 IF D1=3 THEN 570 + 540 D5=INT(100*RND(1)+1) + 550 IF D5<51 THEN 570 + 560 PRINT "AND IT'S BLOCKED (LUCKY BLOCK!)" + 565 GO TO 300 + 570 PRINT "AND HE CONNECTS!" + 580 X=X+4 + 590 GO TO 300 + 600 J7=INT(4*RND(1)+1) + 601 IF J7 =B1 THEN 605 + 602 GO TO 610 + 605 Y=Y+2 + 610 IF J7=1 THEN 720 + 620 IF J7=2 THEN 810 + 630 IF J7 =3 THEN 860 + 640 PRINT J$" JABS AND "; + 645 IF D=4 THEN 700 + 650 Z4 =INT(7*RND(1)+1) + 655 IF Z4>4 THEN 690 + 660 PRINT " IT'S BLOCKED !" + 670 GO TO 300 + 690 PRINT " BLOOD SPILLS !!!" + 700 Y=Y+5 + 710 GO TO 300 + 720 PRINT J$" TAKES A FULL SWING AND "; + 730 IF D=1 THEN 770 + 740 R6=INT(60*RND(1)+1) + 745 IF R6 <30 THEN 770 + 750 PRINT " BUT IT'S BLOCKED !" + 760 GO TO 300 + 770 PRINT " POW!!!!! HE HITS HIM RIGHT IN THE FACE!" + 780 IF Y>35 THEN 1010 + 790 Y=Y+15 + 800 GO TO 300 + 810 PRINT J$" GETS "L$" IN THE JAW (OUCH!)" + 820 Y=Y+7 + 830 PRINT "....AND AGAIN!" + 835 Y=Y+5 + 840 IF Y>35 THEN 1010 + 850 PRINT + 860 PRINT L$ " IS ATTACKED BY AN UPPERCUT (OH, OH)..." + 865 IF D=3 THEN 890 + 870 Q4=INT(200*RND(1)+1) + 880 IF Q4>75 THEN 920 + 890 PRINT " AND "J$" CONNECTS..." + 900 Y=Y+8 + 910 GO TO 300 + 920 PRINT " BLOCKS AND HITS "J$" WITH A HOOK." + 930 X=X+5 + 940 GO TO 300 + 950 NEXT R1 + 951 IF X>Y THEN 955 + 952 PRINT J$ " WINS ROUND "R + 953 J=J+1 + 954 GO TO 960 + 955 PRINT L$ " WINS ROUND "R + 956 L=L+1 + 960 NEXT R + 961 IF J>= 2 THEN 1040 + 962 IF L>=2 THEN 1060 + 980 PRINT J$ " IS KNOCKED COLD AND " L$" IS THE WINNER AND CHAMP "; +1000 GO TO 1080 +1010 PRINT L$ " IS KNOCKED COLD AND " J$" IS THE WINNER AND CHAMP "; +1030 GO TO 1000 +1040 PRINT J$ " WINS (NICE GOING ) " J$ +1050 GO TO 1000 +1060 PRINT L$ " AMAZINGLY WINS " +1070 GO TO 1000 +1080 PRINT +1085 PRINT +1090 PRINT "AND NOW GOODBYE FROM THE OLYMPIC ARENA." +1100 PRINT +1110 END diff --git a/port/HELLO.BAS b/port/HELLO.BAS new file mode 100644 index 0000000..476444e --- /dev/null +++ b/port/HELLO.BAS @@ -0,0 +1,91 @@ + 5 GOTO 400 + 8 DIM A$(2) + 10 PRINT "HELLO, I'M AN EDUSYSTEM-25. MY NAME IS PETEY P. EIGHT." + 20 PRINT\PRINT "WHAT'S YOUR NAME";\LINPUT A$(0),A$(1),A$(2)\PRINT + 35 PRINT " HI THERE ";\GOSUB500\PRINT". ARE YOU ENJOYING YOURSELF HERE" + 40 PRINT "IN BEAUTIFUL MAYNARD, MASS"; + 45 INPUT B$\PRINT + 50 IF B$="YES" THEN 70 + 55 IF B$="NO" THEN 80 + 60 PRINT " ";\GOSUB500\PRINT", I DON'T UNDERSTAND YOUR ANSWER OF '"B$"'." + 65 PRINT "PLEASE ANSWER 'YES' OR 'NO'. DO YOU LIKE IT HERE" + 67 GOTO 40 + 70 PRINT "OH, I'M GALD TO HERE THAT ";\GOSUB500\PRINT + 75 GOTO 100 + 80 PRINT "OH, SORRY TO HEAR THAT ";\GOSUB 500\PRINT ", MAYBE WE CAN" + 85 PRINT "BRIGHTEN UP YOUR STAY A BIT" + 100 PRINT + 105 PRINT "SAY, ";\GOSUB500\PRINT", I CAN SOLVE ALL KINDS OF PROBLEMS" + 110 PRINT "EXCEPT THOSE DEALING WITH GREECE. WHAT KIND OF" + 115 PRINT "PROBLEMS DO YOU HAVE (ANSWER SEX, HEALTH, MONEY," + 120 PRINT "OR JOB)"; + 125 INPUT C$\PRINT + 130 IF C$="SEX" THEN 200 + 132 IF C$="HEALTH" THEN 180 + 134 IF C$="MONEY" THEN 160 + 136 IF C$="JOB" THEN 145 + 138 PRINT "OH, ";\GOSUB500\PRINT", YOUR ANSWER OF '"C$"' IS GREEK TO ME." + 140 GOTO 250 + 145 PRINT "I CAN SYMPATHIZE WITH YOU ";\GOSUB500\PRINT". I HAVE TO WORK" + 148 PRINT "VERY LONG HOURS FOR NO PAY -- AND SOME OF MY BOSSES REALLY" + 150 PRINT"BEAT MY KEYBOARD. MY ADVICE TO YOU ";\GOSUB500\PRINT", IS TO SELL" + 153 PRINT "IN THE EDUCATION MARKET. IT'S GREAT FUN." + 155 GOTO 250 + 160 PRINT "SORRY, ";\GOSUB500\PRINT", I'M BROKE TOO. WHY DON'T YOU SELL" + 163 PRINT "ENCYCLOPAEDIAS OR MARRY SOMEONE RICH OR STOP EATING" + 165 PRINT "SO YOU WON'T NEED SO MUCH MONEY?" + 170 GOTO 250 + 180 PRINT "MY ADVICE TO YOU ";\GOSUB500\PRINT", IS:" + 185 PRINT " 1. TAKE TWO ASPRIN" + 188 PRINT " 2. DRINK PLENTY OF FLUIDS (ORANGE JUICE, NOT BEER!)" + 190 PRINT " 3. GO TO BED (ALONE)" + 195 GOTO 250 + 200 PRINT "IS YOUR PROBLEM TOO MUCH OR TOO LITTLE"; + 205 INPUT D$\PRINT + 210 IF D$="TOO MU" THEN 220 + 213 IF D$="TOO LI" THEN 230 + 215 PRINT "DON'T GET ALL SHOOK ";\GOSUB 500\PRINT ",JUST ANSWER THE QUESTION" + 217 PRINT "WITH 'TOO MUCH' OR 'TOO LITTLE'. WHICH IS IT"; + 218 GOTO 205 + 220 PRINT "YOU CALL THAT A PROBLEM?!! I SHOULD HAVE SUCH PROBLEMS!" + 225 PRINT "IF IT BOTHERS YOU, TAKE A COLD SHOWER ";\GOSUB500\PRINT"." + 228 GOTO 250 + 230 PRINT "WHY ARE YOU HERE ";\GOSUB500\PRINT"? YOU SHOULD BE" + 235 PRINT "IN TOKYO OR NEW YORK OR AMSTERDAM OR SOMEPLACE WITH SOME" + 240 PRINT "REAL ACTION." + 250 PRINT + 255 PRINT "ANY MORE PROBLEMS YOU WANT SOLVED, ";\GOSUB500 + 260 INPUT E$\PRINT + 270 IF E$="YES" THEN 280 + 273 IF E$="NO" THEN 300 + 275 PRINT "JUST A SIMPLE 'YES' OR 'NO' PLEASE, ";\GOSUB500\PRINT"." + 278 GOTO 255 + 280 PRINT "WHAT KIND (SEX, MONEY, HEALTH, JOB)"; + 285 GOTO 125 + 300 PRINT + 302 PRINT "THAT WILL BE $5.00 FOR THE ADVICE, ";\GOSUB500\PRINT"." + 305 PRINT "PLEASE LEAVE THE MONEY ON THE TERMINAL. " + 307 PRINT\PRINT\PRINT + 310 PRINT "DID YOU LEAVE THE MONEY"; + 315 INPUT G$\PRINT + 325 IF G$="YES" THEN 350 + 330 IF G$="NO" THEN 370 + 335 PRINT "YOUR ANSWER OF '"G$"' CONFUSES ME, ";\GOSUB500\PRINT". PLEASE" + 340 PRINT "RESPOND WITH A 'YES' OR 'NO'." + 345 GOTO 310 + 350 PRINT "HEY, ";\GOSUB500\PRINT"??? YOU LEFT NO MONEY AT ALL!" + 355 PRINT "YOU ARE CHEATING ME OUT OF MY HARD-EARNED LIVING." + 360 PRINT "RIP OFF, ";\GOSUB500\PRINT". *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*" + 365 GOTO 390 + 370 PRINT "THAT'S HONEST, ";\GOSUB500\PRINT", BUT HOW DO YOU EXPECT" + 375 PRINT "ME TO GO ON WITH MY PSYCHOLOGY STUDIES IF MY PATIENTS DON'T" + 380 PRINT "PAY THEIR BILLS?" + 385 PRINT\PRINT\PRINT "NOW LET ME TALK TO SOMEONE ELSE." + 390 PRINT "NICE MEETING YOU ";\GOSUB 500\PRINT ". HAVE A NICE DAY!!" + 400 FOR N=1 TO 7 + 402 PRINT + 405 NEXT N + 410 GOTO 10 + 500 FOR I=0 TO 2\PRINT A$(I);\NEXT I + 510 RETURN + 999 END diff --git a/port/HI-Q.BAS b/port/HI-Q.BAS new file mode 100644 index 0000000..91f6a23 --- /dev/null +++ b/port/HI-Q.BAS @@ -0,0 +1,132 @@ + 3 DIM B(70),T(9,9) + 4 PRINT "THIS IS THE GAME OF HI-Q"\PRINT "HERE IS THE BOARD"\PRINT + 5 PRINT " ! ! !" + 6 PRINT " 13 14 15"\PRINT + 7 PRINT " ! ! !" + 8 PRINT " 22 23 24"\PRINT + 9 PRINT "! ! ! ! ! ! !" + 10 PRINT "29 30 31 32 33 34 35"\PRINT + 11 PRINT "! ! ! ! ! ! !" + 12 PRINT "38 39 40 41 42 43 44"\PRINT + 13 PRINT "! ! ! ! ! ! !" + 14 PRINT "47 48 49 50 51 52 53"\PRINT + 15 PRINT " ! ! !" + 16 PRINT " 58 59 60"\PRINT + 17 PRINT " ! ! !" + 18 PRINT " 67 68 69"\PRINT + 22 PRINT "TO SAVE TYPING TIME, A COMPRESSED VERSION OF THE GAME BOARD" + 23 PRINT "WILL BE USED DURING PLAY. REFER TO THE ABOVE ONE FOR PEG" + 24 PRINT "NUMBERS. O.K., LET'S BEGIN..." + 28 REM *** SET UP BOARD + 29 FOR R=1 TO 9 + 30 FOR C=1 TO 9 + 31 IF (R-4)*(R-5)*(R-6)=0 THEN 40 + 32 IF (C-4)*(C-5)*(C-6)=0 THEN 40 + 35 T(R,C)=-5 + 36 GOTO 50 + 40 IF (R-1)*(C-1)*(R-9)*(C-9)=0 THEN 35 + 42 T(R,C)=5 + 50 NEXT C + 60 NEXT R + 65 T(5,5)=0\GOSUB 500 + 70 REM *** INPUT MOVE AND CHECK ON LEGALITY + 75 FOR W=1 TO 33 + 77 READ M + 79 DATA 13,14,15,22,23,24,29,30,31,32,33,34,35,38,39,40,41 + 81 DATA 42,43,44,47,48,49,50,51,52,53,58,59,60,67,68,69 + 83 B(M)=-7\NEXT W + 86 B(41)=-3 + 100 PRINT "MOVE WHICH PIECE";\INPUT Z + 110 IF B(Z)=-7 THEN 140 + 120 PRINT "ILLEGAL MOVE, TRY AGAIN..."\GOTO 100 + 140 PRINT "TO WHERE";\INPUT P + 150 IF B(P)=0 THEN 120 + 153 IF B(P)=-7 THEN 120 + 156 IF Z=P THEN 100 + 160 IF ((Z+P)/2)=INT((Z+P)/2) THEN 180 + 170 GOTO 120 + 180 IF (ABS(Z-P)-2)*(ABS(Z-P)-18)<>0 THEN 120 + 190 GOSUB 1000 + 200 GOSUB 500 + 210 GOSUB 1500 + 220 GOTO 100 + 500 REM *** PRINT BOARD + 510 FOR X=1 TO 9 + 520 FOR Y=1 TO 9 + 525 IF (X-1)*(X-9)*(Y-1)*(Y-9)=0 THEN 550 + 530 IF (X-4)*(X-5)*(X-6)=0 THEN 570 + 540 IF (Y-4)*(Y-5)*(Y-6)=0 THEN 570 + 550 REM + 560 GOTO 610 + 570 IF T(X,Y)<>5 THEN 600 + 580 PRINT TAB(Y*2);"!"; + 590 GOTO 610 + 600 PRINT TAB(Y*2);"O"; + 610 REM + 615 NEXT Y + 620 PRINT + 630 NEXT X + 640 RETURN +1000 REM *** UPDATE BOARD +1005 C=1\FOR X=1 TO 9 +1020 FOR Y=1 TO 9 +1030 IF C<>Z THEN 1220 +1040 IF C+2<>P THEN 1080 +1045 IF T(X,Y+1)=0 THEN 120 +1050 T(X,Y+2)=5 +1060 T(X,Y+1)=0\B(C+1)=-3 +1070 GOTO 1200 +1080 IF C+18<>P THEN 1130 +1085 IF T(X+1,Y)=0 THEN 120 +1090 T(X+2,Y)=5\T(X+1,Y)=0\B(C+9)=-3 +1120 GOTO 1200 +1130 IF C-2<>P THEN 1170 +1135 IF T(X,Y-1)=0 THEN 120 +1140 T(X,Y-2)=5\T(X,Y-1)=0\B(C-1)=-3 +1160 GOTO 1200 +1170 IF C-18<>P THEN 1220 +1175 IF T(X-1,Y)=0 THEN 120 +1180 T(X-2,Y)=5\T(X-1,Y)=0\B(C-9)=-3 +1200 B(Z)=-3\B(P)=-7 +1210 T(X,Y)=0\GOTO 1240 +1220 C=C+1 +1225 NEXT Y +1230 NEXT X +1240 RETURN +1500 REM*** CHECK IF GAME IS OVER +1505 F=0 +1510 FOR R=2 TO 8 +1520 FOR C=2 TO 8 +1530 IF T(R,C)<>5 THEN 1580 +1535 F=F+1 +1540 FOR A=R-1 TO R+1 +1545 T=0 +1550 FOR B=C-1 TO C+1 +1560 T=T+T(A,B) +1561 NEXT B +1564 IF T<>10 THEN 1567 +1565 IF T(A,C)<>0 THEN 1630 +1567 NEXT A +1568 FOR X=C-1 TO C+1 +1569 T=0 +1570 FOR Y=R-1 TO R+1 +1571 T=T+T(Y,X) +1572 NEXT Y +1573 IF T<>10 THEN 1575 +1574 IF T(R,X)<>0 THEN 1630 +1575 NEXT X +1580 NEXT C +1590 NEXT R +1600 REM *** GAME IS OVER +1605 PRINT "THE GAME IS OVER." +1610 PRINT "YOU HAD"F;"PIECES REMAINING." +1611 IF F<>1 THEN 1615 +1612 PRINT "BRAVO! YOU MADE A PERFECT SCORE!!" +1613 PRINT "SAVE THIS PAPER AS A RECORD OF YOUR WORK." +1615 PRINT\PRINT "PLAY AGAIN (YES OR NO)";\INPUT A$ +1617 IF A$="NO" THEN 2000 +1618 RESTORE\GOTO 28 +1620 STOP +1630 RETURN +2000 PRINT\PRINT "SO LONG FOR NOW."\PRINT +2005 END