Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!hp-pcd!hpcvra.cv.hp.com!rnews!hpcvbbs!akcs.falco From: akcs.falco@hpcvbbs.UUCP (Andrey Dolgachev) Newsgroups: comp.sys.handhelds Subject: Re: New Tetris Keywords: tetris Message-ID: <2799feee:1739.5comp.sys.handhelds;1@hpcvbbs.UUCP> Date: 20 Jan 91 20:40:17 GMT References: <27974602:1739comp.sys.handhelds@hpcvbbs.UUCP> <2799f901:1739.4comp Lines: 408 O.K., simple problem, White Knight, my com. program stripped all the special characters when I sent in via ASCII. Anyways, below follows the fixed version which I ried and which works, simpley Asc\-> TFIG and SXFIG and it'l work TFIG and XFIG, that is. It's also been slimmed downed by half a k. ----------- %%HP: T(3)A(D)F(.); DIR start \<< DEPTH \->LIST TETRIS DEPTH 1 - DROPN OBJ\-> DROP \>> HELP \<< CLLCD "HIGH - Show Top 5 ERASE - Erases Top 5 DURING GAME N - Toggle Next O - Off 8 - Flip P - Pause 4,6 - R,L Q - Quit 0 - Drop" 1 DISP DO UNTIL KEY END DROP \>> HIGH \<< -.8 2.2 -6 -2.5 4.5 \-> N Y X1 X2 X3 \<< PICT PURGE "HIGH SCORES" 3 \->GROB PICT SWAP (-3.2,3.1) SWAP REPL -.3 'Y' STO+ "SCORE" -6.3 Y DRSC "NAME" -1.1 Y DRSC "LINES" 3.5 Y DRSC 1 5 -.2 'Y' STO+ (-6.3,1.1) (6.3,1.1) LINE FOR I N 'Y' STO+ SCORES I GET LIST\-> DROP X3 Y DRSC X2 Y DRSC X1 Y DRSC NEXT { # 0d # 0d } PVIEW DO UNTIL KEY END DROP \>> \>> Erase \<< { "0" "" "0" } DUP DUP2 DUP 5 \->LIST 'SCORES' STO \>> XFIG "CCD204410034E7507137143818F8E1358BE60691117E818F328FB97601CE1B56 507146134152739E1B20F880029916912014313234E4A201428A2606EB016915 271011741431321428A63E16915271001741431321428A68C1691567AFAAF122 A95118C9AF5BF522A8520A8181D22A82C1201B56507146818F29818F29C91341 19BF2BF2241542BF616F16F1610D880BEBF4BF4BF4AF68AA60688F208F2D7601 42164808CE7C9" TFIG "CCD20E310013606DD061B97507142137135818F098BA606FF014713481AF0914 234E4A208A26060E01691527100E717414381AF2914581AF291321428A26060B 01691567AFAAF1D122A95118C9D5F522A8520A81819F122A82C1201B56507146 818F29818F29C9136AF2156090A90B456E002F308200E49BF4BF4BF4AF68AE09 AF0AF2AC48108087340E68084396840E614313216915472007DD071361421648 08C3CA6" TETRIS \<< .101 'a' STO 0 'DONE' STO .101 1 CF 7 CF MKSCR RAND 7 * IP 1 + 'NPC' STO 0 'PNTS' STO 0 'LINS' STO 0 ADDL 0 ADDP DO delay FLST NPC RAND 7 * IP 1 + 'NPC' STO SHNP DUP 'OB1' STO GET 1 DUP 'OB2' STO GET # 11d 1 CF DO IF 1 FC? THEN RK2 RK2 RK2 RK2 END IF DONE NOT THEN DUP2 # 0d XFIG # 256d + DUP2 # 0d + TFIG IF # 0d == THEN DUP2 # 63903d XFIG ELSE # 256d - # 63903d XFIG # 0d END END UNTIL DUP # 0d == DONE OR END IF DONE NOT THEN 20 ADDP DROP PACK MEM DROP END UNTIL FULL DONE OR END .5 WAIT WHILE KEY REPEAT DROP END FIN \>> delay \<< a .001 - DUP IF 0 \<= THEN 0 'a' STO DROP ELSE 'a' STO END \>> a .1 HI \<< 4 \-> I \<< "CONGRATS, YOU REACHED THE TOP FIVE" { "" \Ga } INPUT PNTS \->STR SWAP LINS \->STR 3 \->LIST DO IF I 0 == THEN 0 ELSE SCORES I GETI CHHS END IF THEN IF I 4 == THEN ELSE GETI PUT 'SCORES' STO END -1 'I' STO+ 0 ELSE SCORES I 1 + GETI PUT 'SCORES' STO DROP2 SCORES I 1 + 3 ROLL PUT 'SCORES' STO 1 END UNTIL END \>> \>> DRSC \<< R\->C SWAP 2 \->GROB PICT 3 ROLL 3 ROLL REPL \>> FIN \<< SCORES SIZE SCORES 5 GET CHHS IF THEN HI END HIGH \>> CHHS \<< 1 GET OBJ\-> PNTS < \>> CPC GROB 8 12 000000000000000000000000 PGB { { GROB 8 12 F09090F0FF9999FFF09090F0 GROB 8 12 000000000000000000000000 } { GROB 8 12 FF9999FFF09090F0F09090F0 GROB 8 12 000000000000000000000000 } { GROB 8 12 FF9999FF0F09090F0F09090F GROB 8 12 000000000000000000000000 } { GROB 8 12 0F09090FFF9999FFF09090F0 GROB 8 12 000000000000000000000000 } { GROB 8 12 F09090F0FF9999FF0F09090F GROB 8 12 000000000000000000000000 } { GROB 4 16 F09090F0F09090F0F09090F0F09090F0 GROB 4 16 00000000000000000000000000000000 } { GROB 8 8 FF9999FFFF9999FF GROB 8 8 0000000000000000 } } NPC 6 SHNP \<< IF 7 FS? THEN PICT { # 32d # 27d } CPC REPL PICT { # 32d # 27d } PGB NPC GET LIST\-> DROP 'CPC' STO REPL END \>> LINS 0 ADDL \<< 'LINS' STO+ PICT { # 100d # 8d } LINS 1 \->GROB REPL \>> IPIC GROB 131 64 FFFFFFFFFFF0000000000FFFFFFFFFFF70100000000080000000000100000000004099DDC1 00008000000000010882D91000405445504000800000000001088654040040944DC1000080 0000000001088ED90000401545504000800000000001088A50140040D8D5D1000080000000 000108B2DD0000401000000000800000000001000000000040140000000080000000000100 02000000401A000000008000000000010005000000401A0000000080000000000100050000 00401A00000000800000000001000500000040140000000080000000000100020000004010 00000000800000000001000000000040FFFFFFFFFFF0000000000FFFFFFFFFFF7010000000 00800000000001000000000040FFFFFFFFFFF0000000000FFFFFFFFFFF70FFFFFFFFFFF000 0000000FFFFFFFFFFF70FFFFFFFFFFF0000000000FFFFFFFFFFF70FFFFFFFFFFF000000000 0FFFFFFFFFFF70FFFFFFFFFFF0000000000FFFFFFFFFFF70FFFFFFFFFFF0000000000FFFFF FFFFFF70FFFFFFFFFFF0000000000FFFFFFFFFFF7010000000008000000000010000000000 40100000000080000000000100000000004010000000008000000000010000000000401000 00000080000000000100000000004010000000008000000000010000000000401847570000 80000000000100000000004018515201008000000000010000000000401877220000800000 00000100000000004018615201008000000000010000000000401847520000800000000001 00000000004010000000008000000000010000000000401000000000800000000001000000 00004010000000008000000000010000000000401000000000800000000001000000000040 10000000008000000000010000000000409FFFFFF100800000000001000000EFFF409FFFFF F100800000000001000000EFFF40910C108100800000000001000000E00C40900C10010080 0000000001000000600840100C100000800000000001000000600040100C10000080000000 0001000000600040100C100000800000000001000000600040100C10000080000000000100 0000600040100C100000800000000001000000600040100C10000080000000000100000060 0040100C100000800000000001000000600040100C100000800000000001000000E1004010 0C100000800000000001000000EFFF40100C100000800000000001000000000F40100C1000 00800000000001000000000C40100C1F7EF180000000000108F9F1000C40100C1366B18000 000000010C81F0000C40100C134231800000000001048160000C40100C1300308000000000 010C8160000C40100C1F303080000000000108F160000C40100C13003080000000000100A1 60200C40100C13403080000000000100B160600E40100C1360308FFFFFFFFFF10891F0EFFF 40100E3F78700000000000000CC9F1EFFF401000000000000000000000000000000040FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFF70 ADDP \<< 'PNTS' STO+ PICT { # 5d # 8d } PNTS 1 \->GROB REPL \>> FLST { { # 17802707620356d # 279242096899d # 35399189680388d # 279242096901d } { # 279242096645d # 17802707620357d # 279242097155d # 17806986854917d } { # 206226604548d # 17944425808389d # 279242097157d # 17802707620355d } { # 279241044483d # 17802708664837d } { # 210504794628d # 35399188627717d } { # 52926935483141d # 279242097412d } { # 206226600196d } } FULL \<< # 72356802986000645d # 778d DUP2 # 0d + TFIG ROT ROT # 5d + TFIG + # 0d > \>> MKSCR \<< PICT PURGE PICT { # 0d # 0d } IPIC REPL { # 0d # 0d } PVIEW \>> MSIDE \<< \-> CD \<< DUP2 # 0d XFIG CD + DUP2 # 0d + TFIG IF # 0d \=/ THEN CD - END DUP2 # 63903d XFIG \>> \>> RK2 \<< IF KEY THEN IF { 72 74 92 63 34 35 33 32 36 } SWAP POS DUP THEN { \<< # 1d NEG MSIDE \>> \<< # 1d MSIDE \>> \<< 1 SF \>> ROTF \<< DO UNTIL KEY END DROP \>> \<< 1 'DONE' STO \>> \<< OFF \>> \<< 7 FC?C IF THEN 7 SF SHNP END \>> \<< \>> } SWAP GET EVAL ELSE DROP END END a WAIT \>> OB1 2 OB2 1 P2 \<< 100 ADDP 1 ADDL DUP # 3840d AND SRB 4 * 3 + # 43d SWAP 2 \->LIST PICT SWAP { # 83d # 8d } SUB PICT { # 43d # 12d } ROT REPL \>> PACK \<< # 3338d DO TLIN IF # 4d == THEN P2 ELSE # 256d - END UNTIL DUP # 512d < END DROP \>> ROTF \<< DUP2 # 0d XFIG FLST OB1 GET OB2 1 - IF DUP 0 \<= THEN DROP DUP SIZE END DUP \-> OS2 \<< GET SWAP DUP2 # 0d + TFIG IF # 0d == THEN ROT DROP OS2 'OB2' STO ELSE SWAP DROP END DUP2 # 63903d XFIG \>> \>> TLIN \<< DUP # 72356802986000645d SWAP DUP2 # 0d + TFIG ROT ROT # 5d + TFIG + \>> PPAR { (-6.5,-3.1) (6.5,3.2) X 0 (0,0) FUNCTION Y } SCORES { { "0" "" "0" } { "0" "" "0" } { "0" "" "0" } { "0" "" "0" } { "0" "" "0" } } PNTS 0 DONE 1 END ---------------That is it-----