40 DATA 00003C063E663E030A000C183C60603C001A00003C667E603C062A0038181E38183C0062000C187C6666660072000C183C66,40,271881 50 DATA 663C007A0C183C603C063C009A0018187C18307C00D2000C187C18307C00C200183C66667E6603180C183C6660663C003000,50,271971 60 DATA 7E607C607E180C2000606C7860607E00E10C1866767E6E6600380C183C6666663C00010C183E603C067C00F918187E0C1830,60,277101 70 DATA 7E00D90C187E0C18307E00E968A00084CB84CDA9E085CCA99C85CEB1CB91CDC8D0F9E6CCE6CEA5CC2904F0EF68AA85CC6885,70,303109 80 DATA CBA0DD91CBA0EF91CBC88A91CBA0DE91CBA2A2CABD0080A829FC85CD982903099C85CEA008CABD00808891CDD0F78AD0E260,80,294699 100 DIM A$(100),C$(1),POL$(250):C$=CHR$(34):M=0:POKE 82,0:FOR K=1 TO 5 110 READ A$,L,S1:ON LEN(A$)<>100 GOTO 999:S2=0:FOR J=1 TO 99 STEP 2:B=0 120 FOR I=J TO J+1:N=ASC(A$(I,I)):S2=S2+I*N:N=N-48-7*(N>57) 130 ON (N<0 OR N>15) GOTO 999:B=B+N*(1+15*(I=J)):NEXT I:M=M+1:POL$(M)=CHR$(B):NEXT J:ON S1<>S2 GOTO 999:NEXT K 200 REM Patrz Bajtek 1/87 500 K=1:N=32760:POKE 752,1:? CHR$(125):POSITION 0,4:LIST N,N+4:FOR J=1 TO 3 505 M=(K+98-J)*(J<3)+250*(J=3):? N+J;" POL$(";K;")=";C$;:FOR I=K TO M 510 ? CHR$(27);POL$(I,I);:NEXT I:? C$:K=M+1:NEXT J 515 ? "POKE842,12:GOS.32760:CLR:L.:END":POSITION 0,2:POKE 842,13:NEW 999 ? "Popraw dane:":LIST L:END 32760 DIM POL$(250) 32764 POKE 106,156:GRAPHICS 0:POL=ADR(POL$):POL=USR(POL+162,POL):POKE 756,156:RETURN
200 GOSUB 32764:POKE 82,0:OPEN #1,4,0,"K":C=32:X=756:FOR I=1 TO 18:D=9*I 210 L=ASC(POL$(D,D)):PRINT L 212 A=INT(L/8) 213 R=L-8*A 214 B=A+C*(R+(R<2)-2*(R=2)) 216 ? CHR$(125):? 220 ? "Podaj klawisz dla ";CHR$(B);" = ";:B=L:FOR J=0 TO 6:FOR K=0 TO 99:NEXT K 230 POKE X,224:FOR K=0 TO 99:NEXT K:POKE X,156:NEXT J:GET #1,A:? CHR$(A):K=0 240 ON A=155 GOTO 270:B=A-128*(A>127):B=B+64*(B<C)-C*(B>31)*(B<96):M=INT(B/C) 250 B=B*B-255*M:A$="2 razy!":FOR J=1 TO I-1:K=K+(ASC(POL$(9*J,9*J))=B):NEXT J 260 ON K*I-K>0 GOSUB 980:A$="Tylko GR.0!":ON (M>1)=(R<2) GOSUB 980:A$="Tylko BOOT!":ON (B=34)+(B=155) GOSUB 980 270 A$="OK.":GOSUB 980:POL$(D,D)=CHR$(B):NEXT I:CLOSE #1 980 ? :? :? A$;" Zmienisz? (T/N) "; 981 GET #1,A:A=A-C*(A>90):N=(A=78):ON I-N-(A=84) GOTO 981:IF N THEN RETURN 982 POP :GOTO 210
400 ? CHR$(125):POL$(223,223)=CHR$(6):POL$(241,241)=CHR$(6):POL$(195)=POL$(218):DIM AUT$(250),B$(99):RESTORE 405:M=0 405 DATA 000400800D80A93C8D02D31860A2FDBDBA809DFF05CAD0F7A200BD1A03C945F005E8E8E8D0F4E88E8180BD1A0385CD,405,261447 410 DATA A9839D1A03E8BD1A0385CEA9809D1A03A000A210B1CD998380C8CAD0F7A95B8D8780A9808D8880A9288D828060AC82,410,254911 415 DATA 80F009B99280CE8280A001608A48AE8180A5CD9D1A0358A5CE9D1A0368AAA99BA00160000000000000000000000000,415,237765 420 DATA 00004C0000003635312C363537454B4F503A2938393631285253553D583A302E52473A3635312C363031454B4F50,420,230604 430 FOR K=1 TO 4:READ B$,L,S1:S2=0:FOR J=1 TO 93-2*(K=4) STEP 2:B=0:FOR I=J TO J+1:N=ASC(B$(I,I)):S2=S2+I*N 440 N=N-48-7*(N>57):B=B+N*(1+15*(I=J)):NEXT I:M=M+1:AUT$(M)=CHR$(B):NEXT J:ON S1<>S2 GOTO 999:NEXT K 450 ? "(K)aseta czy (D)ysk";:INPUT C$:C=(C$="K"):ON 1-C-(C$="D") GOTO 450:IF C THEN B$="C":P=1:? "Magnetofon";:GOTO 460 455 B$="D:AUTORUN.SYS":P=S:RESTORE 456:FOR I=8 TO 13:READ A:AUT$(I,I)=CHR$(A):NEXT I:? "Dysk"; 456 DATA 255,255,13,128,183,129,224,2,225,2,13,128 460 ? " gotowy (Return)";:INPUT C$:TRAP 499:CLOSE #1:OPEN #1,8,128*C,B$:FOR I=P TO 187:PUT #1,ASC(AUT$(I,I)):NEXT I 470 FOR I=1 TO 227:PUT #1,ASC(POL$(I,I)):NEXT I:FOR I=1 TO 26:PUT #1,ASC(A$(I,I)):NEXT I:IF C THEN 490 480 FOR I=1 TO 6:READ A:PUT #1,A:NEXT I 490 CLOSE #1:? "Zrobione!":END 499 ? "Blad ";PEEK(195);".Jeszcze raz:";:GOTO 460
300 A$="68A208AC039EF007CA9D009ED0FA60CABD00E29D009E8AD0F660":S2=0:L=300 310 M=0:FOR J=1 TO 51 STEP 2:B=0:FOR I=J TO J+1:N=ASC(A$(I,I)):S2=S2+I*N:N=N-48-7*(N>57):B=B+N*(1+15*(I=J)):NEXT I 320 M=M+1:A$(M,M)=CHR$(B):NEXT J:ON S2<>80466 GOTO 999
a) wczytaj z kasety lub dyskietki program z Bajtka
nr 2/87;
b) wpisz zamieszczony obok program nr 1;
c) napisz RUN. Po 30 sekundach program zapyta,
jak chcesz otrzymywać małą literę „ą”. Wcześniej
mrugnie kilka razy, przypominając obecne przy
porządkowanie;
— jeśli nie chcesz go zmieniać, naciśnij RETURN,
po czym odpowiedz „Nie” na pytanie, czy jednak
chcesz je zmienić. Zostaniesz natychmiast zapytany
o następną literę;
— jeśli chcesz je zmienić, naciśnij klawisze odpowiadające
Twemu wyborowi. Nie zapomnij o CON-
TROL (aby uzyskać np. znak graficzny) lub CAPS
(dla małej litery) itd;
@snajper, post #1
@selur, post #2
@snajper, post #3
@snajper, post #3
@ZorrO, post #5
@snajper, post #6
@selur, post #7
@snajper, post #8
@ZorrO, post #9
@snajper, post #10
@selur, post #11
Programowanie w BASICU ZX, to najprostsza rzecz pod sloncem, wpisujesz listing, nagrywasz go na tasme i Run a jak co zawsze mozna go wgrac z tasmy.
@snajper, post #13
@selur, post #16
3080 PRINT "w porzadku": SAVE "B ZZZZ MK"CODE 30000,1078: PRINT : PRINT "przewin tasme w celu wer yfikacji": VERIFY ""CODE : STOP
@snajper, post #17
a kod gry zajmuje 90 linijek razy 12 bajtów, czyli równe 1800... Powyżej mamy natomiast 1078 (+1, bo licząc od zera). Czyli tak jakby gra nie zapisywała się w całości. A że 9 jest zwykle bardzo blisko ósemki oraz wizualnie podobna, istniało niemałe prawdopodobieństwo, że ktoś przy wklepywaniu się wykopyrtnął.
@Norbert, post #19
Tak, tak nie jest równe 1800 ale 1080.
Też się pomyślałeś. Przypadek ?
A co do kosmetyki, to nie potrzebne jest każdorazowe sprawdzanie poprawności. I tak już tego się nie poprawi jeśli jest nagrane.
@karolb, post #21
@QTZ, post #22
@snajper, post #23
9 REM ***** WPROWADZANIE DANYCH ***** 10 PRINT "Ile slow podasz ";:INPUT l 20 l=l-1 30 DIM a$(l) 40 FOR s=0 TO l 50 PRINT "Podaj ";s+1;" slowo";:INPUT a$(s) 60 NEXT s 99 REM ***** PROGRAM GLOWNY ***** 100 FOR t=1 TO l 110 w=0 120 IF a$(t)<=a$(w) THEN GOSUB 150 130 w=w+1 140 IF w=t THEN NEXT t:GOTO 300 ELSE GOTO 120 150 p$=a$(t) 160 FOR z=(t-1) TO w STEP -1 170 a$(z+1)=a$(z) 180 NEXT z 190 a$(w)=p$ 200 w=t-1 210 RETURN 299 REM *** WYDRUK DANYCH KONCOWYCH *** 300 FOR a=0 TO l 310 PRINT a$(a) 320 NEXT a
@ZorrO, post #24
10 GOSUB 120 20 PRINT "PODAJ ILOSC ZWROTEK ";:INPUT p 30 FOR z=1 TO p:ON w GOSUB 250,260,270,280 40 READ t,e 50 FOR n=1 TO e 60 READ a,b 70 SOUND 1,ROUND(62500/(440*(2^(2+((b-10)/12))))),t/a*20 80 SOUND 2,ROUND(62500/(440*(2^((-1)+((b-10)/12))))),t/a*20 90 SOUND 7,500,1,0 100 NEXT n,z 110 GOTO 10 120 INK 0,0:INK 1,15:INK 2,17:PEN 1:MODE 1 130 PRINT " 140 PRINT " ";CHR$(164);" 1986 GRZEGORZ ROWINSKI" 150 PEN 2:PRINT 160 PRINT " MENU:":PRINT 170 PRINT "(1) PRZYBIEZELI DO BETLEJEM PASTERZE" 180 PRINT "(2) GDY SIE CHRYSTUS RODZI" 190 PRINT "(3) BOG SIE RODZI" 200 PRINT "(4) LULAJZE, JEZUNIU, MOJA PERELKO" 210 PEN 1:PRINT 220 PRINT "CO WYBIERASZ";:INPUT w 240 RETURN 250 RESTORE 300:RETURN 260 RESTORE 400:RETURN 270 RESTORE 500:RETURN 280 RESTORE 600:RETURN 300 DATA 10,62 310 DATA 8,3,8,2,8,3,8,5,8,7,8,5,8,7,8,8,4,10,4,12,2,10 320 DATA 8,3,8,2,8,3,8,5,8,7,8,5,8,7,8,8,4,10,4,12,2,10 330 DATA 4,15,8,10,8,10,8,12,8,10,8,8,8,7,4,8,8,8,8,8,8,10,8,8,8,7,8,5,4,7,4,8,2,10,4,7,4,5,2,3 340 DATA 4,15,8,10,8,10,8,12,8,10,8,8,8,7,4,8,8,8,8,8,8,10,8,8,8,7,8,5,4,7,4,8,2,10,4,7,4,5,2,3 400 DATA 10,56 410 DATA 4,9,4,6,4,14,4,11,2,11,2,9,4,6,4,2,4,7,4,4,2,4,2,2 420 DATA 4,9,4,6,4,14,4,11,2,11,2,9,4,6,4,2,4,7,4,4,2,4,2,2 430 DATA 4,4,4,4,4,7,4,4,4,6,4,6,4,9,4,6,4,4,4,4,4,7,4,4,4,6,4,6,4,9,4,6,3,9,8,9,2,9,3,11,8,11,2,11,3,13,8,13,2,13,4,14,4,9,4,11,4,7,2,6,2,4,1,2 500 DATA 20,70 510 DATA 8,3,8,15,4,15,8,14,8,12,8,12,8,12,4,12,8,10,8,8,8,7,8,10,8,15,8,10,8,8,8,7,4,7,4,5,4,1000 520 DATA 8,3,8,15,4,15,8,14,8,12,8,12,8,12,4,12,8,10,8,8,8,7,8,10,8,15,8,10,8,8,8,7,4,7,4,5,4,1000 530 DATA 3,8,8,5,8,7,8,8,8,10,8,10,4,7,4,10,3,8,8,5,8,7,8,8,8,10,8,10,4,7,4,10,3,8,8,5,8,7,8,8,8,10,8,10,4,7,4,10,3,8,8,5,8,7,8,8,8,10,8,2,4,5,4,3 600 DATA 15,74 610 DATA 4,6,4,6,4,6,4,9,8,7,8,6,4,7,4,4,4,6,4,7,4,11,2,9,4,6,4,6,4,6,4,9,8,7,8,6,4,7,4,4,3,9,8,7,4,7,2,6 620 DATA 4,9,4,9,8,14,8,13,4,11,4,11,8,11,8,9,4,7,4,7,4,7,4,11,2,9,4,6,4,6,4,6,4,9,8,7,8,6,4,7,4,4,3,9,8,7,4,7,2,6 630 DATA 4,9,4,9,8,14,8,13,4,11,4,11,8,11,8,9,4,7,4,7,4,7,4,11,2,9,4,6,4,6,4,6,4,9,8,7,8,6,4,7,4,4,3,9,8,7,4,7,2,6
@ZorrO, post #25
10 REM *********************************** 20 REM ******** cieplo zimno ************* 30 REM *********************************** 99 REM ********* inicjalizacja *********** 100 CLS 110 DIM schowek(32) 120 DIM przykrywka(32) 130 LET pozycja=1 140 LET znaleziono=0 199 REM ****** ukrywanie prezentow ****** 200 FOR i=1 TO 5 210 INPUT"Podaj nr schowka 2-30 ",numer 220 IF numer<2 OR numer>30 THEN GOTO 210 230 IF schowek(numer)=1 THEN GOTO 210 240 LET schowek(numer)=1 250 NEXT i 299 REM ******* szukanie prezentow ******* 300 FOR p=0 TO 10 310 IF p=0 THEN GOTO 340 319 REM **** odczytywanie klawiatury **** 320 INPUT pozycja 330 IF pozycja<>INT(pozycja) OR pozycja<1 OR pozycja>30 OR przykrywka(pozycja)=1 THEN GOTO 320 339 REM ********** rysunek ************** 340 CLS 350 PRINT " ( 1 )( 2 )3" 360 PRINT "123456789012345678901234567890" 370 LET przykrywka(pozycja)=1 380 FOR i=1 TO 30 390 IF przykrywka(i)=0 THEN PRINT "#"; 400 IF przykrywka(i)=1 THEN IF schowek(i)=1 THEN PRINT "*"; 410 IF przykrywka(i)=1 THEN IF schowek(i)=0 THEN PRINT " "; 420 NEXT i 430 PRINT 440 FOR i=1 TO 30 450 IF i=pozycja THEN PRINT "^"; 460 IF i<>pozycja THEN PRINT " "; 470 NEXT i 480 PRINT 489 REM ******* cieplo czy goraco ******* 490 IF schowek(pozycja)=1 THEN GOSUB 2000 500 IF (schowek(pozycja-1)=1 AND przykrywka(pozycja-1)=0) OR (schowek(pozycja+1)=1 AND przykrywka(pozycja+1)=0) THEN PRINT "Goraco" 510 IF (schowek(ABS(pozycja-2))=1 AND przykrywka(ABS(pozycja-2))=0) OR (schowek(pozycja+2)=1 AND przykrywka(pozycja+2)=0) THEN PRINT "Cieplo" 519 REM *********** komentarze ********** 520 PRINT "Proba";p 530 PRINT "Znalazles";znaleziono;"prezentow." 540 NEXT p 999 REM ****** koniec po 10 probach ****** 1000 PRINT "Nie znalazles";5-znaleziono;"prezentow." 1010 END 1999 REM ********** znalezione *********** 2000 PRINT "Jest!!!" 2010 LET znaleziono=znaleziono+1 2020 IF znaleziono=5 THEN GOTO 3000 2030 RETURN 2999 REM ************* sukces ************ 3000 PRINT "Znalazles wszystko." 3010 END
@ZorrO, post #26