PIRAMIDA1 REM ****************************** 2 REM * * 3 REM * P I R A M I D A 1992 * 4 REM * * 5 REM * autor: Aleksander Usik * 6 REM * * 7 REM ****************************** 8 REM 10 REM ORGANIZACJA EKRANU 20 GRAPHICS 0:CLR :POKE 752,1:? CHR$(1 25):ANTIC=PEEK(560)+256*PEEK(561):POKE 559,PEEK(559)-32 30 POKE 708,14:POKE 709,10:POKE 710,0: POKE 711,6:POKE 712,0 40 RESTORE 50:FOR I=1 TO 5:READ A:POKE ANTIC+I-3,A:NEXT I 50 DATA 112,112,70,0,156 60 POKE ANTIC+30,PEEK(ANTIC+30)-2:POKE 560,PEEK(560)-2:POKE 559,PEEK(559)+32 70 RESTORE 80:FOR I=0 TO 19:READ A:POK E 39936+I,A:NEXT I 80 DATA 0,48,105,114,225,237,105,100,3 3,0,0,98,121,14,111,108,111,117,115,0 90 RESTORE 100:DIM A$(12):FOR I=1 TO 1 2:READ A$:FOR J=0 TO 11:POKE 1536+I*12 +J,ASC(A$(J+1)):NEXT J:NEXT I 100 DATA .....IO..... 110 DATA .....UU..... 120 DATA ....IUUO.... 130 DATA ....UUUU.... 140 DATA ...IUUUUO... 150 DATA ...UUUUUU... 160 DATA ..IUUUUUUO.. 170 DATA ..UUUUUUUU.. 180 DATA .IUUUUUUUUO. 190 DATA .UUUUUUUUUU. 200 DATA IUUUUUUUUUUO 210 DATA UUUUUUUUUUUU 220 POSITION 1,21:? "................. ...................." 230 POSITION 1,22:? " RUCH: CZAS : sek. HAN: " 240 POSITION 1,23:? "................. ...................." 250 POSITION 1,1:? " .. .. .. " 260 POSITION 1,18:? " .. " 270 REM MALE DEMKO 280 DIM PW(13):FOR I=0 TO 13:PW(I)=153 6+I*12:NEXT I 290 POSITION 15,18:? "TY TEZ TO POTRAF ISZ" 300 PM=40081:FOR I=0 TO 11:FOR J=0 TO 11:POKE PM+I*40+J,PEEK(PW(12-I)+J):NEX T J:NEXT I 310 FOR J=0 TO 11:FOR I=0 TO 11:POKE P M+I+J*40,0:POKE PM+13+I+J*40,PEEK(PW(1 2-J)+I):NEXT I:NEXT J 320 FOR J=0 TO 11:FOR I=0 TO 11:POKE P M+I+J*40+13,0:POKE PM+I+J*40,PEEK(PW(1 2-J)+I):NEXT I:NEXT J 330 REM WYBOR STOPNIA TRUDNOSCI 340 TRAP 340:POSITION 35,18:? " " 350 POSITION 15,16:? "PODAJ LICZBE ELE MENTOW ":POSITION 15,18:? "OD -3- DO - 12- ";:POKE 752,0:INPUT TRD 360 POKE 752,1:POSITION 15,16:? " ":POSITION 15,18:? " " 370 IF TRD<3 OR TRD>12 THEN GOTO 340 380 POSITION 34,21:? TRD:TRAP 40000:RU CH=0 390 DIM MAT(2,12):FOR I=0 TO 2:FOR J=0 TO 12:MAT(I,J)=0:NEXT J:NEXT I 400 FOR I=1 TO TRD:MAT(0,I)=(TRD+1)-I: NEXT I:MAT(0,0)=TRD 410 FOR I=11 TO 0 STEP -1:FOR J=0 TO 1 1:POKE PM+J+I*40,(I<TRD)*PEEK(PW(TRD-I *(I<TRD))+J):NEXT J:NEXT I 420 PIR=0:NR=0:KOL=PM+16*40:KSZ=KOL+13 *PIR:ZAW=KSZ-40 430 REM ROZPOCZECIE PRZEKLADANIA 440 GOSUB 760:POKE 18,0:POKE 19,0:POKE 20,0 450 ST=STICK(0) 460 CZ=PEEK(20)+256*PEEK(19)+65536*PEE K(18):SEK=INT(CZ/50):POKE 77,0 470 ON (ST=13)+2*(ST=14)+3*(ST<12) GOS UB 510,580,660 480 POSITION 8,21:? RUCH;" ":POSITION 19,21:? SEK;" " 490 IF PEEK(PM-22+TRD*40)=73 THEN GOTO 780 500 GOTO 450 510 REM ZDEJMOWANIE 520 IF NR>0 THEN GOSUB 760:RETURN 530 POZ=MAT(PIR,0):IF POZ=0 THEN GOSUB 760:RETURN 540 NROS=MAT(PIR,POZ):ADKL=PM+PIR*13+4 0*(POZ-1) 550 FOR I=0 TO 11:POKE ZAW+I,PEEK(ADKL +I):POKE ADKL+I,0:NEXT I 560 MAT(PIR,POZ)=0:MAT(PIR,0)=POZ-1:NR =NROS 570 RETURN 580 REM USTAWIANIE 590 IF NR=0 THEN GOSUB 760:RETURN 600 POZ=MAT(PIR,0):IF POZ=0 THEN GOTO 620 610 NROS=MAT(PIR,POZ):IF NR>NROS THEN GOSUB 760:RETURN 620 ADKL=PM+PIR*13+40*POZ 630 FOR I=0 TO 11:POKE ADKL+I,PEEK(ZAW +I):POKE ZAW+I,0:NEXT I 640 MAT(PIR,0)=POZ+1:MAT(PIR,POZ+1)=NR :NR=0:RUCH=RUCH+1 650 RETURN 660 REM RUCH POZIOMY 670 IF ST=7 THEN PIRN=PIR+1-3*(PIR=2): GOTO 700 680 IF ST=11 THEN PIRN=PIR-1+3*(PIR=0) :GOTO 700 690 RETURN 700 KSZN=KOL+13*PIRN:ZAWN=KSZN-40 710 IF NR=0 THEN GOTO 730 720 FOR I=0 TO 11:POKE ZAWN+I,PEEK(ZAW +I):POKE ZAW+I,0:NEXT I 730 FOR I=0 TO 1:POKE KSZN+5+I,PEEK(KS Z+5+I):POKE KSZ+5+I,0:NEXT I 740 PIR=PIRN:ZAW=ZAWN:KSZ=KSZN 750 RETURN 760 REM BUCZEK 770 SOUND 0,200,12,15:FOR I=0 TO 50:NE XT I:SOUND 0,0,0,0:RETURN 780 REM ZAKONCZENIE GRY 790 POSITION 12,16:? "MOJE GRATULACJE !" 800 FOR I=0 TO 255:POKE 712,I:NEXT I:P OKE 712,0:POSITION 12,16:? " " 810 GOTO 10W Indii, w mieście Benares, pod kopułą głównej świątyni, w miejscu, gdzie znajduje się środek Ziemi, postawił Brahma na brązowej tabliczce trzy diamentowe pałeczki. Przy stworzeniu świata na jedną z tych pałeczek nanizane zostały 64 krążki z czystego złota tak, iż utworzyły postać ściętego stożka. Kapłani, zmieniając się wzajemnie dniem i nocą bez przestanku zajęci są przenoszeniem tego stożka z pierwszej pałeczki na drugą, posiłkując się przejściowo pałeczką trzecią, przy czym zobowiązani są najsurowiej przestrzegać dwu następujących zakazów: • za jednym ujęciem nie przenosić nigdy więcej ponad jeden krążek • nigdy nie kłaść krążka większego na mniejszym Gdy kapłani, zachowując ściśle te przepisy, ukończą swą pracę, nastąpi koniec świata... Tak głosi hinduska legenda, która stała się inspiracją dla wielu prac, nie tylko matematycznych. Na zakończenie chciałbym uspokoić wszystkich czytelników ulegających różnego rodzaju przepowiedniom, podając wzór na liczbę koniecznych przełożeń w funkcji ilości krążków: x=2u-1 Cóż za ulga! Aleksander Usik
|