Maiks
Homepage

Spiele für den Sharp EL-9900

Irgendwann habe ich dann auch begonnen, Programme für Taschenrechner zu schreiben - für den Sharp EL9900. Die Programme sollten aber auch auf den Vorgängermodellen laufen und auf jeden Fall auch auf dem 9900G.

In einigen Quellcodes sind Zeilen blau geschrieben. Für weniger Tipparbeit brauchen diese nicht mit abgetippt werden. Dann fehlt aber eventuell mal ein Logo oder so. ;-) Es müssen entweder alle optionalen Zeilen abgeschrieben werden oder keine!

Bald folgt hier noch ein Spiel: Solitaire. :-)

Tic Tac Toe

Bedienung: Die Felder werden mit den Tasten 1-9 gewählt (1 ist das Feld unten links, 9 oben rechts). Spieler 1 beginnt.

ClrT
Print "PREPARING TO FIGHT...
Print "MATRIX EINSTELLEN...
{3,3}→dim(mat A)
{9,2}→dim(mat B)
fill(128,mat A)
Gosub MM
Print "ZOOM EINSTELLEN...
-4.5→Xmin
-4.5→Ymin
4.5→Xmax
4.5→Ymax
AxisOFF
Print "SPIELFELD ZEICHNEN...
Gosub FELD
Goto 2

Label FELD
DrawON
Line(1.5,4.5,1.5,-4.5)
Line(-1.5,4.5,1.5,-4.5)
Line(4.5,1.5,-4.5,1.5)
Line(4.5,-1.5,-4.5,-1.5)
Return

Label 2
Print "READY TO FIGHT...
Wait 1
ClrT
Print "tIC tAC tOE
Print "
Print "
Print "
Print "(C) 2009 BY MAIKSITE.de
Wait 1
Goto GAME

Label GAME
ClrT
Gosub CHK
DispG
Key X
Gosub GK
If mat A(X,Y)=128
Then
Line(3X-5,-3Y+5,3X-7,-3Y+5)
Line(3X-5,-3Y+7,3X-7,-3Y+7)
Line(3X-5,-3Y+5,3X-5,-3Y+7)
Line(3X-7,-3Y+5,3X-7,-3Y+7)
1→mat A(X,Y)
EndIf
ClrT
Gosub CHK
DispG
Key X
Gosub GK
If mat A(X,Y)=128
Then
Line(3X-5,-3Y+5,3X-7,-3Y+7)
Line(3X-5,-3Y+7,3X-7,-3Y+5)
2→mat A(X,Y)
EndIf
Gosub CHK
Goto GAME

Label CHK
For J,1,3,1
mat A(1,J)+mat A(2,J)+mat A(3,J)→W
If W=3Goto W1
If W=6Goto W2
mat A(J,1)+mat A(J,2)+mat A(J,3)→W
If W=3Goto W1
If W=6Goto W2
Next
mat A(1,1)+mat A(2,2)+mat A(3,3)→W
If W=3Goto W1
If W=6Goto W2
mat A(3,1)+mat A(2,2)+mat A(1,3)→W
If W=3Goto W1
If W=6Goto W2

0→G
For A,1,3,1
For B,1,3,1
G+mat A(A,B)→G
Next
Next
If G≤18
Then
Print "UNENTSCHIEDEN.
End
EndIf
Return

Label W1
ClrT
Print "SPIELER 1 GEWINNT!
End

Label W2
ClrT
Print "SPIELER 2 GEWINNT!
End

Label GK
X→V
mat B(V,1)→X
mat B(V,2)→Y
Return

Label MM
For Y,1,7,3
1→mat B(Y,1)
2→mat B(Y+1,1)
3→mat B(Y+2,1)
Next
3→mat B(1,2)
3→mat B(2,2)
3→mat B(3,2)
2→mat B(4,2)
2→mat B(5,2)
2→mat B(6,2)
1→mat B(7,2)
1→mat B(8,2)
1→mat B(9,2)
Return

Minesweeper

Bedienung: Auswahl des Feldes mit den Pfeiltasten, aufdecken mit der 5. Felder mit einem ^ bezeichnen Felder ohne Zahl und ohne Mine. Wirklich leere Felder sind unaufgedeckte Felder.

AxisOFF
0→Xmin
0→Ymin
126→Xmax
64→Ymax
Gosub LOGO
Text(24,5,"v1.3.2")
Text(0,9,"(C) 2011 BY MAIKSITE.DE")
Text(14,4,"MINESWEEPER")
Wait
9→X
9→Y
Goto SET

Label SET
ClrG
Line(0,64-Y*6,X*4,64-Y*6)
Line(X*4,64,X*4,64-Y*6)
Key K
X-(X>2)*(K=11)→X
X+(X<31)*(K=10)→X
Y-(Y>2)*(K=12)→Y
Y+(Y<10)*(K=13)→Y
If K=5Goto CMAT
Goto SET

Label CMAT
ClrG
Line(1,11,1,14)
Line(126,11,126,14)
Line(126,14,1,14)
Line(1,11,126,11)
round(X*Y/6.4,0)→W
X→H
Y→M
{M*3+4,H+2}→dim(mat A)
fill(0,mat A)
For I,1,W,1
rndInt(2,H+1)→X
rndInt(2,M+1)→Y
I+((mat A(Y,X)=1)*-1)→I
mat A(Y,X)→L
1→mat A(Y,X)
-99→mat A(Y+M+1,X)
For J,X-1,X+1,1
For K,Y-1,Y+1,1
mat A(K+M+1,J)+(L=0)*1→mat A(K+M+1,J)
Next
Next
Line(123/W*(I-1)+2,12,123/W*I+2,12)
Line(123/W*(I-1)+2,13,123/W*I+2,13)
Next
0→mat A(1,1)
Text(4,9,"")
Wait
ClrG
1→X
1→Y
Line(0,64-M*6,H*4,64-M*6)
Line(H*4,64,H*4,64-M*6)
Goto GAME

Label GAME
If mat A(1,1)=H*M-WGoto WIN
PxlCHG(X*4-4,Y*6-4)
PxlCHG(X*4-0,Y*6-4)
PxlCHG(X*4-2,Y*6-6)
PxlCHG(X*4-2,Y*6-2)
Key K
PxlCHG(X*4-4,Y*6-4)
PxlCHG(X*4-0,Y*6-4)
PxlCHG(X*4-2,Y*6-6)
PxlCHG(X*4-2,Y*6-2)
If K=11GotoL
If K=12GotoO
If K=10GotoR
If K=13GotoU
If K=5GotoDA
Goto GAME

Label L
X-(X-1>0)→X
Goto GAME
Label O
Y-(Y-1>0)→Y
Goto GAME
Label R
X+(X<H)→X
Goto GAME
Label U
Y+(Y<M)→Y
Goto GAME

Label DA
If mat A(Y+M+2,X+1)≥1Goto DA2
If mat A(Y+1,X+1)=0Goto DA3
Goto LOOSE

Label DA2
(mat A(Y+M*2+3,X+1)≠1)+mat A(1,1)→mat A(1,1)
Text(X-1,((mat A(Y+M+2,X+1)≠1)*11+(mat A(Y+M+2,X+1)=1)*Y)-1,"1")
Text(X-1,((mat A(Y+M+2,X+1)≠2)*11+(mat A(Y+M+2,X+1)=2)*Y)-1,"2")
Text(X-1,((mat A(Y+M+2,X+1)≠3)*11+(mat A(Y+M+2,X+1)=3)*Y)-1,"3")
Text(X-1,((mat A(Y+M+2,X+1)≠4)*11+(mat A(Y+M+2,X+1)=4)*Y)-1,"4")
Text(X-1,((mat A(Y+M+2,X+1)≠5)*11+(mat A(Y+M+2,X+1)=5)*Y)-1,"5")
Text(X-1,((mat A(Y+M+2,X+1)≠6)*11+(mat A(Y+M+2,X+1)=6)*Y)-1,"6")
Text(X-1,((mat A(Y+M+2,X+1)≠7)*11+(mat A(Y+M+2,X+1)=7)*Y)-1,"7")
Text(X-1,((mat A(Y+M+2,X+1)≠8)*11+(mat A(Y+M+2,X+1)=8)*Y)-1,"8")
1→mat A(Y+2*M+3,X+1)
Goto GAME

Label DA3
X→C
Y→D
For X,C-(C≠1),C+(C≠H),1
For Y,D-(D≠1),D+(D≠M),1
Text(X-1,((mat A(Y+M+2,X+1)≠1)*11+(mat A(Y+M+2,X+1)=1)*Y)-1,"1")
Text(X-1,((mat A(Y+M+2,X+1)≠2)*11+(mat A(Y+M+2,X+1)=2)*Y)-1,"2")
Text(X-1,((mat A(Y+M+2,X+1)≠3)*11+(mat A(Y+M+2,X+1)=3)*Y)-1,"3")
Text(X-1,((mat A(Y+M+2,X+1)≠4)*11+(mat A(Y+M+2,X+1)=4)*Y)-1,"4")
Text(X-1,((mat A(Y+M+2,X+1)≠5)*11+(mat A(Y+M+2,X+1)=5)*Y)-1,"5")
Text(X-1,((mat A(Y+M+2,X+1)≠6)*11+(mat A(Y+M+2,X+1)=6)*Y)-1,"6")
Text(X-1,((mat A(Y+M+2,X+1)≠7)*11+(mat A(Y+M+2,X+1)=7)*Y)-1,"7")
Text(X-1,((mat A(Y+M+2,X+1)≠8)*11+(mat A(Y+M+2,X+1)=8)*Y)-1,"8")
Text(X-1,((mat A(Y+M+2,X+1)≠0)*11+(mat A(Y+M+2,X+1)=0)*Y)-1,"^")
(mat A(Y+M*2+3,X+1)≠1)+mat A(1,1)→mat A(1,1)
1→mat A(Y+2*M+3,X+1)
Next
Next
C→X
D→Y
Goto GAME

Label LOOSE
For X,1,H,1
For Y,1,M,1
Text(X-1,((mat A(Y+1,X+1)=0)*11+(mat A(Y+1,X+1)=1)*Y)-1,"*")
Next
Next
Wait
ClrG
Text(0,0,"GAME OVER!")
Text(0,1,"0: AGAIN")
Text(0,2,"1: QUIT")
Key K
While K>1
Key K
WEnd
9→X
9→Y
If K=0Goto SET
Zm_Default
AxisON
{1,1}→dim(mat A)
ClrT
Print "PROGRAM CLOSED
End

Label WIN
ClrG
Text(11,0,"YOU WON!")
Wait
Goto LOOSE

Label LOGO
Line(0,40,0,33)
Line(1,40,1,31)
Line(2,40,2,31)
Line(3,41,3,31)
Line(4,41,4,31)
Line(5,41,5,31)
Line(6,41,6,31)
Line(7,41,7,31)
Line(8,41,8,31)
Line(9,41,9,31)
Line(10,51,10,49)
Line(10,41,10,31)
Line(10,28,10,26)
Line(11,52,11,49)
Line(11,41,11,32)
Line(11,29,11,25)
Line(12,53,12,48)
Line(12,43,12,31)
Line(12,29,12,24)
Line(13,53,13,31)
Line(13,28,13,25)
Line(14,51,14,47)
Line(14,44,14,28)
Line(14,26,14,25)
Line(15,51,15,47)
Line(15,45,15,27)
Line(15,25,15,24)
Line(15,19,15,17)
Line(16,51,16,47)
Line(16,46,16,26)
Line(16,25,16,24)
Line(16,21,16,17)
Line(17,52,17,23)
Line(17,22,17,16)
Line(18,53,18,15)
Line(19,52,19,15)
Line(20,53,20,15)
Line(21,53,21,17)
Line(22,54,22,44)
Line(22,41,22,31)
Line(22,27,22,20)
Line(23,64,23,44)
Line(23,41,23,31)
Line(23,27,23,20)
Line(23,17,23,10)
Line(24,64,24,43)
Line(24,42,24,29)
Line(24,28,24,9)
Line(25,60,25,20)
Line(25,12,25,9)
Line(26,64,26,19)
Line(26,16,26,9)
Line(27,64,27,9)
Line(28,64,28,9)
Line(29,60,29,20)
Line(29,13,29,9)
Line(30,53,30,21)
Line(31,52,31,21)
Line(32,52,32,21)
Line(33,51,33,21)
Line(34,51,34,46)
Line(34,43,34,21)
Line(35,51,35,46)
Line(35,42,35,22)
Line(36,51,36,44)
Line(36,42,36,24)
Line(37,50,37,24)
Line(38,50,38,25)
Line(38,24,38,23)
Line(39,50,39,25)
Line(39,24,39,22)
Line(40,51,40,24)
Line(40,23,40,21)
Line(41,52,41,45)
Line(41,43,41,26)
Line(41,25,41,23)
Line(42,52,42,51)
Line(42,50,42,46)
Line(42,42,42,25)
Line(42,24,42,22)
Line(42,21,42,20)
Line(43,53,43,47)
Line(43,42,43,41)
Line(43,40,43,29)
Line(43,26,43,25)
Line(43,24,43,20)
Line(44,52,44,47)
Line(44,43,44,35)
Line(44,25,44,24)
Line(44,23,44,21)
Line(45,51,45,47)
Line(45,43,45,35)
Line(45,24,45,22)
Line(46,43,46,35)
Line(47,43,47,35)
Line(48,42,48,35)
Line(49,41,49,36)
Return

Hangman

Das ist mein bisher komplexestes, aufwändigstes, aber auch bestes GTR-Spiel! :-)
Bedienung:
Auswahl des Buchstaben mit der Pfeiltaste, anklicken mit 5.

AxisOFF
0→Xmin
0→Ymin
126→Xmax
64→Ymax
Text(5,1,"MAIK PROUDLY PRESENTS:")
Goto LOGO
Label START
Text(27,7,"v2.1")
Text(2,9,"(C) 2011 BY MAIK MARSCHNER")
Wait
ClrG
{32,4}→dim(mat A)
Label LAUNCH
fill(0,mat A)
ClrList L1
1→P
9→mat A(1,2)
9→mat A(1,4)
Label GIVEWRD
Text(0,0,"A B C D E F G H I J K L M")
Text(0,2,"n O P Q R S T U V W X Y Z")
Text(0,5,"WORT FUER SPIELER :")
Text(18,5,P)
Text(0,8,"5: WAEHLEn 7: LOESCHEn")
Text(20,9,"0: WEITER")
0→L
0→X
0→Y
0→A
0→B
0→Z
Label SEL
For I,0,Z
For C,1,3
PxlCHG(8X+C,12Y+6)
Next
A→X
B→Y
Next
1→Z
Key K
X+(K=10)→A
A-(K=11)→A
(A>12)*0+(A≤12)A→A
(A<0)*12+(A≥0)A→A
Y+(K=13)→B
B-(K=12)→B
(B<0)+(B≥0)B→B
(B>1)*0+(B≤1)B→B
If (K=5)*(L<31)=1Goto WR
If (K=7)*(L>0)=1Goto DEL
If K≠0Goto SEL
If L=0Goto SEL
P+1→P
If (L>0)*(P>2)=1Goto GAME
ClrG
If (L>0)*(P=2)=1Goto GIVEWRD
Label WR
L+1→L
L→mat A(1,2P-1)
13Y+X→mat A(L+1,2P-1)
mat A(L+1,2P-1)→F
L-1→G
6→H
1→D
If F=0Goto LTRA
If F=1Goto LTRB
If F=2Goto LTRC
If F=3Goto LTRD
If F=4Goto LTRE
If F=5Goto LTRF
If F=6Goto LTRG
If F=7Goto LTRH
If F=8Goto LTRI
If F=9Goto LTRJ
If F=10Goto LTRK
If F=11Goto LTRL
If F=12Goto LTRM
If F=13Goto LTRN
If F=14Goto LTRO
If F=15Goto LTRP
If F=16Goto LTRQ
If F=17Goto LTRR
If F=18Goto LTRS
If F=19Goto LTRT
If F=20Goto LTRU
If F=21Goto LTRV
If F=22Goto LTRW
If F=23Goto LTRX
If F=24Goto LTRY
If F=25Goto LTRZ
Goto SEL
Label DEL
L-1→L
L→mat A(1,2P-1)
For D,4*L+4,4*L,-1
For E,36,40
PxlOFF(D,E)
Next
Next
Goto SEL
Label GAME
1→P
0→X
0→Y
0→Z
0→Q
ClrG
Goto FELD
Label DRAN
mat A(1,2P-1)→L
2→I
Label DRANFOR
If I>L+1Goto NEXT
If mat A(I,2P)≠.5Goto NEXT2
PxlOFF(4*(I-2)+1,32)
PxlOFF(4*(I-2)+2,32)
PxlOFF(4*(I-2)+3,32)
1→mat A(I,2P)
Label NEXT2
I-2→G
5→H
2→D
If mat A(I,2P)=0Goto LTRNONE
If (mat A(I,2P-1)=0)*(mat A(I,2P)=1)=1Goto LTRA
If (mat A(I,2P-1)=1)*(mat A(I,2P)=1)=1Goto LTRB
If (mat A(I,2P-1)=2)*(mat A(I,2P)=1)=1Goto LTRC
If (mat A(I,2P-1)=3)*(mat A(I,2P)=1)=1Goto LTRD
If (mat A(I,2P-1)=4)*(mat A(I,2P)=1)=1Goto LTRE
If (mat A(I,2P-1)=5)*(mat A(I,2P)=1)=1Goto LTRF
If (mat A(I,2P-1)=6)*(mat A(I,2P)=1)=1Goto LTRG
If (mat A(I,2P-1)=7)*(mat A(I,2P)=1)=1Goto LTRH
If (mat A(I,2P-1)=8)*(mat A(I,2P)=1)=1Goto LTRI
If (mat A(I,2P-1)=9)*(mat A(I,2P)=1)=1Goto LTRJ
If (mat A(I,2P-1)=10)*(mat A(I,2P)=1)=1Goto LTRK
If (mat A(I,2P-1)=11)*(mat A(I,2P)=1)=1Goto LTRL
If (mat A(I,2P-1)=12)*(mat A(I,2P)=1)=1Goto LTRM
If (mat A(I,2P-1)=13)*(mat A(I,2P)=1)=1Goto LTRN
If (mat A(I,2P-1)=14)*(mat A(I,2P)=1)=1Goto LTRO
If (mat A(I,2P-1)=15)*(mat A(I,2P)=1)=1Goto LTRP
If (mat A(I,2P-1)=16)*(mat A(I,2P)=1)=1Goto LTRQ
If (mat A(I,2P-1)=17)*(mat A(I,2P)=1)=1Goto LTRR
If (mat A(I,2P-1)=18)*(mat A(I,2P)=1)=1Goto LTRS
If (mat A(I,2P-1)=19)*(mat A(I,2P)=1)=1Goto LTRT
If (mat A(I,2P-1)=20)*(mat A(I,2P)=1)=1Goto LTRU
If (mat A(I,2P-1)=21)*(mat A(I,2P)=1)=1Goto LTRV
If (mat A(I,2P-1)=22)*(mat A(I,2P)=1)=1Goto LTRW
If (mat A(I,2P-1)=23)*(mat A(I,2P)=1)=1Goto LTRX
If (mat A(I,2P-1)=24)*(mat A(I,2P)=1)=1Goto LTRY
If (mat A(I,2P-1)=25)*(mat A(I,2P)=1)=1Goto LTRZ
Label FELD
Text(0,0,"A B C D E F G H I J K L M")
Text(0,2,"n O P Q R S T U V W X Y Z")
Text(0,8,"5: WAEHLEn")
Text(17,9,"SPIELER")
Text(25,9,P)
10→W
Goto DRAN
Label NEXT
mat A(1,2P)→L
If LLabel AFTERMAN
mat→list(mat A,2P,L1)
0→L1(1)
If Q=1Goto LOOSE
If sum(L1)=mat A(1,2P-1)Goto WIN
mat A(1,2P)→W
Label SELLTR
For C,1,3
PxlON(8X+C,12Y+6)
Next
Key K
For C,1,3
PxlOFF(8X+C,12Y+6)
Next
X+(K=10)→A
A-(K=11)→A
(A>12)*0+(A≤12)A→A
(A<0)*12+(A≥0)A→A
Y+(K=13)→B
B-(K=12)→B
(B<0)+(B≥0)B→B
(B>1)*0+(B≤1)B→B
A→X
B→Y
If K=5Goto DOLTR
1→Z
Goto SELLTR
Label DOLTR
mat A(1,2P-1)→E
0→B
For I,2,E+1
B+(mat A(I,2P-1)=13Y+X)→B
mat A(I,2P)→R
mat A(I,2P)+(mat A(I,2P-1)=(13Y+X))→mat A(I,2P)
mat A(I,2P)≥1→mat A(I,2P)
(R*mat A(I,2P))+.5(R=0)*(mat A(I,2P)=1)→mat A(I,2P)
Next
mat A(1,2P)-(B=0)→mat A(1,2P)
mat→list(mat A,2P,L1)
mat A(1,2P)=0→Q
If Q=0 Goto DRAN
mat A(1,2P-1)→S
For A,2,S+1
.5→mat A(A,2P)
Next
Goto DRAN
Label LOOSE
Text(0,6,"SCHADE...")
Goto DONE
Label WIN
Text(0,6,"SEHR GUT!")
Label DONE
Wait
ClrG
P+1→P
0→X
0→Y
0→Z
0→A
0→B
0→Q
If P=2Goto FELD
ClrT
ClrG
Text(0,0,"SPIEL BEENDET.")
Text(3,1,"1: NOCHMAL")
Text(1,2,"2-9: BEENDEN")
Key K
ClrG
If K=1Goto LAUNCH
AxisON
Zm_Default
Print "BEENDET.
End
Label MAN
If L=9Goto AFTERMAN
Line(110,0,110,5)
Line(111,6,113,6)
Line(114,0,114,5)
If L=8Goto AFTERMAN
Line(112,7,112,13)
If L=7Goto AFTERMAN
Line(113,13,117,13)
If L=6Goto AFTERMAN
Line(114,12,113,11)
If L=5Goto AFTERMAN
Line(117,13,117,11)
If L=4Goto AFTERMAN
Line(116,11,118,11)
Line(116,10,116,9)
Line(118,10,118,9)
Line(116,9,118,9)
If L=3Goto AFTERMAN
Line(117,8,117,5)
If L=2Goto AFTERMAN
Line(117,7,115,8)
Line(117,7,119,8)
If L=1Goto AFTERMAN
Line(116,4,116,3)
Line(118,4,118,3)
Goto AFTERMAN
Label LTRA
Text(G,H,"A")
Goto BACK
Label LTRB
Text(G,H,"B")
Goto BACK
Label LTRC
Text(G,H,"C")
Goto BACK
Label LTRD
Text(G,H,"D")
Goto BACK
Label LTRE
Text(G,H,"E")
Goto BACK
Label LTRF
Text(G,H,"F")
Goto BACK
Label LTRG
Text(G,H,"G")
Goto BACK
Label LTRH
Text(G,H,"H")
Goto BACK
Label LTRI
Text(G,H,"I")
Goto BACK
Label LTRJ
Text(G,H,"J")
Goto BACK
Label LTRK
Text(G,H,"K")
Goto BACK
Label LTRL
Text(G,H,"L")
Goto BACK
Label LTRM
Text(G,H,"M")
Goto BACK
Label LTRN
Text(G,H,"n")
Goto BACK
Label LTRO
Text(G,H,"O")
Goto BACK
Label LTRP
Text(G,H,"P")
Goto BACK
Label LTRQ
Text(G,H,"Q")
Goto BACK
Label LTRR
Text(G,H,"R")
Goto BACK
Label LTRS
Text(G,H,"S")
Goto BACK
Label LTRT
Text(G,H,"T")
Goto BACK
Label LTRU
Text(G,H,"U")
Goto BACK
Label LTRV
Text(G,H,"V")
Goto BACK
Label LTRW
Text(G,H,"W")
Goto BACK
Label LTRX
Text(G,H,"X")
Goto BACK
Label LTRY
Text(G,H,"Y")
Goto BACK
Label LTRZ
Text(G,H,"Z")
Goto BACK
Label LTRNONE
Text(G,H,"-")
Label BACK
If D=1Goto SEL
I+1→I
If D=2Goto DRANFOR
Label LOGO
Line(1,39,1,25)
Line(2,45,2,25)
Line(3,45,3,25)
Line(4,45,4,25)
Line(5,37,5,34)
Line(5,26,5,25)
Line(6,37,6,34)
Line(7,37,7,34)
Line(8,37,8,34)
Line(9,37,9,34)
Line(10,41,10,25)
Line(11,45,11,25)
Line(12,45,12,25)
Line(13,45,13,25)
Line(14,34,14,25)
Line(17,28,17,26)
Line(18,31,18,25)
Line(19,33,19,25)
Line(20,35,20,25)
Line(21,37,21,25)
Line(22,39,22,28)
Line(23,40,23,30)
Line(24,42,24,37)
Line(24,34,24,30)
Line(25,44,25,39)
Line(25,34,25,30)
Line(26,44,26,37)
Line(26,34,26,30)
Line(27,43,27,30)
Line(28,41,28,30)
Line(29,39,29,27)
Line(30,37,30,25)
Line(31,34,31,25)
Line(32,32,32,25)
Line(33,29,33,26)
Line(34,27,34,26)
Line(36,36,36,25)
Line(37,40,37,25)
Line(38,39,38,25)
Line(39,38,39,25)
Line(40,38,40,33)
Line(41,37,41,32)
Line(42,36,42,31)
Line(43,35,43,30)
Line(44,34,44,29)
Line(45,34,45,28)
Line(46,43,46,38)
Line(46,33,46,27)
Line(47,43,47,26)
Line(48,43,48,25)
Line(49,43,49,25)
Line(50,43,50,26)
Line(53,38,53,31)
Line(54,40,54,28)
Line(55,42,55,27)
Line(56,43,56,26)
Line(57,44,57,35)
Line(57,33,57,25)
Line(58,45,58,39)
Line(58,31,58,25)
Line(59,46,59,41)
Line(59,30,59,24)
Line(60,46,60,42)
Line(60,29,60,24)
Line(61,46,61,42)
Line(61,35,61,33)
Line(61,29,61,24)
Line(62,46,62,43)
Line(62,36,62,33)
Line(62,29,62,24)
Line(63,46,63,43)
Line(63,36,63,33)
Line(63,29,63,24)
Line(64,46,64,43)
Line(64,36,64,33)
Line(64,30,64,25)
Line(65,45,65,42)
Line(65,36,65,33)
Line(65,31,65,25)
Line(66,44,66,42)
Line(66,36,66,26)
Line(67,44,67,42)
Line(67,36,67,27)
Line(68,36,68,28)
Line(69,36,69,30)
Line(72,39,72,25)
Line(73,43,73,25)
Line(74,43,74,25)
Line(75,42,75,25)
Line(76,41,76,35)
Line(76,27,76,25)
Line(77,40,77,34)
Line(78,39,78,34)
Line(79,39,79,33)
Line(80,38,80,32)
Line(81,39,81,33)
Line(82,40,82,35)
Line(83,41,83,36)
Line(84,42,84,36)
Line(85,42,85,25)
Line(86,43,86,25)
Line(87,42,87,25)
Line(88,36,88,25)
Line(91,28,91,26)
Line(92,31,92,25)
Line(93,33,93,25)
Line(94,35,94,25)
Line(95,37,95,25)
Line(96,39,96,28)
Line(97,40,97,30)
Line(98,42,98,37)
Line(98,34,98,30)
Line(99,44,99,39)
Line(99,34,99,30)
Line(100,44,100,37)
Line(100,34,100,30)
Line(101,43,101,30)
Line(102,41,102,30)
Line(103,39,103,27)
Line(104,37,104,25)
Line(105,34,105,25)
Line(106,32,106,25)
Line(107,29,107,26)
Line(108,27,108,26)
Line(110,36,110,25)
Line(111,40,111,25)
Line(112,39,112,25)
Line(113,38,113,25)
Line(114,38,114,33)
Line(115,37,115,32)
Line(116,36,116,31)
Line(117,35,117,30)
Line(118,34,118,29)
Line(119,34,119,28)
Line(120,43,120,38)
Line(120,33,120,27)
Line(121,43,121,26)
Line(122,43,122,25)
Line(123,43,123,25)
Line(124,43,124,26)
Goto START

Deal or no deal

Bedienung: Zunächst wird der eigene Koffer ausgewählt, anschließend werden immer welche geöffnet. Dazu mit den Pfeiltasten den Koffer auswählen und ihn mit 5 öffnen. Bei Angeboten vom Banker die entsprechende Zahl drücken, für Deal bzw. No deal. ;-)

AxisOFF
DrawOFF
PlotOFF
0→Xmin
0→Ymin
126→Xmax
62→Ymax
Text(6,3,"DEAL or NO DEAL")
Text(4,5,"(C) 2012 MAIKSITE.de")
{.01,.2,.5,1,5,10,20,50,100,200,500,1000,2500,5000,10000,25000,50000,100000,150000,250000}→L1
{4,5}→dim(mat A)
fill(0,mat A)
{2,20}→dim(mat B)
fill(0,mat B)
1→I
seq(X,1,20)→L2
For X,0,3,1
For Y,1+(X=0),5,1
rndInt(1,22-(5X+Y))→R
L2(R)→mat A(X+1,Y)
L2(22-(5X+Y))→L2(R)
Line(0,2,((5X+Y)/20)*63,2)
Next
Next
L2(1)→mat A(1,1)
Line(0,2,63,2)
seq(X,1,20)→L2
For I,20,2,-1
rndInt(1,I)→R
L2(R)→mat B(1,I)
L2(I)→L2(R)
Line(63,2,((21-I)/20)*63+63,2)
Next
L2(1)→mat B(1,1)
Line(63,2,126,2)
ClrG
For X,0,1,1
For Y,0,9,1
L1(10X+Y+1)→N
Text(6X,Y,N)
Next
Next
Line(49,0,49,64)
For Y,0,4,1
For X,0,3,1
mat A(X+1,Y+1)→N
Text(4X+15+(N<10),2Y+1,N)
Line(16X+60,-12Y+58,16X+69,-12Y+58)
Line(16X+59,-12Y+50,16X+69,-12Y+50)
Line(16X+59,-12Y+58,16X+59,-12Y+51)
Line(16X+69,-12Y+58,16X+69,-12Y+51)
Line(16X+62,-12Y+59,16X+62,-12Y+60)
Line(16X+66,-12Y+59,16X+66,-12Y+60)
Line(16X+63,-12Y+60,16X+65,-12Y+60)
Next
Next
0→X
0→Y
1→T
Goto SEL
Label SELM
mat A(X+1,Y+1)→M
2→mat B(2,M)
For A,16X+58,16X+69,1
PntOFF(A,-12Y+58)
PntOFF(A,-12Y+50)
PntOFF(A,-12Y+59)
PntOFF(A,-12Y+60)
Next
For B,-12Y+57,-12Y+51,-1
PntOFF(16X+59,B)
PntOFF(16X+69,B)
Next
2→T
0→O
(X=0)→X
(Y=0)→Y
Goto GAME
Label SEL
PntON(16X+57,-12Y+54)
PntON(16X+56,-12Y+55)
PntON(16X+56,-12Y+54)
PntON(16X+56,-12Y+53)
Key K
PntOFF(16X+57,-12Y+54)
PntOFF(16X+56,-12Y+55)
PntOFF(16X+56,-12Y+54)
PntOFF(16X+56,-12Y+53)
X+(K=10)(X<3)→X
X-(K=11)(X>0)→X
Y-(K=12)(Y>0)→Y
Y+(K=13)(Y<4)→Y
mat B(2,mat A(X+1,Y+1))→N
X+(N=2)(K=10)(X<3)→A
A-(N=2)(K=10)(X≥3)→A
A-(N=2)(K=11)(X>0)→A
A+(N=2)(K=11)(X≤0)→X
Y+(N=2)(K=13)(X<4)→B
B-(N=2)(K=13)(X≥4)→B
B+(N=2)(K=12)(X>0)→B
B-(N=2)(K=12)(X≤0)→Y
If ((K=5)(T=1))=1Goto SELM
If ((K=5)(T≥2)(mat B(2,mat A(X+1,Y+1))=0))=1Goto OPEN
Goto SEL
Label OPEN
mat A(X+1,Y+1)→H
mat B(1,H)→I
1→mat B(2,H)
(I>10)→A
I-10A→B
For C,0,4
Line(24A+1,-6B-C+68,24A+23,-6B-C+68)
Next
Line(16X+59,-12Y+60,16X+69,-12Y+50)
Line(16X+59,-12Y+50,16X+69,-12Y+60)
T+1→T
Label GAME
If T≤7Goto SEL
If T=8Goto BANKER
If T≤13Goto SEL
If T=14Goto BANKER
If T≤18Goto SEL
If T=19Goto BANKER
If T≤22Goto SEL
If T=23Goto BANKER
If T=24Goto SEL
ClrT
Print "IN IHREM KOFFER SIND
Print L1(mat B(1,M))
Print "
Print "DAS IST IHR GEWINN!
Goto END
Label BANKER
ClrT
Print "BANKER RECHNET...
0→R
0→S
For C,1,20,1
S+(mat B(2,C)≠1)*L1(mat B(1,C))→S
R+(mat B(2,C)≠1)→R
Next
round(S/R,2)→S
ClrT
Print "BANKER BIETET
Print S
Print "
Print "----------------------
Print "1: DEAL
Print "2: NO DEAL
0→K
While ((K≥1)(K≤2))=0
Key K
WEnd
If K=1Goto DEAL
DispG
T+1→T
Goto GAME
Label DEAL
ClrT
Print "SIE GEWINNEN
Print S
Print "
Print "IN IHREM KOFFER WAREN
Print L1(mat B(1,M))
Label END
AxisON
Zm_Default
DispT
End

Jumper

Ich habe das Spiel von Solitaire zu Jumper umbenannt, weil ich es mit beiden Namen kenne und Verwechselungen vermeiden wollte. ;-)
Bedienung: Auswählen des Steines mit den Pfeiltasten, dann per 5 greifen und mit der entsprechenden Pfeiltaste in eine Richtung springen.

Clr
DrawOFF
PlottOFF
AxisOFF
0→Xmin
0→Ymin
126→Xmax
62→Ymax
1→Z
Text(11,3,"JUMPER v1.0")
Text(0,7,"(C) 2012 WWW.MAIKSITE.de")
{9,9}→dim(mat A)
For X,1,3
For Y,1,3
99→mat A(X,Y)
1→mat A(X+3,Y)
99→mat A(X+6,Y)
1→mat A(X,Y+3)
1→mat A(X+3,Y+3)
1→mat A(X+6,Y+3)
99→mat A(X,Y+6)
1→mat A(X+3,Y+6)
99→mat A(X+6,Y+6)
Next
Next
0→mat A(5,5)
ClrG
1→X
1→Y
Label F1
If mat A(X,Y)=1Goto F2
Goto F4
Label F2
Line(7X+33,7Y-6,7X+35,7Y-6)
Line(7X+33,7Y-2,7X+35,7Y-2)
Line(7X+32,7Y-3,7X+32,7Y-5)
Line(7X+36,7Y-3,7X+36,7Y-5)
Label F4
If Z=2Goto SEL
(X<9)X+1→X
(X=1)+Y→Y
If Y=10Goto F1
Label G
5→U
5→V
1→A
1→B
2→Z
Label SEL
U→X
V→Y
PntON(7X+31,7Y-7)
PntON(7X+37,7Y-7)
PntON(7X+31,7Y-1)
PntON(7X+37,7Y-1)
Key K
If ((K=5)(mat A(X,Y)=1))=1Goto SEL2
If K=0Goto END
PntOFF(7X+31,7Y-7)
PntOFF(7X+37,7Y-7)
PntOFF(7X+31,7Y-1)
PntOFF(7X+37,7Y-1)
Y-(K=13)(Y>1)→Y
Y+(mat A(X,Y)=99)→Y
Y+(K=12)(Y<9)→Y
Y-(mat A(X,Y)=99)→Y
X-(K=11)(X>1)→X
X+(mat A(X,Y)=99)→X
X+(K=100)(X<9)→X
X-(mat A(X,Y)=99)→X
X→U
Y→V
Goto SEL
Label SEL2
(A=X)(B=Y)→I
PntOFF(7A+34,7B-4)
(I=0)X→A
(I=0)Y→B
If (I=1)Goto SEL
PntON(7X+34,7Y-4)
Label AK
Key K
A-(K=11)+(K=10)→U
B-(K=13)+(K=12)→V
A-2(K=11)+2(K=10)→E
B-2(K=13)+2(K=12)→F
If ((U>0)(V>0)(E>0)(F>0)(U<10)(V<10)(E<10)(F<10)(mat A(A,B)=1)(mat A(U,V)=1)(mat A(E,F)=0))=1Goto M1
Goto SEL
Label M1
0→mat A(A,B)
0→mat A(U,V)
1→mat A(E,F)
Label DELUVAB
For I,1,2,1
For C,1,3,1
PntOFF(7U+34,7V-4)
PntOFF(7U+32,7V-(2+C))
PntOFF(7U+36,7V-(2+C))
PntOFF(7U+32+C,7V-2)
PntOFF(7U+32+C,7V-6)
Next
A→U
B→V
Next
X→U
E→X
Y→V
F→Y
Goto CHK
Label END
AxisON
Zm_Default
Print "GAME OVER
End
Label CHK
0→W
For J,1,9,1
For K,1+3(J≤3)+3(J≥7),7-3(J≤3)-3(J≥7),1
W+(((mat A(K,J)=1)+(mat A(K+1,J)=1)+(mat A(K+2,J)=0))=3)→W
W+(((mat A(K,J)=0)+(mat A(K+1,J)=1)+(mat A(K+2,J)=1))=3)→W
W+(((mat A(J,K)=1)+(mat A(J,K+1)=1)+(mat A(J,K+2)=0))=3)→W
W+(((mat A(J,K)=0)+(mat A(J,K+1)=1)+(mat A(J,K+2)=1))=3)→W
Next
Next
If W>0Goto F1
Goto END