40 REM RNDr.Milan KOMAN, CSc. 50 REM MU CSAV, Zitna 25 60 REM 115 67 Praha 1 70 REM------------------------ 80 REM H O U S K Y 90 REM------------------------- 95 REM DEMO 3200 100 CLS: A=4 102 PRINT & A,11 CHR$(15)"Z" 104 A=A+1 106 PRINT & A,10 CHR$(15) "XMMXMMMMMX" 108 PRINT CHR$(15) CHR$(19) &A,11"[" &A,16"WW" &A,20"[" &A,22"WW" 110 A=A+1 112 PRINT & A,10 CHR$(15) "YMMYMMYMMYMMY" 114 PRINT CHR$(15) CHR$(19) &A,11"Y" &A,17"Y" &A,20"Y" &A,23"Y" 116 A=A+1 118 PRINT & A,10 CHR$(15) "YMMYMMYMM[" 120 PRINT CHR$(15) CHR$(19) &A,11"Y" &A,17"Y" &A,20"X" &A,22"VU" 122 A=A+1 124 PRINT & A,19 CHR$(15) "YMMY" 126 PRINT CHR$(15) CHR$(19) &A,10"VU" &A,13"VW" &A,16"VU" &A,20"Y"&A,23"Y" 128 A=A+3 130 PRINT CHR$(15) &A,16"[" CHR$(19) "X" 132 A=A+1 134 PRINTCHR$(15)&A, 16"Y" CHR$(19) "Y" 136 A=A+1 138 PRINTCHR$(15) &A,16"Y" CHR$(19) "Y" 140 A=A+1 142 PRINTCHR$(15)&A,16"WW" 144 A=A+1 146 PRINT CHR$(15)&A,22 "Z" 148 A=A+1 150 PRINT CHR$(15)&A,7"XMMXMMXMMXMMMMMMMMMMX" 152 PRINT CHR$(15) CHR$(19) &A,5 "[" &A,8 "[W" &A,11"[" &A,14"[W"&A,17"[" 154 PRINT CHR$(15) CHR$(19) & A,19"[" &A,21"WW" &A,24"WW" &A,28"[" 156 A=A+1 158 PRINT CHR$(15) & A,7"YMMYMMYMMMMMUMYMMYMMY" 160 PRINTCHR$(15)CHR$(19) &A,5"Y"&A,8"Y"&A,11"Y"&A,14"Y"&A,17"Y["&A,22"Y" 162 PRINT CHR$(15) CHR$(19) &A,28"Y" 164 A=A+1 166 PRINT CHR$(15) &A,6"WYMMYMMYVWYMMMMMMMYMM[" 168 PRINT CHR$(15)CHR$(19)&A,5"Y" &A,8"Y"&A,11"Y"&A,17"YZ"&A,21"VU"&A,28"X" 170 A=A+1 172 PRINT CHR$(15) &A,7"YMMYMMYMMYMMMMYMMMMMY" 174 PRINT CHR$(15)CHR$(19)&A,5"Y"&A,8"YW"&A,11"YW"&A,14"[W"&A,17"Y"&A,19"Z" 176 PRINT CHR$(15)CHR$(19) &A,22"Y"&A,24"VW"&A,28"Y" 180 CLEAR 500 185 PRINT & 30,17;"AUTOR: M.KOMAN"; 190 R=0:F=30:B$="@":GOSUB 1600 200 WAIT(4):GOSUB 1620:CLS 240 PRINT &10,2;"KDYZ NA LEVE STRANE BLIKA "+B$+"," 250 PRINT & 12,4;"STISKNI A KRATCE PODRZ" 260 PRINT & 14,9;"CERNOU KLAVESU" 265 R=0 270 F=10:P=0 280 GOSUB 1600:WAIT(2) 290 IF R>0 THEN 294 292 GOSUB 3000:GOSUB 1620 293 CLS:PRINT&0,0;B$+" 1.ULOHU BUDU RESIT SAM":H=25:W=2:GOTO 298 294 GOSUB 1620 295 CLS:PRINT&0,0;B$+" ZVOL SAM POCET HOUSEK H<49" 296 INPUT " H=";H:W=W+6 297 IF INT(H)49 THEN GOTO 305 298 K=4:M=H:CM=0:IF M>9 THEN CM=1 299 F=W-2:PRINT &0,0 " ": GOSUB 1600:W=0 300 CLS: P=0: GOTO 310 305 PRINT:PRINT "VOL CELE CISLO OD 1 DO 49":GOTO 296 310 PRINT & 0,0; B$ + " PEKAR PLETE HOUSKY" 320 WAIT(4) 330 D=1:S=H:DP=H:GOSUB 1800 340 FOR A=D TO H 350 GOSUB 1700 360 C=1:IF A>9 THEN C=2 370 IF INT(A/4)=A/4 THEN PRINT & X-5,Y-C;A; 380 FOR K=-4 TO -1 390 PRINT & X+K,Y; "O"; 400 NEXT 410 WAIT(1) 420 NEXT 430 GOSUB 1800 440 F=0:GOSUB 1600 450 PRINT & 2,0;B$+" USTIPUJE KOUSKY" 460 WAIT(4) 470 FOR A=1 TO H 480 GOSUB 1700 490 PRINT & X-1,Y;" " & X,Y;"O"; 500 WAIT(1) 510 NEXT 520 F=2 530 GOSUB 1600 540 PRINT & 4,0;B$+" DO PECE DA HOUSKY" 550 WAIT(3) 560 FOR A=1 TO H 570 GOSUB 1700 580 IF INT(A/4)=A/4 THEN PRINT & X-5,Y-C;" " 590 FOR K=-5 TO -2 600 PRINT & X+K,Y;" "; 610 NEXT 620 WAIT(1) 630 NEXT 650 PRINT & 4,27 "P"+STR$(P+1) +"="+STR$(DP) 670 PRINT & 4,0;" " 690 PRINT & 6,0 ;B$+" ZBYDOU MU JEN KOUSKY" 700 WAIT(5) 710 F=6 720 GOSUB 1600 730 PRINT & 8,0 ;B$+" KDYZ MA ASPON 4 KOUSKY" 735 WAIT(10) 740 PRINT & 10,2;"MUZE ZAS PLEST NOVE HOUSKY" 750 IF H<4 THEN GOTO 1330 760 IF P>0 THEN 820 765 FOR B=1 TO 4 770 PRINT & 16+P,0;" " 780 WAIT(2) 790 PRINT & 16+P,0;"O O O O" 800 WAIT(2) 810 NEXT 820 PRINT & 8,0;" ":F=10 830 GOSUB 1600 840 PRINT & 0,0;B$ 850 WAIT(2):REM:PLETOU SE NOVE HOUSKY 900 FOR A=1 TO 4*INT(H/4)-3 STEP 4:GOSUB 1700 910 FOR K=O TO 3 920 PRINT & X,Y+2*K;" "; 930 WAIT(2) 940 PRINT & X-K,Y;"O"; 950 NEXT 960 WAIT(1) 970 NEXT 980 REM:POSUNUTI HOUSEK A KOUSKU 990 L=2*H-1:Z=8*INT(H/4)-7:T=6*INT((H-1)/4) 1000 K$=" O O O " 1010 A$="O O O O " 1020 A$=A$+A$+A$ 1030 A$=LEFT$(A$,Z+1) 1040 K$=A$+LEFT$(K$,L-Z) 1050 U=0 1060 FOR I=0 TO T 1070 Q=0: IF INT(I/6)=I/6 THEN Q=2 1080 FOR K=-3 TO -1 1090 PRINT & 16+K+ P,U MID$(A$,1+U+I,32-U)& 11,0 1100 NEXT 1110 PRINT & 16+P,U MID$(K$,1+U+I,32-U)&11,0 1120 IF H<17 THEN 1220 1130 FOR K=-3 TO -1 1140 PRINT & 23+K,0 MID$(A$,33+I,32) 1150 NEXT 1160 PRINT & 23,0 MID$(K$,33+I,32) 1170 IF H<33 THEN 1220 1180 FOR K=-3 TO -1 1190 PRINT & 30+K,0 MID$(A$,65+I,31); 1200 NEXT 1210 PRINT & 30,0 MID$(K$,65+I,31); 1220 U=U+Q 1230 NEXT 1240 D=1:H=INT(H/4):P=P+1 1250 REM:OCISLOVANI HOUSEK 1260 FOR A=D TO H 1270 GOSUB 1700 1275 C=1:IF A>9 THEN C=2 1280 IF INT(A/4)=A/4 THEN PRINT & X-5,Y-C;A 1290 NEXT 1300 GOSUB1800 1310 DP=H:H=H+(L-Z-6)/2 1320 GOTO 430 1330 F=8 1340 GOSUB 1600 1350 GOSUB 1890 1360 F=13 1370 GOSUB 1600 1380 PRINT & 20,0;B$+" HOUSEK NA ZACATKU:" & 20,26;"H =" & 20,30-CM;STR$(M); 1390 PRINT& 21,2;CHR$(15)"QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ" 1400 PRINT & 22,26;"P1=" & 22,30-CM;STR$(M); 1410 I=1:K=4:S=M 1420 IF M9 THEN C=1 1460 PRINT & 20+2*I,26;"P"+STR$(I)+"=" & 20+2*I,30-C;STR$(Q); 1470 M=Q+Z 1480 GOTO1420 1490 PRINT & 21+2*I,2;CHR$(15) "QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"; 1495 IF M<4 THEN P=1 1500 F=20:GOSUB 1600 1510 C=0:IF S>9 THEN C=1 1520 PRINT & 22+2*I,0; B$+" HOUSEK NA KONCI" & 22+2*I,26;"P ="; 1530 PRINT & 22+2*I,30-C;STR$(S); 1540 F=22+2*I:GOSUB 1620 1550 P= 0:E=V*30: GOSUB 1600: E=0 1560 R=R+1:IF V=1 THEN 3200:IF R=1 AND V=0 THEN 295 1570 GOSUB 1620: CLS:PRINT "CHCES" 1575 PRINT " -DALSI PRIKLAD? STISKNI A" 1580 PRINT " -RESIT ULOHU SAM? STISKNI S" 1590 GOTO 2000 1600 IF P>0 OR V=1 THEN PRINT & F,0;B$;:WAIT(20+E):GOTO 1640 1610 IF INKEY$ ="" THEN 1630 1620 IF NOT INKEY$="" THEN 1620 1625 RETURN 1630 PRINT & F,0 ;B$;:WAIT(1) 1640 PRINT & F,0 ;" ";:WAIT(1) 1650 IF P=0 AND V=0 THEN 1610 1660 GOTO 1620 1700 I=INT((A-1)/16)+1 1710 J=A-16*(I-1) 1720 X=7*I+9+P 1730 Y=2*J-2 1740 RETURN 1800 PRINT & 0,27;"H"+STR$(P+1)+"="+STR$(DP) 1810 WAIT(3) 1820 RETURN 1890 PRINT & X,0;" " 1900 PRINT & 13,0; B$+" " &13,2 CHR$(19) "ALE" CHR$(18) " ZBYLO JICH JEN MALO" 1910 PRINT & 13,29;"Z="STR$(H) 1920 PRINT & 15,2; "NA HOUSKU SE NEDOSTALO" 1930 RETURN 2000 IF INKEY$="" THEN 2000 2010 IF INKEY$="A" THEN 295 2020 IF INKEY$="S" THEN 2070 2030 CLS 2040 PRINT:PRINT:PRINT 2050 PRINT "DEKUJI ZA POZORNOST" 2060 PRINT " NA SHLEDANOU":END 2070 CLS:F=2:P=0:B$="@":GOSUB 1630 2080 PRINT "ZVOL STUPEN OBTIZNOSTI ULOHY" 2090 PRINT :PRINT TAB(8) "STISKNI CISLO OD 1 DO 5" 2095 GOSUB 1620 2100 IF INKEY$="" THEN 2100 2110 IF INKEY$="1" THEN T=1:GOTO2160 2120 IF INKEY$="2" THEN T=2:GOTO2160 2130 IF INKEY$="3" THEN T=3:GOTO2160 2140 IF INKEY$="4" THEN T=4:GOTO2510 2150 IF INKEY$="5" THEN T=5:GOTO2700 2155 GOTO 2030 2160 CLS:K=4 2170 PRINT "STUPEN OBTIZNOSTI T="+STR$(T) 2180 IF T=3 THEN H=50 +INT(50*RND(0)) 2182 IF T=2 THEN H =20+INT(30*RND(0)) 2184 IF T=1 THEN H =10+INT(10*RND(0)):IF H=12 THEN H=7 2190 PRINT:PRINT"HOUSEK NA ZACATKU H="H:PRINT 2202 IF T>1 THEN PRINT "RES ULOHU POCETNE":GOTO 2220 2204 PRINT "RES ULOHU" 2210 PRINT " POMOCI KRYCHLOVE STAVEBNICE" 2220 PRINT:PRINT 2225 GOSUB 1620 2230 PRINT "DOPLN TABULKU" 2235 PRINT " HOUSEK NA ZACATKU H="H 2240 GOSUB 1620:INPUT " HOUSEK NA KONCI P=";SV 2250 INPUT " ZBYLO KOUSKU Z=";ZV 2255 PRINT &30,0 :PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 2260 GOSUB 2800 2270 IF S=SV AND Z=ZV THEN 2420 2280 PRINT&18,0;"MAS CHYBNY VYSLEDEK" 2290 PRINT " SPRAVNE JE P="S" Z="Z 2295 GOSUB 1620 2300 IF T>1 THEN 2430 2310 PRINT: PRINT "CHCES GRAFICKE RESENI?" 2312 PRINT " ANO - STISKNI A" 2314 PRINT " NE - STISKNI N"; 2320 IF INKEY$="" THEN 2320 2330 IF INKEY$="A" THEN 297 2332 IF INKEY$="N" THEN 2360 2334 GOTO 2030 2360 CLS:WAIT(2):GOSUB 1620 2365 GOTO 2430 2420 PRINT &20,0;"ODPOVED JE SPRAVNA":PRINT 2430 PRINT "CHCES DALSI ULOHU? STISKNI S"; 2440 IF INKEY$="" THEN 2440 2450 IF INKEY$="S" THEN 2470 2460 GOTO 2020 2470 IF T=5 THEN 2070 2472 IF S=SV AND Z=ZV THEN 2070 2480 IF T>1 THEN T=T-1 2490 GOTO 2160 2510 CLS 2520 PRINT "STUPEN OBTIZNOATI T=4" 2530 PRINT 2540 PRINT "RES OBECNEJSI ULOHU:" 2550 PRINT: PRINT "POCET KOUSKU NA NOVOU HOUSKU" 2570 PRINT "NENI 4,ALE JE K;" 2600 H=20+INT(80*RND(0)) 2610 K=3+INT(9*RND(0)):IF K=4 THEN 2610 2620 PRINT:PRINT"HOUSEK NA ZACATKU H=";H 2630 PRINT "POCET KOUSKU NA 1 HOUSKU K=";K 2640 PRINT:PRINT: GOTO 2230 2650 GOSUB 1620 2670 INPUT "HOUSEK NA ZACATKU H=";HV 2680 IF H=HV THEN 2720 2700 CLS:PRINT "STUPEN OBTIZNOSTI T=5" 2710 PRINT :PRINT "RES OBRACENOU ULOHU:" 2715 H=50+INT(100*RND(0)):K=3+INT(7*RND(0)):GOSUB 2800 2720 PRINT "ZNAS" 2722 PRINT " KONECNY POCET HOUSEK P="S 2730 PRINT " POCET ZBYLYCH KOUSKU Z="Z 2740 PRINT " KOUSKU NA 1 HOUSKU K="K 2750 PRINT "URCI" 2755 PRINT " P0CATECNI POCET HOUSEK H" 2760 PRINT:PRINT "DOPLN TABULKU" 2770 PRINT " HOUSEK NA KONCI P="S 2780 PRINT " ZBYLYCH KOUSKU Z="Z 2790 GOSUB 1620:INPUT " HOUSEK NA ZACATKU H=";HV 2792 PRINT&30,0:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 2794 IF H=HV THEN 2420 2796 PRINT&18,0;"MAS CHYBNY VYSLEDEK" 2798 PRINT "SPRAVNY VYSLEDEK JE H="H 2799 PRINT: GOTO 2430 2800 S=H:Z=H 2810 IF Z