0 REM ԠנɠɦԠՠΤ 1 REM ԠנɠɦԠՠʤ 2 CLR :DIM KWAS$(2),ZASADA$(2),A$(20),O$(20),M$(40*16),CZ(40),OCENA$(40),R$(1),POL$(250) 4 GOTO 32500 5 PAUZA=29000:REKORD=1000 7 GOSUB 32700:POSITION 20,19:? " -CZO\@WKA" 8 POSITION 1,21:? "":GOSUB PAUZA:? "}" 9 NR=1:REKORD=1000 10 POSITION 1,3:? "Šɮ":POSITION 1,5:? "Πڠɮ" 12 TRAP 600:BL=12 13 POKE 752,0:POSITION 17,10:? " ":POSITION 17,10:INPUT T:IF T=1 THEN TYP=30000 14 IF T=2 THEN TYP=31000 15 IF T<>1 AND T<>2 THEN GOTO 13 16 POSITION 1,15:? "鿠" 17 TRAP 600:BL=17 18 POSITION 17,19:? " ":POSITION 17,19:INPUT ILE 19 IF NR=41 THEN 9 20 ? "}":POSITION 1,1:? "ﺠ" 22 POKE 752,0:LICZNIK=0:SEK=0:POSITION 5,4:INPUT A$ 24 IF A$="" THEN GOTO 22 30 M$((NR-1)*16+1,NR*16)=" ":M$((NR-1)*16+1,NR*16)=A$ 40 REAKCJA=0:DOBRZE=0 45 POKE 752,1 50 LICZNIK=LICZNIK+1:? "}":POSITION 1,4:V=INT(RND(0)*24)*10+100:GOTO V 100 ? "Me(OH) + HRe = Me(Re) + HO   " 101 O=4:Q=1000:GOSUB 500 103 LOS=INT(RND(0)*2)+1011 104 RESTORE LOS:READ KWAS$:POSITION 15,4:? KWAS$:POSITION 25,4:? KWAS$ 105 K=2:L=3:M=6:GOSUB TYP:GOTO 50 110 ? "Me(OH) + HPO = Me(PO ) + HO   " 111 O=9:Q=1020:GOSUB 500 115 K=3:L=2:M=6:GOSUB TYP:GOTO 50 120 ? "MeOH + HR = MeR + HO " 121 O=6:Q=1030:GOSUB 500 123 LOS=INT(RND(0)*4)+1040 124 RESTORE LOS:READ KWAS$:POSITION 14,4:? KWAS$:POSITION 23,4:? KWAS$ 125 K=1:L=1:M=1:GOSUB TYP:GOTO 50 130 ? "Me(OH) + HR = MeR  + HO " 131 O=4:Q=1000:GOSUB 500 133 LOS=INT(RND(0)*4)+1040 134 RESTORE LOS:READ KWAS$:POSITION 14,4:? KWAS$:POSITION 23,4:? KWAS$:GOSUB 700 135 K=1:L=3:M=3:GOSUB TYP:GOTO 50 140 ? "Me(OH) + HSO = Me(SO ) + HO   " 141 O=4:Q=1000:GOSUB 500 145 K=2:L=3:M=6:GOSUB TYP:GOTO 50 150 ? "Me(OH) + HNO = Me(NO) + HO " 151 O=4:Q=1000:GOSUB 500 155 K=1:L=3:M=3:GOSUB TYP:GOTO 50 160 ? "Me(OH) + HS = MeS + HO   " 161 O=4:Q=1000:GOSUB 500 165 K=2:L=3:M=6:GOSUB TYP:GOTO 50 170 ? "Me(OH) + HPO = MePO + HO " 171 O=4:Q=1000:GOSUB 500 175 K=1:L=1:M=3:GOSUB TYP:GOTO 50 180 ? "Me(OH) + HR = MeR  + HO   " 181 O=9:Q=1020:GOSUB 500 183 LOS=INT(RND(0)*4)+1040 184 RESTORE LOS:READ KWAS$:POSITION 14,4:? KWAS$:POSITION 23,4:? KWAS$:GOSUB 700 185 K=1:L=2:M=2:GOSUB TYP:GOTO 50 190 ? "Me(OH) + HRe = MeRe + HO   " 191 O=9:Q=1020:GOSUB 500 193 LOS=INT(RND(0)*2)+1011 194 RESTORE LOS:READ KWAS$:POSITION 15,4:? KWAS$:POSITION 23,4:? KWAS$ 195 K=1:L=1:M=2:GOSUB TYP:GOTO 50 200 ? "Me(OH) + HSO = MeSO + HO   " 201 O=9:Q=1020:GOSUB 500 205 K=1:L=1:M=2:GOSUB TYP:GOTO 50 210 ? "Me(OH) + HNO = Me(NO) + HO   " 211 O=9:Q=1020:GOSUB 500 215 K=1:L=2:M=2:GOSUB TYP:GOTO 50 220 ? "Me(OH) + HS = MeS + HO   " 221 O=9:Q=1020:GOSUB 500 225 K=1:L=1:M=2:GOSUB TYP:GOTO 50 230 ? "MeOH + HNO = MeNO + HO " 231 O=6:Q=1030:GOSUB 500 235 K=1:L=1:M=1:GOSUB TYP:GOTO 50 240 ? "MeOH + HS = MeS + HO   " 241 O=6:Q=1030:GOSUB 500 245 K=2:L=1:M=2:GOSUB TYP:GOTO 50 250 ? "MeOH + HSO = MeSO + HO   " 251 O=6:Q=1030:GOSUB 500 255 K=2:L=1:M=2:GOSUB TYP:GOTO 50 260 ? "MeOH + HRe = MeRe + HO   " 261 O=6:Q=1030:GOSUB 500 263 LOS=INT(RND(0)*2)+1011 264 RESTORE LOS:READ KWAS$:POSITION 15,4:? KWAS$:POSITION 24,4:? KWAS$ 265 K=2:L=1:M=2:GOSUB TYP:GOTO 50 270 ? "MeOH + HPO = MePO + HO " 271 O=6:Q=1030:GOSUB 500 275 K=3:L=1:M=3:GOSUB TYP:GOTO 50 280 ? "Me(OH) + HNO = Me(NO) + HO " 281 O=2:Q=1050:GOSUB 500 285 K=1:L=4:M=4:GOSUB TYP:GOTO 50 290 ? "Me(OH) + HR = MeR + HO " 291 O=2:Q=1050:GOSUB 500 293 LOS=INT(RND(0)*4)+1040 294 RESTORE LOS:READ KWAS$:POSITION 14,4:? KWAS$:POSITION 23,4:? KWAS$:GOSUB 700 295 K=1:L=4:M=4:GOSUB TYP:GOTO 50 300 ? "Me(OH) + HRe = Me(Re) + HO   " 301 O=2:Q=1050:GOSUB 500 303 LOS=INT(RND(0)*2)+1011 304 RESTORE LOS:READ KWAS$:POSITION 15,4:? KWAS$:POSITION 24,4:? KWAS$ 305 K=1:L=2:M=4:GOSUB TYP:GOTO 50 310 ? "Me(OH) + HSO = Me(SO ) + HO   " 311 O=2:Q=1050:GOSUB 500 315 K=1:L=2:M=4:GOSUB TYP:GOTO 50 320 ? "Me(OH) + HS = MeS + HO   " 321 O=2:Q=1050:GOSUB 500 325 K=1:L=2:M=4:GOSUB TYP:GOTO 50 330 ? "Me(OH) + HPO = Me(PO ) + HO " 331 O=2:Q=1050:GOSUB 500 335 K=3:L=4:M=12:GOSUB TYP:GOTO 50 500 LOS=INT(RND(0)*O)+Q 505 RESTORE LOS:READ ZASADA$:POSITION 2,4:? ZASADA$:POSITION 21,4:? ZASADA$ 510 IF ZASADA$="K" THEN 515 511 GOTO 520 515 POSITION 1,4:? " K":POSITION 21,4:? " K" 520 RETURN 600 POSITION 25,20:? "CYFRA!":GOTO BL 700 IF (KWAS$="F" OR KWAS$="J") AND V=180 THEN 702 701 GOTO 704 702 POSITION 24,4:? " ":POSITION 24,5:? " " 704 IF (KWAS$="F" OR KWAS$="J") AND V=290 THEN 706 705 GOTO 708 706 POSITION 24,4:? " ":POSITION 24,5:? " " 708 IF (KWAS$="F" OR KWAS$="J") AND V=130 THEN 710 709 GOTO 720 710 POSITION 24,4:? " ":POSITION 24,5:? " " 720 RETURN 999 DATA 1000 DATA Fe 1001 DATA Al 1002 DATA Cr 1003 DATA Ni 1011 DATA SO 1012 DATA CO 1020 DATA Ca 1021 DATA Cu 1022 DATA Zn 1023 DATA Fe 1024 DATA Pb 1025 DATA Mg 1026 DATA Hg 1027 DATA Sn 1028 DATA Mn 1030 DATA Na 1031 DATA K 1032 DATA Cu 1033 DATA Li 1034 DATA Ag 1035 DATA Hg 1040 DATA F 1041 DATA Cl 1042 DATA Br 1043 DATA J 1050 DATA Pb 1051 DATA Sn 24000 CZAS=PEEK(19)*5+PEEK(20)/50:POSITION 25,20:? " czas: ";INT(100*CZAS)*0.01:? "" 24005 GOSUB PAUZA 24008 SEK=SEK+CZAS 24010 IF LICZNIKREKORD THEN POSITION 12,12:? "REKORD: ";REKORD:GOTO 24072 24030 POSITION 6,8:? "TO JEST NOWY REKORD CZASU! ":POSITION 7,12:? "SUMA TWOICH CZAS@W: ";CZ(NR) 24040 IF REKORD=1000 THEN POSITION 10,16:? "ALE TO POCZ#TEK...":POSITION 2,2:GOTO 24070 24050 POSITION 8,16:? "POPRZEDNI REKORD: ";REKORD 24070 REKORD=INT(100*SEK)*0.01 24072 GOSUB PAUZA 24074 IF TYP=30000 THEN 24078 24076 GOSUB 31500:GOTO 24080 24078 GOSUB 30500 24080 ? "}":GOSUB 25000:? "}":GOTO 19 25000 REM Šϓɠנɠ 25010 OSTATNI=CZ(NR):O$=M$((NR-1)*16+1,NR*16):R$=OCENA$(NR,NR) 25015 IF NR=1 THEN 25075 25020 FOR I=1 TO NR-1 25022 IF TYP=30000 THEN 25029 25023 IF ASC(OCENA$(I,I))=ASC(R$) THEN 25029 25025 IF ASC(OCENA$(I,I))OSTATNI THEN 25035 25030 NEXT I 25035 FOR R=NR TO (I+1) STEP -1 25040 M$((R-1)*16+1,R*16)=M$((R-2)*16+1,(R-1)*16) 25045 CZ(R)=CZ(R-1) 25047 OCENA$(R,R)=OCENA$(R-1,R-1) 25050 NEXT R 25055 CZ(I)=OSTATNI:M$((I-1)*16+1,I*16)=O$:OCENA$(I,I)=R$ 25070 REM Š 25075 D=2:S=NR:NR=NR+1 25080 POKE 82,0:? "}";"׺" 25090 IF S<=20 THEN D=3:GOTO 25150 25095 IF D=1 THEN 25120 25100 FOR I=21 TO S:? " ";I;".";M$((I-1)*16+1,I*16);" ";OCENA$(I,I);" ";CZ(I):NEXT I 25105 POSITION 0,22:? "ҭЭ򮱠˭" 25108 IF NR=41 THEN POSITION 0,22:? "Э򮱠έ򮲠Ҭ˭ᡠ" 25110 GOTO 25170 25120 FOR I=1 TO 20:? " ";I;".";M$((I-1)*16+1,I*16);" ";OCENA$(I,I);" ";CZ(I):NEXT I 25130 POSITION 0,22:? "ҭέ򮲠˭" 25135 IF NR=41 THEN POSITION 0,22:? "Э򮱠έ򮲠Ҭ˭ᡠ" 25140 GOTO 25170 25150 FOR I=1 TO S:? " ";I;".";M$((I-1)*16+1,I*16);" ";OCENA$(I,I);" ";CZ(I):NEXT I 25160 POSITION 0,22:? "ҭ˭" 25170 I=PEEK(764):POKE 764,255:POKE 82,2 25180 IF I=10 AND D=2 THEN D=1:GOTO 25080 25190 IF I=35 AND D=1 THEN D=2:GOTO 25080 25200 IF I=40 THEN RETURN 25210 IF I=5 THEN ? "}":GOTO 9 25215 IF PEEK(53279)=3 THEN 32598 25220 GOTO 25170 29000 POSITION 11,22:? "NACI_NIJ CO_..." 29001 IF PEEK(764)<255 THEN 29005 29002 IF PEEK(53279)=3 THEN 32598 29003 GOTO 29001 29005 POKE 764,255:RETURN 30000 POSITION 1,8:? "麠" 30003 POSITION 1,20:? "&WICZY: ";A$ 30005 POSITION 1,1:? "򠠠" 30006 REAKCJA=REAKCJA+1:POSITION 27,1:? REAKCJA 30007 POKE 19,0:POKE 20,0 30008 X=9 30009 TRAP 600:BL=30009 30010 POSITION 2,X:? " ":POSITION 2,X:IF X=19 THEN GOTO 30008 30015 INPUT A 30020 IF A<>K THEN POSITION 2,X+1:? "Š":X=X+2:GOTO 30010 30030 IF A=K THEN POSITION 2,X+1:? "Š" 30031 POSITION 1,4:IF K=1 THEN ? " " 30035 IF A>1 THEN ? A 30040 IF ZASADA$="K" THEN POSITION 1,4:? " ";K 30041 IF K=1 AND ZASADA$="K" THEN POSITION 1,4:? " " 30045 X=9 30049 TRAP 600:BL=30049 30050 POSITION 14,X:? " ":POSITION 14,X:IF X=19 THEN GOTO 30045 30055 INPUT B 30060 IF B<>L THEN POSITION 14,X+1:? "Š":X=X+2:GOTO 30050 30070 IF B=L THEN POSITION 14,X+1:? "Š" 30071 POSITION 12,4:IF L=1 THEN ? " " 30075 IF B>1 THEN ? B 30080 X=9 30089 TRAP 600:BL=30089 30090 POSITION 26,X:? " ":POSITION 26,X:IF X=19 THEN GOTO 30080 30095 INPUT C 30100 IF C<>M THEN POSITION 26,X+1:? "Š":X=X+2:GOTO 30090 30110 IF C=M THEN POSITION 26,X+1:? "Š" 30111 POSITION 33,4:IF M=1 THEN ? " " 30115 IF C>1 THEN ? C 30120 GOTO 24000 30500 ? "}":POSITION 1,1:? "ᠠ" 30510 POSITION 1,3:? "Ạ" 30515 Y=10:REM Limit czasu na 6:ٽ 30520 POSITION 2,7:? "\#CZNY CZAS &WICZENIA: ";CZ(NR) 30525 POSITION 2,9:? "_REDNI CZAS NA REAKCJ$: ";INT(100*CZ(NR)/ILE)*0.01 30550 X=Y:POSITION 2,11 30555 FOR I=6 TO 2 STEP -1 30560 ? "Ocena = ";I;" gdy czas < ";INT(100*X)*0.01 30565 X=X+0.3*Y 30570 NEXT I 30669 X=Y 30670 FOR I=54 TO 50 STEP -1 30675 IF INT(CZ(NR)/ILE*100)*0.01K OR B<>L OR C<>M THEN POSITION 14,14:? "Š" 31100 IF A=K AND B=L AND C=M THEN POSITION 14,14:? "Š":DOBRZE=DOBRZE+1 31110 POSITION 1,4:IF K=1 THEN ? " " 31120 IF K>1 THEN ? K 31125 IF ZASADA$="K" THEN POSITION 1,4:? " ";K:IF K=1 THEN POSITION 1,4:? " " 31130 POSITION 12,4:IF L=1 THEN ? " " 31140 IF L>1 THEN ? L 31150 POSITION 33,4:IF M=1 THEN ? " " 31160 IF M>1 THEN ? M 31170 GOTO 24000 31500 ? "}":POSITION 1,1:? "" 31510 POSITION 1,3:? "Ạ" 31520 POSITION 2,6:? "ODPOWIADA\E_ Z ";ILE;" REAKCJI." 31525 POSITION 2,8:? " DOBRZE - ";DOBRZE:? " ]LE - ";REAKCJA-DOBRZE 31530 POSITION 2,11:? "SUMA TWOICH CZAS@W: ";CZ(NR) 31535 POSITION 2,12:? "_REDNI CZAS NA REAKCJ$: ";INT(CZ(NR)/ILE*100)*0.01 31599 REM ٽ 31600 Y=10 31610 POSITION 2,14:? "LIMIT CZASU NA REAKCJ$ < ";Y 31650 IF INT(CZ(NR)/ILE*100)*0.01>Y THEN DOBRZE=DOBRZE-1:POSITION 1,15:? "" 31690 T=0.4 31700 FOR I=49 TO 54 31710 IF DOBRZE