'PISKVORKY MN 1995 :) DIM Hodnoceni(12): FOR i% = 0 TO 11: READ h%: Hodnoceni(i%) = h%: NEXT i% Sir% = 20: Vys% = 11: DIM Pole(Sir%, Vys%, 1): CLS : COLOR 7 FOR i% = 0 TO Vys%: PRINT "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" IF i% <> Vys% THEN PRINT "| | | | | | | | | | | | | | | | | | | | |" NEXT i%: LOCATE 20, 50: PRINT "PISKVORKY 95": LOCATE 21, 50: PRINT "Miroslav Novak" x% = 0: y% = 0 t% = -1: xa% = 0: xb% = Sir% - 1: ya% = 0: yb% = Vys% - 1: sx% = sy% = 0: GOSUB Scan Znovu: SELECT CASE RIGHT$(INKEY$, 1) CASE "H": IF y% > 0 THEN y% = y% - 1 CASE "K": IF x% > 0 THEN x% = x% - 1 CASE "M": IF x% < Sir% - 1 THEN x% = x% + 1 CASE "P": IF y% < Vys% - 1 THEN y% = y% + 1 CASE CHR$(13): IF Pole(x%, y%, 0) = 0 THEN Pole(x%, y%, 0) = 2: COLOR 10: PRINT "X"; : GOTO Pocitac CASE CHR$(27): SYSTEM END SELECT LOCATE y% * 2 + 2, x% * 2 + 2, 1, 1, 31: GOTO Znovu Pocitac: t% = 1 t% = 0: xb% = Sir% - 1: ya% = 0: yb% = Vys% - 1: sx% = sy% = 0: GOSUB Scan t% = 1: xb% = Sir% - 5: ya% = 0: yb% = Vys% - 1: sx% = 1: sy% = 0: GOSUB Scan t% = 1: xb% = Sir% - 1: ya% = 0: yb% = Vys% - 5: sx% = 0: sy% = 1: GOSUB Scan t% = 1: xb% = Sir% - 5: ya% = 0: yb% = Vys% - 5: sx% = 1: sy% = 1: GOSUB Scan t% = 1: xb% = Sir% - 5: ya% = 4: yb% = Vys% - 1: sx% = 1: sy% = -1: GOSUB Scan t% = 2: xb% = Sir% - 1: ya% = 0: yb% = Vys% - 1: sx% = sy% = 0: GOSUB Scan LOCATE y% * 2 + 2, x% * 2 + 2, 1, 1, 31: COLOR 14: PRINT "O"; : Pole(x%, y%, 0) = 1 GOTO Znovu: Scan: mh% = -1: xa% = 0 FOR ix% = xa% TO xb%: FOR iy% = ya% TO yb% LOCATE iy% * 2 + 2, ix% * 2 + 2, 1, 1, 31 SELECT CASE t% CASE -1: Pole(ix%, iy%, 0) = 0 CASE 0: Pole(ix%, iy%, 1) = 0 CASE 1: h% = 0: GOSUB Petice IF kr% = 0 THEN h% = Hodnoceni(ko%): IF ko% = 4 THEN pt% = 1: GOSUB Petice: GOTO Konec IF ko% = 0 THEN h% = h% + Hodnoceni(kr% + 6): IF kr% = 5 THEN pt% = 2: GOSUB Petice: GOTO Konec GOSUB Petice CASE 2: IF (Pole(ix%, iy%, 0) = 0) AND (Pole(ix%, iy%, 1) > mh%) THEN mh% = Pole(ix%, iy%, 1): x% = ix%: y% = iy% END IF: END SELECT: NEXT iy%: NEXT ix%: RETURN Petice: kr% = 0: ko% = 0: FOR i% = 0 TO 4 px% = ix% + i% * sx%: py% = iy% + i% * sy% IF Pole(px%, py%, 0) = 1 THEN ko% = ko% + 1 IF Pole(px%, py%, 0) = 2 THEN kr% = kr% + 1 Pole(px%, py%, 1) = Pole(px%, py%, 1) + h% IF pt% <> 0 THEN LOCATE py% * 2 + 2, px% * 2 + 2: IF pt% = 1 THEN COLOR 30: PRINT "O"; : ELSE COLOR 26: PRINT "X"; NEXT i%: pt = 0: RETURN Konec: DO: LOOP UNTIL INKEY$ <> "": RUN DATA 2,30,100,500,10000,0 : DATA 1,20,90,400,8000,0