From 5da06d70171c5c9a6afbdc98d5471650d7ea4aee Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Thu, 13 Jun 2024 10:03:58 +0800 Subject: [PATCH] Add HOCKEY. --- dec/HOCKEY.BAS | 226 ++++++++++++++++++++++++++++++++++++++++++++++++ port/HOCKEY.BAS | 226 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 452 insertions(+) create mode 100644 dec/HOCKEY.BAS create mode 100644 port/HOCKEY.BAS diff --git a/dec/HOCKEY.BAS b/dec/HOCKEY.BAS new file mode 100644 index 0000000..527aa82 --- /dev/null +++ b/dec/HOCKEY.BAS @@ -0,0 +1,226 @@ +10 LET A1=INT(14*RND(X))+6) +20 LET X=1 +30 REM *** CONVERTED FROM BRAND X TO DIGITAL RSTS/E BY DAVID AHL +40 PRINT " N.B. THIS PROGRAM IS DESIGNED FOR THOSE WHO KNOW NOTHING" +50 PRINT " ABOUT HOCKEY LIKE MYSELF. --- C. BUTTREY" +60 PRINT " THIS IS CORNELL U. HOCKEY." +70 PRINT " I AM CORNELL, WHO ARE YOU"; +90 INPUT A$ +100 PRINT +110 PRINT " YOU HAVE THREE SHOTS:" +120 PRINT " 1. SLAP SHOT." +130 PRINT " 2. FLICK SHOT." +140 PRINT " 3. WRIST SHOT." +150 PRINT +160 PRINT " HERE IS THE FACE-OFF:" +170 PRINT " SCORE:" +180 PRINT " CORNELL "A +190 PRINT " "A$" "B +200 IF X=2 THEN 240 +210 IF X=3 THEN 260 +220 IF A+B >= (1/3*A1) THEN 1560 +230 GOTO 290 +240 IF A+B >= (2/3*A1) THEN 1630 +250 GOTO 290 +260 IF (A+B) >= (A1) THEN 1710 +270 GOTO 290 +280 IF B=3 THEN 1560 +290 LET C=INT(2*RND(X)+1) +300 IF C=1 THEN 330 +310 PRINT " "A$" WINS THE FACE-OFF." +320 GOTO 650 +330 PRINT " CORNELL TAKES THE FACE-OFF." +340 LET D=INT(3*RND(X)+1) +350 IF D=1 THEN 500 +360 IF D=2 THEN 570 +370 PRINT " WRIST SHOT..." +380 LET E=INT(5*RND(X)+1) +390 IF E=4 THEN 470 +400 PRINT " SHOT IS MISSED." +410 LET F=INT(2*RND(X)+1) +420 IF F=1 THEN 450 +430 PRINT " CORNELL REGAINS THE PUCK." +440 GOTO 340 +450 PRINT " "A$" TAKES THE PUCK." +460 GOTO 650 +470 PRINT " **GOOD!**" +480 LET A=A+1 +490 GOTO 160 +500 PRINT " SLAP SHOT..." +510 LET C1=INT(3*RND(X)+1) +520 IF C1=2 THEN 540 +530 GOTO 560 +540 PRINT " ICING PENALTY....." +550 GOTO 450 +560 GOTO 380 +570 PRINT " FLICK SHOT.." +580 LET S1=INT(3*RND(X)+1) +590 IF S1=3 THEN 610 +600 GOTO 640 +610 PRINT " PENALTY FOR HIGH STICKING! CORNELL MAN PUT IN BOX FOR" +620 PRINT " TWO MINUTES!" +630 GOTO 1110 +640 GOTO 380 +650 PRINT " YOUR SHOT"; +660 INPUT G +670 IF G=1 THEN 720 +680 IF G=2 THEN 900 +690 IF G=3 THEN 970 +700 PRINT " INPUT EITHER '1' '2' OR '3'" +710 GOTO 650 +720 PRINT " SLAP SHOT." +730 LET Z1=INT(3*RND(X)+1) +740 IF Z1=2 THEN 760 +750 GOTO 780 +760 PRINT " ICING PENALTY....." +770 GOTO 1090 +780 LET H=INT(5*RND(X)+1) +790 IF H=1 THEN 870 +800 PRINT " SHOT IS WIDE." +810 LET I=INT(2*RND(X)+1) +820 IF I=1 THEN 850 +830 PRINT " CORNELL TAKES THE PUCK." +840 GOTO 990 +850 PRINT " "A$" REGAINS THE PUCK." +860 GOTO 650 +870 PRINT " **GOOD!**" +880 LET B=B+1 +890 GOTO 160 +900 PRINT " FLICK SHOT...." +910 LET B1=INT(3*RND(X)+1) +920 IF B1=1 THEN 940 +930 GOTO 960 +940 PRINT " ICING PENALTY....." +950 GOTO 830 +960 GOTO 780 +970 PRINT " WRIST SHOT.." +980 GOTO 780 +990 PRINT " CORNELL SHOT:" +1000 LET J=INT(3*RND(X)+1) +1010 IF J=1 THEN 1160 +1020 IF J=2 THEN 1210 +1030 PRINT " SLAP SHOT." +1040 LET K=INT(5*RND(X)+1) +1050 IF K=1 THEN 1130 +1060 PRINT " SHOT HITS THE POST." +1070 LET L=INT(2*RND(X)+1) +1080 IF L=1 THEN 1110 +1090 PRINT " CORNELL REGAINS THE PUCK." +1100 GOTO 990 +1110 PRINT " "A$" REGAINS THE PUCK." +1120 GOTO 1310 +1130 PRINT " **GOOD!**" +1140 LET A=A+1 +1150 GOTO 160 +1160 PRINT " WRIST SHOT" +1170 LET M=INT(5*RND(X)+1) +1180 IF M=5 THEN 1130 +1190 PRINT " SHOT IS HIGH." +1200 GOTO 1070 +1210 PRINT " FLICK SHOT" +1220 LET T1=INT(3*RND(X)+1) +1230 IF T1=1 THEN 1250 +1240 GOTO 1270 +1250 PRINT " ICING PENALTY....." +1260 GOTO 450 +1270 LET N=INT(5*RND(X)+1) +1280 IF N=1 THEN 1130 +1290 PRINT " SHOT IS BLOCKED BY THE GOALIE." +1300 GOTO 1070 +1310 PRINT " YOUR SHOT"; +1320 INPUT O +1330 IF O=1 THEN 1430 +1340 IF O=2 THEN 1540 +1350 PRINT " WRIST SHOT." +1360 LET P=INT(5*RND(X)+1) +1370 IF P=2 THEN 870 +1380 PRINT " SHOT IS BARELY WIDE..." +1390 LET Q=INT(3*RND(X)+1) +1400 IF Q=1 THEN 830 +1410 PRINT " "A$" REGAINS THE PUCK." +1420 GOTO 650 +1430 PRINT " SLAP SHOT" +1440 LET D1=INT(3*RND(X)+1) +1450 IF D1=3 THEN 1470 +1460 GOTO 1500 +1470 PRINT " PENALTY FOR HIGH STICKING! "A$" MAN PUT IN PENALTY" +1480 PRINT " BOX FOR TWO MINUTES" +1490 GOTO 830 +1500 LET R=INT(5*RND(X)+1) +1510 IF R=1 THEN 870 +1520 PRINT " SHOT IS TAKEN BY THE CORNELL GOALIE." +1530 GOTO 830 +1540 PRINT " FLICK SHOT" +1550 GOTO 1500 +1560 PRINT " ***** END OF FIRST PERIOD *****" +1570 LET X=2 +1580 PRINT " SCORE:" +1590 PRINT " CORNELL "A +1600 PRINT " "A$" "B +1610 PRINT START OF SECOND PERIOD." +1620 GOTO 160 +1630 PRINT " ***** END OF SECOND PERIOD *****" +1640 LET X=3 +1650 PRINT " SCORE:" +1660 PRINT " CORNELL "A +1670 PRINT " "A$" "B +1680 PRINT "" +1690 PRINT " START OF THIRD PERIOD." +1700 GOTO 160 +1710 PRINT " ***** END OF GAME *****" +1720 IF A=B THEN 1770 +1730 PRINT " FINAL SCORE:" +1740 PRINT " CORNELL "A +1750 PRINT " "A$" "B +1760 STOP +1770 PRINT " SINCE SCORE IS TIED, WE WILL HAVE TO GO" +1780 PRINT " INTO SUDDEN-DEATH!" +1790 PRINT " HERE IS THE FACE-OFF." +1800 PRINT " SCORE:" +1810 PRINT " CORNELL "A +1820 PRINT " "A$" "B +1830 LET S=INT(2*RND(X)+1) +1840 IF S=1 THEN 1870 +1850 PRINT " "A$" WINS THE FACE-OFF." +1860 GOTO 2080 +1870 PRINT " CORNELL WINS THE FACE-OFF." +1880 LET T=INT(3*RND(X)+1) +1890 IF T=1 THEN 2040 +1900 IF T=2 THEN 2060 +1910 PRINT " WRIST SHOT." +1920 LET U=INT(5*RND(X)+1) +1930 IF U=1 THEN 1990 +1970 PRINT " "A$" TAKES THE PUCK." +1980 GOTO 2080 +1990 PRINT " CORNELL REGAINS THE PUCK." +2000 GOTO 1880 +2010 PRINT " **GOOD!**" +2020 LET A=A+1 +2030 GOTO 2260 +2040 PRINT " SLAP SHOT" +2050 GOTO 1920 +2060 PRINT " FLICK SHOT." +2070 GOTO 1920 +2080 PRINT " YOUR SHOT"; +2090 INPUT W +2100 IF W=1 THEN 2220 +2110 IF W=2 THEN 2240 +2120 PRINT "WRIST SHOT." +2130 LET Y=INT(5*RND(X)+1) +2140 IF Y=4 THEN 2190 +2150 PRINT " SHOT IS MISSED." +2160 LET Z=INT(2*RND(X)+1) +2170 IF Z=1 THEN 1990 +2180 GOTO 1970 +2190 PRINT " **GOOD!**" +2200 LET B=B+1 +2210 GOTO 2260 +2220 PRINT " SLAP SHOT." +2230 GOTO 2130 +2240 PRINT " FLICK SHOT." +2250 GOTO 2130 +2260 PRINT " GAME IS OVER!!" +2270 PRINT " FINAL SCORE:" +2280 PRINT " CORNELL "A +2290 PRINT " "A$" "B +2300 END diff --git a/port/HOCKEY.BAS b/port/HOCKEY.BAS new file mode 100644 index 0000000..aa151c1 --- /dev/null +++ b/port/HOCKEY.BAS @@ -0,0 +1,226 @@ + 1 RANDOMIZE\LET A1=INT(14*RND(X)+6) + 2 LET X=1 + 3 REM *** CONVERTED FROM BRAND X TO DIGITAL RSTS/E BY DAVID AHL + 4 PRINT " N.B. THIS PROGRAM IS DESIGNED FOR THOSE WHO KNOW NOTHING" + 5 PRINT " ABOUT HOCKEY LIKE MYSELF. --- C. BUTTREY" + 6 PRINT " THIS IS CORNELL U. HOCKEY." + 7 PRINT " I AM CORNELL, WHO ARE YOU"; + 9 INPUT A$ + 10 PRINT + 11 PRINT " YOU HAVE THREE SHOTS:" + 12 PRINT " 1. SLAP SHOT." + 13 PRINT " 2. FLICK SHOT." + 14 PRINT " 3. WRIST SHOT." + 15 PRINT + 16 PRINT " HERE IS THE FACE-OFF:" + 17 PRINT " SCORE:" + 18 PRINT " CORNELL "A + 19 PRINT " "A$" "B + 20 IF X=2 THEN 24 + 21 IF X=3 THEN 26 + 22 IF A+B >= (1/3*A1) THEN 156 + 23 GOTO 29 + 24 IF A+B >= (2/3*A1) THEN 163 + 25 GOTO 29 + 26 IF (A+B) >= (A1) THEN 171 + 27 GOTO 29 + 28 IF B=3 THEN 156 + 29 LET C=INT(2*RND(X)+1) + 30 IF C=1 THEN 33 + 31 PRINT " "A$" WINS THE FACE-OFF." + 32 GOTO 65 + 33 PRINT " CORNELL TAKES THE FACE-OFF." + 34 LET D=INT(3*RND(X)+1) + 35 IF D=1 THEN 50 + 36 IF D=2 THEN 57 + 37 PRINT " WRIST SHOT..." + 38 LET E=INT(5*RND(X)+1) + 39 IF E=4 THEN 47 + 40 PRINT " SHOT IS MISSED." + 41 LET F=INT(2*RND(X)+1) + 42 IF F=1 THEN 45 + 43 PRINT " CORNELL REGAINS THE PUCK." + 44 GOTO 34 + 45 PRINT " "A$" TAKES THE PUCK." + 46 GOTO 65 + 47 PRINT " **GOOD!**" + 48 LET A=A+1 + 49 GOTO 16 + 50 PRINT " SLAP SHOT..." + 51 LET C1=INT(3*RND(X)+1) + 52 IF C1=2 THEN 54 + 53 GOTO 56 + 54 PRINT " ICING PENALTY....." + 55 GOTO 45 + 56 GOTO 38 + 57 PRINT " FLICK SHOT.." + 58 LET S1=INT(3*RND(X)+1) + 59 IF S1=3 THEN 61 + 60 GOTO 64 + 61 PRINT " PENALTY FOR HIGH STICKING! CORNELL MAN PUT IN BOX FOR" + 62 PRINT " TWO MINUTES!" + 63 GOTO 111 + 64 GOTO 38 + 65 PRINT " YOUR SHOT"; + 66 INPUT G + 67 IF G=1 THEN 72 + 68 IF G=2 THEN 90 + 69 IF G=3 THEN 97 + 70 PRINT " INPUT EITHER '1' '2' OR '3'" + 71 GOTO 65 + 72 PRINT " SLAP SHOT." + 73 LET Z1=INT(3*RND(X)+1) + 74 IF Z1=2 THEN 76 + 75 GOTO 78 + 76 PRINT " ICING PENALTY....." + 77 GOTO 109 + 78 LET H=INT(5*RND(X)+1) + 79 IF H=1 THEN 87 + 80 PRINT " SHOT IS WIDE." + 81 LET I=INT(2*RND(X)+1) + 82 IF I=1 THEN 85 + 83 PRINT " CORNELL TAKES THE PUCK." + 84 GOTO 99 + 85 PRINT " "A$" REGAINS THE PUCK." + 86 GOTO 65 + 87 PRINT " **GOOD!**" + 88 LET B=B+1 + 89 GOTO 16 + 90 PRINT " FLICK SHOT...." + 91 LET B1=INT(3*RND(X)+1) + 92 IF B1=1 THEN 94 + 93 GOTO 96 + 94 PRINT " ICING PENALTY....." + 95 GOTO 83 + 96 GOTO 78 + 97 PRINT " WRIST SHOT.." + 98 GOTO 78 + 99 PRINT " CORNELL SHOT:" + 100 LET J=INT(3*RND(X)+1) + 101 IF J=1 THEN 116 + 102 IF J=2 THEN 121 + 103 PRINT " SLAP SHOT." + 104 LET K=INT(5*RND(X)+1) + 105 IF K=1 THEN 113 + 106 PRINT " SHOT HITS THE POST." + 107 LET L=INT(2*RND(X)+1) + 108 IF L=1 THEN 111 + 109 PRINT " CORNELL REGAINS THE PUCK." + 110 GOTO 99 + 111 PRINT " "A$" REGAINS THE PUCK." + 112 GOTO 131 + 113 PRINT " **GOOD!**" + 114 LET A=A+1 + 115 GOTO 16 + 116 PRINT " WRIST SHOT" + 117 LET M=INT(5*RND(X)+1) + 118 IF M=5 THEN 113 + 119 PRINT " SHOT IS HIGH." + 120 GOTO 107 + 121 PRINT " FLICK SHOT" + 122 LET T1=INT(3*RND(X)+1) + 123 IF T1=1 THEN 125 + 124 GOTO 127 + 125 PRINT " ICING PENALTY....." + 126 GOTO 45 + 127 LET N=INT(5*RND(X)+1) + 128 IF N=1 THEN 113 + 129 PRINT " SHOT IS BLOCKED BY THE GOALIE." + 130 GOTO 107 + 131 PRINT " YOUR SHOT"; + 132 INPUT O + 133 IF O=1 THEN 143 + 134 IF O=2 THEN 154 + 135 PRINT " WRIST SHOT." + 136 LET P=INT(5*RND(X)+1) + 137 IF P=2 THEN 87 + 138 PRINT " SHOT IS BARELY WIDE..." + 139 LET Q=INT(3*RND(X)+1) + 140 IF Q=1 THEN 83 + 141 PRINT " "A$" REGAINS THE PUCK." + 142 GOTO 65 + 143 PRINT " SLAP SHOT" + 144 LET D1=INT(3*RND(X)+1) + 145 IF D1=3 THEN 147 + 146 GOTO 150 + 147 PRINT " PENALTY FOR HIGH STICKING! "A$" MAN PUT IN PENALTY" + 148 PRINT " BOX FOR TWO MINUTES" + 149 GOTO 83 + 150 LET R=INT(5*RND(X)+1) + 151 IF R=1 THEN 87 + 152 PRINT " SHOT IS TAKEN BY THE CORNELL GOALIE." + 153 GOTO 83 + 154 PRINT " FLICK SHOT" + 155 GOTO 150 + 156 PRINT " ***** END OF FIRST PERIOD *****" + 157 LET X=2 + 158 PRINT " SCORE:" + 159 PRINT " CORNELL "A + 160 PRINT " "A$" "B + 161 PRINT " START OF SECOND PERIOD." + 162 GOTO 16 + 163 PRINT " ***** END OF SECOND PERIOD *****" + 164 LET X=3 + 165 PRINT " SCORE:" + 166 PRINT " CORNELL "A + 167 PRINT " "A$" "B + 168 PRINT "" + 169 PRINT " START OF THIRD PERIOD." + 170 GOTO 16 + 171 PRINT " ***** END OF GAME *****" + 172 IF A=B THEN 177 + 173 PRINT " FINAL SCORE:" + 174 PRINT " CORNELL "A + 175 PRINT " "A$" "B + 176 STOP + 177 PRINT " SINCE SCORE IS TIED, WE WILL HAVE TO GO" + 178 PRINT " INTO SUDDEN-DEATH!" + 179 PRINT " HERE IS THE FACE-OFF." + 180 PRINT " SCORE:" + 181 PRINT " CORNELL "A + 182 PRINT " "A$" "B + 183 LET S=INT(2*RND(X)+1) + 184 IF S=1 THEN 187 + 185 PRINT " "A$" WINS THE FACE-OFF." + 186 GOTO 208 + 187 PRINT " CORNELL WINS THE FACE-OFF." + 188 LET T=INT(3*RND(X)+1) + 189 IF T=1 THEN 204 + 190 IF T=2 THEN 206 + 191 PRINT " WRIST SHOT." + 192 LET U=INT(5*RND(X)+1) + 193 IF U=1 THEN 199 + 197 PRINT " "A$" TAKES THE PUCK." + 198 GOTO 208 + 199 PRINT " CORNELL REGAINS THE PUCK." + 200 GOTO 188 + 201 PRINT " **GOOD!**" + 202 LET A=A+1 + 203 GOTO 226 + 204 PRINT " SLAP SHOT" + 205 GOTO 192 + 206 PRINT " FLICK SHOT." + 207 GOTO 192 + 208 PRINT " YOUR SHOT"; + 209 INPUT W + 210 IF W=1 THEN 222 + 211 IF W=2 THEN 224 + 212 PRINT "WRIST SHOT." + 213 LET Y=INT(5*RND(X)+1) + 214 IF Y=4 THEN 219 + 215 PRINT " SHOT IS MISSED." + 216 LET Z=INT(2*RND(X)+1) + 217 IF Z=1 THEN 199 + 218 GOTO 197 + 219 PRINT " **GOOD!**" + 220 LET B=B+1 + 221 GOTO 226 + 222 PRINT " SLAP SHOT." + 223 GOTO 213 + 224 PRINT " FLICK SHOT." + 225 GOTO 213 + 226 PRINT " GAME IS OVER!!" + 227 PRINT " FINAL SCORE:" + 228 PRINT " CORNELL "A + 229 PRINT " "A$" "B + 230 END