CLS DIM TA(15, 39) FOR X = 1 TO 13 FOR Y = 1 TO 39 TA(X, Y) = 10 NEXT Y NEXT X FOR X = 1 TO 13 TA(X, 1) = 15 TA(X, 39) = 15 NEXT X FOR Y = 1 TO 39 TA(1, Y) = 15 TA(6, Y) = 15 TA(7, Y) = 7 TA(8, Y) = 2 TA(13, Y) = 15 TA(14, Y) = 7 NEXT Y TA(8, 1) = 7 TA(8, 39) = 7 TA(15, 1) = 7: TA(15, 39) = 7: TA(15, 2) = 7: TA(15, 38) = 7 GOSUB CHOOSE FOR T = 1 TO 15 FOR R = 1 TO 39 COLOR TA(T, R), 0 LOCATE T + 4, R + 19: PRINT "л" NEXT R NEXT T BEGIN: YU = 30: UU = 44 SP1 = 1: SP2 = -.2 B12 = 8: B22 = 47: BH = -1.5 YU2 = 0: UU2 = 0 FOR TT = 1 TO 15 A$ = INKEY$ NEXT TT A$ = INPUT$(1) COLOR 15, 0 LOCATE 10, 1: PRINT "ммммммммм" LOCATE 11, 1: PRINT "л л" LOCATE 12, 1: PRINT "л л" LOCATE 13, 1: PRINT "л л" LOCATE 14, 1: PRINT "ппппппппп" COLOR 15, 4 LOCATE 12, 2: PRINT " " LOCATE 13, 2: PRINT " " LOCATE 11, 2: PRINT " POINT " LOCATE 12, 4: PRINT WI1 LOCATE 13, 4: PRINT WI2 TYT = 0 START: TYT = TYT + 1 A$ = INKEY$ GOSUB BT GOSUB PT1 GOSUB PT2 B1 = B12: B2 = B22 IF BH = 0 THEN IF B2 > 19 AND B2 < 59 THEN SOUND 500, .5 ELSE IF BE = 1 THEN WI2 = WI2 + 1: GOTO BEGIN ELSE IF BE = 2 THEN WI1 = WI1 + 1: GOTO BEGIN IF BH = 0 AND INT(RND * 6) = 0 AND TYT > 14 THEN SP2 = -SP2 B1 = B1 + SP1: B2 = INT(B2 + SP2) BH = BH + .25: IF BH > 0 THEN BH = -3 IF B2 > UU AND PLY = 0 AND INT(RND * 4) > 0 THEN UU2 = UU2 + 2 IF B2 < UU AND PLY = 0 AND INT(RND * 4) > 0 THEN UU2 = UU2 - 2 IF A$ = CHR$(0) + "K" OR A$ = "4" THEN YU2 = YU2 - 7 IF A$ = CHR$(0) + "M" OR A$ = "6" THEN YU2 = YU2 + 7 IF A$ = "i" OR A$ = "I" THEN IF PLY = 1 THEN UU2 = UU2 - 7 IF A$ = "P" OR A$ = "p" THEN IF PLY = 1 THEN UU2 = UU2 + 7 IF TYT < 15 THEN YU2 = 0: UU2 = 0 IF YU2 > 0 THEN YU2 = YU2 - 1: YU = YU + INT(YU2) / 2 IF YU2 < 0 THEN YU2 = YU2 + 1: YU = YU + INT(YU2) / 2 IF UU2 > 0 AND TYT > 14 THEN UU2 = UU2 - 1: UU = UU + INT(UU2) / 2 IF UU2 < 0 AND TYT > 14 THEN UU2 = UU2 + 1: UU = UU + INT(UU2) / 2 IF YU < 2 THEN YU = 2 IF YU > 72 THEN YU = 72 IF UU < 2 THEN UU = 2 IF UU > 72 THEN UU = 72 IF A$ = "%" THEN GOSUB HHH IF SP1 < 0 AND B1 > 17 AND B2 > YU - 6 AND B2 < YU + 12 THEN DDD = 2: IF B1 < 36 THEN SP2 = SP2 + INT(RND * 5) / 10 + .7 ELSE IF B1 > 37 THEN SP2 = SP2 - INT(RND * 5) / 10 - .7 IF SP1 > 0 AND B1 < 6 AND B2 > UU - 6 AND B2 < UU + 12 THEN DDD = 1: IF B1 < 36 THEN SP2 = SP2 + INT(RND * 5) / 10 + .7 ELSE IF B1 > 37 THEN SP2 = SP2 - INT(RND * 5) / 10 - .7 IF DDD = 1 THEN SP2 = (39 - UU) / 15 + INT(RND * 3) - 1: DDD = 0 IF DDD = 2 THEN SP2 = (39 - YU) / 15 + INT(RND * 3) - 1: DDD = 0 IF SP1 > 0 AND B1 > 22 THEN IF B2 > YU - 6 AND B2 < YU + 12 THEN SOUND 1000, .5: YBE = 1: SP1 = -1: BE = 2: BH = -3.5: HJH = 1 ELSE WI1 = WI1 + 1: GOTO BEGIN IF SP1 < 0 AND B1 < 1 THEN IF B2 > UU - 6 AND B2 < UU + 12 THEN SOUND 1000, .5: UBE = 1: SP1 = 1: BE = 1: BH = -3.5: HJH = 1 ELSE WI2 = WI2 + 1: GOTO BEGIN IF HJH = 1 AND INT(RND * 2) = 0 THEN SP1 = SP1 * 2: SP2 = SP2 * 2: BH = -1.5 HJH = 0 IF B2 > 77 THEN B2 = 77 IF B2 < 1 THEN B2 = 1 B12 = B1: B22 = B2: B1 = INT(B1): B2 = INT(B2) GOSUB BB GOSUB P1 GOSUB P2 IF A$ = " " THEN D$ = INPUT$(1) GOSUB YYY GOTO START HHH: COLOR 15, 0 FOR I = 1 TO 10 PRINT I; CHR$(I); NEXT I RETURN P1: IF YBE > 0 THEN GOTO P12 COLOR 10, 0: LOCATE 20, YU: PRINT "ммммм" COLOR 14, 0: LOCATE 21, YU: PRINT "ллллл" COLOR 6, 0: LOCATE 22, YU: PRINT "пплпп" COLOR 14, 0: LOCATE 22, YU + 2: PRINT "л" RETURN PT1: COLOR 0, 0 LOCATE 20, YU: PRINT " " LOCATE 21, YU: PRINT " " LOCATE 22, YU: PRINT " " LOCATE 23, YU: PRINT " " RETURN P2: IF UBE > 0 THEN GOTO P22 COLOR 14, 0: LOCATE 1, UU: PRINT "ммлмм" COLOR 10, 0: LOCATE 2, UU: PRINT "ллллл" COLOR 2, 0: LOCATE 3, UU: PRINT "ппппп" RETURN PT2: COLOR 0, 0 LOCATE 1, UU: PRINT " " LOCATE 2, UU: PRINT " " LOCATE 3, UU: PRINT " " LOCATE 4, UU: PRINT " " RETURN BT: COLOR 0, 0 IF B1 + BH > 4 AND B1 + BH < 20 AND B2 > 19 AND B2 < 59 THEN COLOR TA(INT(B1 + BH - 4), INT(B2 - 19)), 0 IF B1 + BH < 22 AND B1 + BH > 1 THEN LOCATE INT(B1 + BH), B2: PRINT "л" COLOR 0, 0 IF B1 > 4 AND B1 < 20 AND B2 > 19 AND B2 < 59 THEN COLOR TA(B1 - 4, B2 - 19), 0 IF B1 > 0 AND B1 < 22 THEN LOCATE B1, B2: PRINT "л" RETURN BB: IF B1 > 4 AND B1 < 20 AND B2 > 24 AND B2 < 54 THEN YYU = TA(B1 - 4, B2 - 19) COLOR 2, YYU IF B1 < 20 AND B1 > 0 THEN LOCATE B1, B2: PRINT CHR$(2) IF B1 + BH > 4 AND B1 + BH < 18 AND B2 > 24 AND B2 < 54 THEN YYU = TA(INT(B1 + BH - 4), INT(B2 - 19)) COLOR 15, YYU IF INT(B1 + BH) > 1 AND INT(B1 + BH) < 24 THEN LOCATE INT(B1 + BH), B2: PRINT CHR$(2) RETURN P12: COLOR 10, 0: LOCATE 21, YU: PRINT "ммммм" COLOR 6, 0: LOCATE 22, YU: PRINT "пплпп" COLOR 14, 0: LOCATE 22, YU + 2: PRINT "л" YBE = YBE + 1: IF YBE > 3 THEN YBE = 0 RETURN P22: COLOR 10, 0: LOCATE 1, UU: PRINT "ммлмм" COLOR 2, 0: LOCATE 2, UU: PRINT "ппппп" COLOR 14, 0: LOCATE 1, UU + 2: PRINT "л" UBE = UBE + 1: IF UBE > 3 THEN UBE = 0 RETURN YYY: TT = TIMER YY2: IF TIMER - TT > .04 THEN RETURN GOTO YY2 CHOOSE: FOR TT = 10 TO 17 COLOR 15, 0: LOCATE TT, 22: PRINT "лллллллллллллллллллллллллллллллллл" IF TT > 10 AND TT < 17 THEN COLOR 1, 0: LOCATE TT, 23: PRINT "лллллллллллллллллллллллллллллллл" NEXT TT COLOR 7, 0: LOCATE 18, 22: PRINT "лллллллллллллллллллллллллллллллллл" COLOR 15, 1 LOCATE 11, 23: PRINT " Table Tennis " LOCATE 13, 23: PRINT " 1 Player " LOCATE 15, 23: PRINT " 2 Players " HJ: A$ = INKEY$ IF A$ = CHR$(0) + "P" OR A$ = CHR$(0) + "H" THEN PLY = 1 - PLY LOCATE 13 + PLY * 2, 29: PRINT ">" LOCATE 13 + (1 - PLY) * 2, 29: PRINT " " IF A$ = CHR$(13) THEN RETURN GOTO HJ