10 CLS : REM ******************** l¢ugr s ********************** 15 DIM X(400): DIM Y(400): DIM KIV(400): DIM M(400): DIM K$(400): DIM L(400) 20 REM ****** ki¡r s *********** 30 LOCATE 2, 11: PRINT "É" 40 FOR X1 = 12 TO 51 50 LOCATE 2, X1: PRINT "Í" 60 NEXT X1 70 LOCATE 2, 52: PRINT "»" 80 FOR X2 = 3 TO 22 90 LOCATE X2, 52: PRINT "º" 100 NEXT X2 110 LOCATE 23, 52: PRINT "¼" 120 FOR X3 = 51 TO 12 STEP -1 130 LOCATE 23, X3: PRINT "Í" 140 NEXT X3 150 LOCATE 23, 11: PRINT "È" 160 FOR X4 = 22 TO 3 STEP -1 170 LOCATE X4, 11: PRINT "º" 180 NEXT X4 190 LOCATE 2, 60: PRINT "²²22²²33²²" 200 LOCATE 3, 60: PRINT "11²²°°²²44" 210 LOCATE 4, 60: PRINT "²²°°ÛÛ°°²²" 220 LOCATE 5, 60: PRINT "55²²°°²²88" 230 LOCATE 6, 60: PRINT "²²66²²77²²" 240 DIM C(20, 20) 250 LOCATE 1, 1: PRINT "szorz¢t bla? (i)" 260 V$ = INKEY$ 270 IF V$ = "" THEN GOTO 260 280 IF V$ <> "I" AND V$ <> "i" THEN GOTO 390 290 REM ************* szorz¢t bla ******************* 300 LOCATE 1, 1: INPUT "H nyszor h nyas (x,y)"; A, B 310 IF A < 1 OR B < 1 OR A > 20 OR B > 20 THEN BEEP: GOTO 300 320 LOCATE 1, 1: PRINT " " 330 S = A * B 335 IF (-1) ^ S < 0 THEN SOT = 1 340 FOR K = 1 TO A: FOR L = 1 TO B 350 C(K, L) = 1: REM **** ezekre l‚phet **** 360 LOCATE 23 - L, 2 * K + 10: PRINT "²²" 370 NEXT: NEXT 380 GOTO 500 390 REM ********************* saj t t bla *********************** 395 LOCATE 12, 54: PRINT " k”v. oszlop: enter" 396 LOCATE 13, 54: PRINT " res mez“: sz¢k”z" 397 LOCATE 14, 54: PRINT "bej rand¢ mez“: egy‚b" 400 FOR X1 = 1 TO 20: FOR Y1 = 1 TO 20 410 LOCATE 8, 60: PRINT X1; ","; Y1 420 LOCATE 23 - Y1, 2 * X1 + 10: PRINT "??" 430 T$ = INKEY$: IF T$ = "" THEN GOTO 430 440 LOCATE 23 - Y1, 2 * X1 + 10: PRINT " " 450 IF T$ = CHR$(13) THEN GOTO 480 460 IF T$ <> " " THEN C(X1, Y1) = 1: LOCATE 23 - Y1, 2 * X1 + 10: PRINT "²²": S = S + 1 464 SZIN = (X1 + Y1) / 2 465 IF INT(SZIN) = SZIN AND T$ <> " " THEN SOT = SOT + 1 466 IF INT(SZIN) <> SZIN AND T$ <> " " THEN VIL = VIL + 1 470 NEXT Y1 480 NEXT X1 490 LOCATE 8, 60: PRINT " " 495 LOCATE 12, 54: PRINT " " 496 LOCATE 13, 54: PRINT " " 497 LOCATE 14, 54: PRINT " " 500 U(1) = -2: U(2) = -1: U(3) = 1: U(4) = 2 510 U(5) = -2: U(6) = -1: U(7) = 1: U(8) = 2 520 V(1) = 1: V(2) = 2: V(3) = 2: V(4) = 1 530 V(5) = -1: V(6) = -2: V(7) = -2: V(8) = -1 540 LOCATE 10, 64: PRINT ".  ll s" 550 LOCATE 11, 64: PRINT ". el gaz s" 560 LOCATE 15, 60: PRINT " mez“k sz ma:"; S 570 LOCATE 17, 60: PRINT " betelt:" 572 LOCATE 19, 55: PRINT "visszav‚tel: h trat”rl‚s" 573 LOCATE 20, 55: PRINT " v‚ge: enter" 590 LOCATE 1, 1: INPUT "honnan indulsz (x,y)"; X(1), Y(1) 600 IF X(1) < 1 OR X(1) > 20 OR Y(1) < 1 OR Y(1) > 20 THEN BEEP: GOTO 590 605 IF INT(X(1)) <> X(1) OR INT(Y(1)) <> Y(1) THEN BEEP: GOTO 590 610 IF C(X(1), Y(1)) = 0 THEN BEEP: GOTO 590 620 C(X(1), Y(1)) = 2: LOCATE 23 - Y(1), 2 * X(1) + 10: PRINT "°°" 621 Q = (X(1) + Y(1)) / 2 622 IF SOT > VIL AND Q <> INT(Q) THEN TOBB = SOT - VIL 623 IF SOT > VIL AND Q = INT(Q) THEN TOBB = SOT - VIL - 1 624 IF SOT < VIL AND Q <> INT(Q) THEN TOBB = VIL - SOT - 1 625 IF SOT < VIL AND Q = INT(Q) THEN TOBB = VIL - SOT 626 IF SOT = VIL THEN TOBB = 0 627 LOCATE 16, 60: PRINT "bej rhatatlan:"; TOBB 630 N = 1 640 REM ************************ l‚p‚s *************************** 650 KIV(N) = 1 660 FOR I = 1 TO 8: B(I) = 0: NEXT I 670 K$(N) = "" 680 FOR I = 1 TO 8 690 F = X(N) + U(I): G = Y(N) + V(I) 700 IF F < 1 OR G < 1 OR F > 20 OR G > 20 THEN GOTO 790 710 IF C(F, G) = 0 OR C(F, G) = 2 THEN GOTO 790 720 FOR L = 1 TO 8 730 O = F + U(L): P = G + V(L) 740 IF O < 1 OR P < 1 OR O > 20 OR P > 20 THEN GOTO 770 750 IF C(O, P) = 0 OR C(O, P) = 2 THEN GOTO 770 760 B(I) = B(I) + 1: W = W + 1 770 NEXT L 780 IF W = 0 AND N = S - 2 OR W = 0 AND N = S - 1 THEN K$(N) = RIGHT$(STR$(I), 1): KIV(N) = 1: GOTO 950 790 NEXT I 800 REM ****************** rendez‚s ********************* 810 R = 1 820 FOR A = 1 TO 8 830 IF B(A) = R THEN B(A) = 0: K$(N) = K$(N) + RIGHT$(STR$(A), 1): LOCATE 13, 61: PRINT K$(N); " " 840 NEXT A 850 IF R < 8 THEN R = R + 1: GOTO 820 860 IF W = 0 THEN GOTO 880 861 G$ = INKEY$ 862 IF T = 1 AND G$ = "" THEN GOTO 861 863 IF G$ = CHR$(8) THEN T = 1 ELSE GOTO 869 864 H = VAL(MID$(K$(N - 1), KIV(N - 1), 1)) 865 LOCATE 10, 60: PRINT N: LOCATE 11, 60: PRINT H 866 GOTO 890 869 LOCATE 23 - Y(N), 2 * X(N) + 10: PRINT "ÛÛ": T = 0 870 W = 0: GOTO 950 880 REM ************** visszal‚p‚s ********************* 890 IF N = 1 THEN GOTO 1080 900 LOCATE 23 - Y(N), 2 * X(N) + 10: PRINT "²²" 910 C(X(N), Y(N)) = 1: N = N - 1: KIV(N) = KIV(N) + 1 920 IF KIV(N) = LEN(K$(N)) + 1 THEN GOTO 890 925 LOCATE 23 - Y(N), 2 * X(N) + 10: PRINT "!!" 930 GOTO 660 940 REM ******************** beiktat s ******************************** 950 H = VAL(MID$(K$(N), KIV(N), 1)): L(N) = H 960 F = X(N) + U(H): G = Y(N) + V(H) 970 C(F, G) = 2 980 IF N > MAX THEN MAX = N: FOR J = 1 TO N: M(J) = L(J): NEXT: LOCATE 17, 74: PRINT MAX + 1 1000 LOCATE 10, 60: PRINT N: LOCATE 11, 60: PRINT L(N) 1010 LOCATE 23 - G, F * 2 + 10: PRINT "ÛÛ" 1030 IF G$ = CHR$(13) OR MAX = S - 1 THEN GOTO 1080 1040 N = N + 1 1050 X(N) = F: Y(N) = G 1060 GOTO 650 1070 REM ****************** eredm‚ny ********************** 1080 BEEP: LOCATE 23, 1: FOR K = 1 TO MAX: PRINT M(K); : NEXT K