How about another classic to just keep this going? :p
Bomberman - http://www.ticalc.org/archives/files/fileinfo/350/35050.html
4893 KB
Code: [goose]::
:1→dim({L2}
:2→{L2}(1
:Goto 00
:Lbl BO
:C→G:D-1→H:1→I
:A+1→J:B+1→M
:2→[B](J,M
:DelVar K
:Goto 9
:Lbl P
:While AB≠130
:7(B-1→C
:6(A-1→D
:Text(D,C+1,"Ω
:DelVar K
:While not(K
:not(L→L
:If N>0:Then
:T→V:U→W
:Text(6(T-1),7(U-1),Str1
:U+randInt({-}1,1→U
:T+(U=W)((T<A)-(T>A→T
:If (TU=130)+[B](T+1,U+1
:Then
:W→U
:V+(T>A)-(T<A→T
:If (TU=130)+[B](T+1,U+1:V→T
:End
:Text(6(T-1),1+7(U-1),sub(Str2,3+L,1
:If (A=T)(B=U
:Goto D
:End
:getKey→K
:If not(I)(K=21
:Then
:A+1→J:B+1→M
:C→G:D→H:1→I
:2→[B](J,M
:DelVar K
:End
:o+I→O
:If Ans
:Text(H,G," "+sub(Str2,L+1,1
:If (O>14)+I(K=45:Goto B
:Lbl 8
:End
:A→V:B→W
:A+(K=34)(A<10)-(K=25)(A>1→A
:B+(K=26)(B<13)-(K=24)(B>1→B
:Text(D,C,Str1
:If [B](A+1,B+1
:Then
:V→A:W→B
:End:End
:Goto EG
:Lbl BI
:Repeat AB=70
:2+9(B-1→C
:1+9(A-1→D
:Text({-}1,D,C,"Ω
:DelVar K
:While not(K
:not(L→L
:If N>0:Then
:Text({-}1,1+9(T-1),2+9(U-1),"
:T→V:U→W
:U+randInt({-}1,1→U
:T+(U=W)((T<A)-(T>A→T
:If (TU=70)+[B](T+1,U+1:Then
:V→T:W→U:End
:Text({-}1,1+9(T-1),2+9(U-1),sub(Str2,3+L,1
:If (A=T)(B=U
:Goto D
:End
:getKey→K
:If not(I)(K=21
:Goto BO
:Lbl 9
:o+I→O
:If Ans
:Text({-}1,H,G,sub(Str2,L+1,1
:If (O>10)+I(K=45:Goto B
:End
:A→V:B→W
:A+(K=34)(A<7)-(K=25)(A>1→A
:B+(K=26)(B<10)-(K=24)(B>1→B
:If [B](A+1,B+1
:Then
:V→A:W→B
:End
:Text({-}1,D,C,"
:End
:Goto EG
:Lbl B
:0→[B](J,M
:∟BM(1)-1→∟BM(1
:If Ans≤0:Then
:A+1→J:B+1→M
:C→G:D-(S=15→H
:ClrHome
:Pause "Out Of Bombs!
:End
:Fill 0,{L1}
:DelVar IDelVar ODelVar K
:If S≠15
:Goto B2
:Text(H,G,"φ
:If 2≠[B](J,M-1
:Then
:Text(H,G-7," ((
:1→{L1}(1
:0→[B](J,M-1
:If 2≠[B](J,M-2
:Then
:1→{L1}(2
:Text(H,G-14," ((
:0→[B](J,M-2
:End:End
:If 2≠[B](J,M+1
:Then
:1→{L1}(3
:Text(H,G+7," ))
:0→[B](J,M+1
:If 2≠[B](J,M+2
:Then
:1→{L1}(4
:Text(H,G+14," ))
:0→[B](J,M+2
:End:End
:If 2≠[B](J+1,M
:Then
:1→{L1}(5
:0→[B](J+1,M
:Text(H+6,G,"*
:If 2≠[B](J+2,M
:Then
:1→{L1}(6
:0→[B](J+2,M
:Text(H+12,G,"*
:End:End
:If 2≠[B](J-1,M
:Then
:1→{L1}(7
:Text(H-6,G,"*
:0→[B](J-1,M
:If 2≠[B](J-2,M
:Then
:1→{L1}(8
:Text(H-12,G,"*
:0→[B](J-2,M
:End:End
:Text(H,G,Str1
:If {L1}(1
:Text(H,G-7,Str1
:If {L1}(2
:Text(H,G-14,Str1
:If {L1}(3
:Text(H,G+7,Str1
:If {L1}(4
:Text(H,G+14,Str1
:If {L1}(5
:Text(H+6,G,Str1
:If {L1}(6
:Text(H+12,G,Str1
:If {L1}(7
:Text(H-6,G,Str1
:If {L1}(8
:Text(H-12,G,Str1
:If not(pxl-Test(D+3,C+1:Goto D
:N-not(pxl-Test(5+6(T-1),1+7(U-1→N
:If not(pxl-Test(56,89:Goto EX
:Goto 8
:Lbl B2
:G-2→G
:If 2≠[B](J,M-1
:Then
:Text({-}1,H,G-9,"(
:Text({-}1,H,G-6,"(
:0→[B](J,M-1
:1→{L1}(5
:If 2≠[B](J,M-2
:Then
:Text({-}1,H,G-18,"(
:Text({-}1,H,G-15,"(
:0→[B](J,M-2
:1→{L1}(6
:End:End
:If 2≠[B](J,M+1
:Then
:Text({-}1,H,G+11,")
:Text({-}1,H,G+8,")
:If 70=M(J-1
:Goto EX
:0→[B](J,M+1
:1→{L1}(7
:If 2≠[B](J,M+2
:Then
:Text({-}1,H,G+20,")
:Text({-}1,H,G+17,")
:If 70=(M+1)(J-1:Goto EX
:0→[B](J,M+2
:1→{L1}(8
:End:End
:If 2≠[B](J+1,M
:Then
:0→[B](J+1,M
:1→{L1}(1
:Text({-}1,H+9,G,"*
:Text({-}1,H+9,G+2,"*
:If 2≠[B](J+2,M
:Then
:0→[B](J+2,M
:Text({-}1,H+18,G,"*
:Text({-}1,H+18,G+2,"*
:1→{L1}(2
:End:End
:If 2≠[B](J-1,M
:Then
:Text({-}1,H-9,G,"*
:Text({-}1,H-9,G+2,"*
:0→[B](J-1,M
:1→{L1}(3
:If 2≠[B](J-2,M
:Then
:Text({-}1,H-18,G,"*
:Text({-}1,H-18,G+2,"*
:1→{L1}(4
:0→[B](J-2,M
:End:End
:Text({-}1,H,G+1,"
:For(θ,0,1
:If {L1}(5
:Text(H+θ,G-9,"
:If {L1}(6
:Text(H+θ,G-18,"
:If {L1}(7
:Text(H+θ,G+8,"
:If {L1}(8
:Text(H+θ,G+17,"
:End
:If {L1}(1
:Then
:Text({-}1,H+9,G,"
:Text({-}1,H+9,G+2,"
:End
:If {L1}(2:Then
:Text({-}1,H+18,G,"
:Text({-}1,H+18,G+2,"
:End
:If {L1}(3:Then
:Text({-}1,H-9,G,"
:Text({-}1,H-9,G+2,"
:End
:If {L1}(4:Then
:Text({-}1,H-18,G,"
:Text({-}1,H-18,G+2,"
:End
:If not(pxl-Test(D+1,C:Goto D
:N-not(pxl-Test(7+9(T-1),3+9(U-1→N
:Goto 9
:Lbl 00
:ClrHome
:"Bomberman!→Str3
:FnOff :AxesOff
:{-}62→Ymin:0→YMax:0→Xmin:94→Xmax
:PlotsOff
:"ãâÇç→Str2
:" →Str1
:8→dim({L1}
:2→dim({L2}
:1→R
:Menu(Str3,"small level",4,"BIG LEVEL",5,"INSTRUCTIONS",I,"DIFFICULTY",DI,"EXIT",Q
:Lbl DI
:ClrHome
:Output(8,1,Str3
:Disp "DIFFICULTY?
:For(θ,0,5
:Output(4,θ+6,θ
:End
:2→A
:DelVar K
:0:Repeat K=21
:Repeat K
:A+6→C
:Output(3,Ans,"?
:Output(5,Ans,"¿
:For(θ,1,8:End
:Output(3,C,"
:Output(5,C,"
:getKey→K:End
:A+(K=26)(A<5)-(K=24)(A>0→A
:End
:A→{L2}(1
:Goto 00
:Lbl 5
:9→P:12→S
:{20,3→∟BM
:Goto NL
:Lbl 4
:12→P:15→S
:{35,3→∟BM
:Lbl NL
:If not(∟BM(1
:5→∟BM(1
:DelVar ODelVar IDelVar T
:{L2}(1→N
:ClrDraw
:Disp "LOADING...
:Output(4,4,Str3
:Output(7,1,"Bombs:
:Output(7,8,∟BM(1
:Output(8,1,"Lives:
:Output(8,8,∟BM(2
:{P,S→dim([B]
:Fill 1,[B]
:For(θ,1,P-2
:not(L→L
:sub(Str2,L+1,1
:Output(4,3,Ans
:Output(4,14,Ans
:2→[B](θ+1,1
:2→[B](θ+1,S
:End
:For(θ,2,S-1
:not(L→L
:sub(Str2,L+1,1
:Output(4,3,Ans
:Output(4,14,Ans
:2→[B](1,θ
:2→[B](P,θ
:End
:For(θ,1,33+40(S=15
:not(L→L
:sub(Str2,L+1,1
:Output(4,3,Ans
:Output(4,14,Ans
:0→[B](randInt(2,P-1),randInt(2,S-1
:End
:For(θ,3,S-1,2
:not(L→L
:sub(Str2,L+1,1
:Output(4,3,Ans
:Output(4,14,Ans
:For(Z,3,P-2,2
:2→[B](Z,θ
:End:End
:0→[B](P-1,S-2
:p-2→T:S-3→U
:0→[B](2,2
:0→[B](2,3
:0→[B](3,2
:0→[B](P-1,S-1
:1→A:1→B
:DelVar K
:ClrHome
:If S≠15
:Goto D2
:For(θ,1,13
:For(Z,1,10
:7(θ-1→C
:{-}6(Z-1→D
:[B](Z+1,θ+1
:If Ans:Then
:Line(C+1,D,C+5,D
:Line(C,D-1,C,D-4
:Line(C+6,D-1,C+6,D-4
:Line(C+1,D-5,C+5,D-5
:If Ans=2:Then
:Line(C+1,D-3,C+2,D-4
:Line(C+1,D-1,C+4,D-4
:Line(C+3,D-1,C+5,D-3
:pt-On(C+5,D-1
:Else
:Line(C+3,D-2,C+4,D-2
:pt-On(C+4,D-3
:End:End:End:End
:For(θ,0,1
:Line(84+θ,{-}57,84+θ,{-}59
:Line(88+θ,{-}57,88+θ,{-}59
:End
:Line(86,{-}56,87,{-}56
:Line(84,{-}56,86,{-}54
:Line(89,{-}56,87,{-}54
:Goto P
:Lbl D2
:For(θ,1,10
:For(Z,1,7
:9(θ-1→C
:{-}9(Z-1→D
:[B](Z+1,θ+1
:If Ans=1:Then
:Line(C+1,D,C+6,D
:Line(C,D-1,C,D-6
:Line(C+1,D-7,C+6,D-7
:Line(C+7,D-1,C+7,D-6
:Line(C+1,D-5,C+2,D-6
:Line(C+1,D-3,C+4,D-6
:Line(C+1,D-1,C+6,D-6
:Line(C+3,D-1,C+6,D-4
:Line(C+5,D-1,C+6,D-2
:End
:If Ans=2:Then
:Line(C+2,D,C+5,D
:Line(C+1,D-1,C+6,D-1
:For(W,2,5
:Line(C,D-W,C+7,D-W:End
:Line(C+1,D-6,C+6,D-6
:Line(C+3,D-7,C+4,D-7
:Line(C+4,D-2,C+5,D-3,0
:pt-Off(C+5,D-2
:End:End:End
:Line(82,{-}61,82,{-}57
:Line(83,{-}61,83,{-}58
:Line(82,{-}57,84,{-}55
:Line(85,{-}55,85,{-}58
:Line(86,{-}55,88,{-}57
:Line(88,{-}57,88,{-}61
:Line(87,{-}58,87,{-}61
:Line(84,{-}57,86,{-}57
:Goto BI
:Lbl I
:ClrDraw
:Text(0,0,"----",Str3,"----
:Text(10,0,"YOU ARE BOB AND MUST LAY
:Text(16,0,"BOMBS TO GET TO THE EXIT
:Text(22,0,"(LOWER RIGHT)
:Text(28,0,"DON'T RUN INTO DIRTY JOE!
:Text(34,0,"ER IST WARM!
:Text(40,0,"IT TAKES X HITS TO KILL HIM
:Text(46,0,"(DEPENDS ON DIFFICULTY)
:5→A
:0:Repeat Ans
:not(L→L
:Text({-}1,54,8(A-1),sub(Str2,L+3,1
:For(θ,1,100
:End
:Text({-}1,54,8(A-1),"
:A+randInt({-}1,1
:Ans+(Ans<1)-(Ans>11→A
:getKey:End
:ClrDraw
:Text(0,0,"----",Str3,"----
:Text(12,0,"KEYS--
:Text(18,0,"2ND=LAY BOMB
:Text(24,0,"CLEAR DETONATES BOMB
:"!!!!!CAUTION!!!!!→Str4
:Text(40,0,"BOMBS WILL DETONATE AFTER
:Text(46,0,"A LITTLE BIT!
:For(θ,0,90,9
:Text(57,θ,":)
:End
:0:Repeat Ans
:Text(32,0,Str4
:For(θ,1,300
:End
:getKey→K
:If not(K:Then
:Text({-}1,31,0,"
:For(θ,1,350
:End
:getKey
:End:End
:Goto 00
:Lbl EX
:Text({-}1,20,0,"YOU BLEW UP THE
:Text({-}1,28,35,"EXIT!
:Pause
:Goto D
:Lbl EG
:10(N≤0)+∟BM(1→∟BM(1
:R+1→R
:Text({-}1,26,30,"LEVEL ",R
:Pause
:Goto NL
:Lbl D
:For(θ,0,47,2
:Vertical θ
:Vertical 94-θ
:End
:∟BM(2)-1→∟BM(2
:If Ans>0
:Goto NL
:"GAME OVER→Str1
:For(Z,1,9
:sub(Str1,Z,1
:If Ans≠"
:Then
:Text({-}1,28,9Z,Ans
:For(θ,1,250
:End:End:End
:Lbl Q
:ZStandard:AxesOn:DelVar [B]ClrHome
:Output(1,8,":)[/goose]
Just seems to be a lot of clutter... and smilies...
Last edited by Guest on 10 Sep 2010 02:52:46 am; edited 1 time in total |