Hello, Cemetech. I am expanding Fly The Copter for the 84+ and making a newer version of it for the TI-84+/SE and the CE.

The original code for the program by Weregoose is in the link above, and below is the ported version for the CE:



Code:

FnOff :ClrHome:ClrDraw
GridOff:AxesOff:PlotsOff :BackgroundOn BLACK:BorderColor randInt(1,3
0→Xmin:1→X
0→Ymin:1→Y
20→G:82
For(X,0,132
Vertical X,DARKGRAY,1
Line(X,Ans,X,Ans+G,0,WHITE,1
Ans+randInt((Ans>2),Ans<56-G
End
Ans→X:1→A
90→B:.2→F
For(θ,0,9
If not(fPart(A/3
Pt-Off(C,D,4
Pt-On(A,B,4,ORANGE
A→C:B→D
getKey→E
F-.1+.3(Ans=25)-.3(Ans=34→F
B+Ans→B
(A+1)(A≠Xmax→A
G-.5not(Ans→G
A+132-265(A>132
Pt-On(Ans,X+randG,RED,4-3not(fPart(θ/32
Vertical Ans,DARKGRAY,1
Line(Ans,X,Ans,X+G,0,WHITE,1
X+randInt((X>2),X<53-G→X
G-not(A→G
If not(E=45 or pxl-Test(Ymax-round(B,0),A
End
9
For(I,1,50
Ans+1
If Ans>24:10
Pt-On(A,B,3,Ans
End
BackgroundOff
ClrDraw:ClrHome
Disp "DISTANCE:
Output(1,10,θ


I just finished the version for monochrome:


Code:

:"Fly The Copter 3
getKey:FnOff :PlotsOff :GridOff:ZStandard:ZInteger
ClrHome
If det([[1:Then
Disp "Please Install","Celtic 3.
Return:End
real(7,0
det(4,3:expr(sub(Ans,1,1)+"."+sub(Ans,3,2
If Ans<2.43
Then
Disp "Current OS Is","Unsupported.","","Upgrade To 2.43!
Pause
ClrHome:Return
End
identity(8,"AA55AA55AA55AA55",0,0,0,1
real(12,7,3,3,34,15
Text(3,4,"fly the
Text(9,4,"COPTER
identity(5,"3C7E061C3C067E3C",27,6,1,8,0,0,1
real(12,6,0,19,95,63,1
9→Y
For(I,Xmin,Xmax
randInt(1,2
max(11,min(3,Y-(Ans=1)+(Ans=2→Y
Line(I,Y-8,I,Y+8,0
End
real(13,1
Text(51,1,"By BioHazard
Text(57,1,"3.00
0→A:getKey
Repeat getKey
A+1-4(A=4→A
identity(5,sub("00003E88FE9F0F0000001C88FE9F0F0000000888FE9F0F0000001C88FE9F0F00",16A-15,16),0,35,1,8,0,0,1
End:real(12,6,0,19,95,63
Text(57,1,"LOADING...
real(13,0
"rowSwap(FTC3→Str9
det(0,7,Str9
If Ans=".P:NT:FN
Then
det(0,5,Str9
For(I,1,5
{23,0,0,1,1,1,0
If I=2:{0,1,0,1,0,0,0,0,0
If I>2:0rand(5
det(6+2(I=5),Str9,det(1,Ans),I
End:det(0,Str9
End
SetUpEditor L₁,L₂,L₃,L₄,L₅
For(I,1,5
expr(det(5,Str9,I
If I=1:Ans→L₁
If I=2:Ans→L₂
If I=3:Ans→L₃
If I=4:Ans→L₄
If I=5:Ans→L₅
End
1→L₁(6
{21→K
0→E:"rowSwap(FTCsprt→Str8
det(0,7,Str8
If Ans=".P:NT:FN
1→E
If not(E:15≠det(5,Str8→E
If E:Then
0→L₁(6
real(13,1
real(12,6,0,19,95,63
Text(19,1,"WARNING!
Text(37,1,"SPRITE APP VAR CANNOT
Text(43,1,"BE ACCESSED!
Text(49,1,"BACKGROUNDS CANNOT
Text(55,1,"BE CHANGED.
Pause
End
Lbl M
ZStandard:ZInteger:ClrHome
real(7,L₁(2
real(13,0
real(5,0,L₁(1
"AA55AA55AA55AA55
If L₁(6:det(5,Str8,L₁(5
identity(8,Ans,0,0,0,1
real(12,7,0,0,95,6
Text(0,1,"FLY THE COPTER 3
real(12,8,0,0,95,6
For(I,7,3,4
real(12,I,14,8,80,62
End
Text(9,42,"FLY
Text(15,28,"STATISTICS
Text(21,36,"SCORES
Text(27,32,"SETTINGS
Text(33,40,"LINK
Text(39,40,"SAVE
Text(45,40,"QUIT
Text(54,16,"DISTANCE:",L₂(3
9→O:L₁(1→N
L₁(5→θ
Repeat max(K={21,105,31
real(12,8,15,O,79,O+6
Repeat Ans
getKey
End:Ans→K
real(12,8,15,O,79,O+6
max(9,min(45,O+6(K=34)-6(K=25→O
End
real(12,7,15,9,79,61
If K=31
Goto HK
If O=9:Goto F
If O=15
Goto ST
If O=21
Goto HS
If O=27
Goto S
If O=33
Goto L
If O=39
Goto SV
Lbl Q
Text(9,16,"ALL UNSAVED DATA
Text(15,16,"WILL BE LOST!
Text(33,39,"[Y/N]
Repeat max(Ans={71,92
getKey:End
If Ans=71
Goto M
real(12,7,0,0,95,63,1:ClrHome
If "R"=sub(det(0,7,Str9),1,1
det(0,Str9
If "R"=sub(det(0,7,Str8),1,1
det(0,Str8
ClrList L₁,L₂,L₃,L₄,L₅,L₆
DelVar Str8DelVar Str9Return
///ADD*
Lbl HK
Text(9,16,"PRESS ANY KEY FOR
Text(15,16,"COPTER CONTROLS.
Text(27,20,"<--->
Text(39,16,"THIS SETTING
Text(45,16,"IS TEMPORARY!
Text(51,16,"CURRENT:",⌊K(1
DelVar θ
Repeat Ans=45 or θ and Ans=105
getKey
If Ansnot(max(Ans={45,105:Then
Ans→θ
Text(27,20,"<",Ans,">   
End:End
If Ans=105
θ→⌊K(1
Goto M
Lbl F
Text(9,16,"SELECT MODE:
Text(9,68,"PLY
Text(21,16,"NORMAL
Text(21,68,L₂(5
Text(27,16,"INVERSE
Text(27,68,L₂(6
Text(33,16,"HECTIC
Text(33,68,L₂(7
Text(39,16,"NONE
Text(51,16,"PLAYS:",L₂(8
21→O
Repeat max(K={21,105
real(12,8,15,O,79,O+6
Repeat Ans
getKey
End:Ans→K
real(12,8,15,O,79,O+6
max(21,min(39,O+6(K=34)-6(K=25→O
End
If O<39:Then
ZStandard:ZInteger:0→Xmin:1→X
0→Ymin:1→Y
ClrHome
real(7,L₁(2
End
If O=21
Goto M1
If O=27
Goto M2
If O=33
Goto M3
Goto M
Lbl GO
If θ>47
1+L₂(8→L₂(8
real(7,L₁(2
For(I,1,40
real(12,8,0,0,95,63,1
End
Pause
"AA55AA55AA55AA55
If L₁(6:det(5,Str8,L₁(5
identity(8,Ans,0,0,0,1
For(I,7,3,4
real(12,I,14,8,80,62
End:0→X
real(12,6,0,0,95,6,1
real(13,1
Text(0,1,"GAME OVER!
real(13,0
Text(9,16,"DISTANCE:",θ
If W:Then
"SCORE ON LIST!
If W=2
"NEW HIGH SCORE!
Text(15,16,Ans
X+4W→X
Else
L₃
If M=2:L₄
If M=3:L₅
1+min(Ans)-θ
Text(15,16,Ans," AWAY FOR LIST!
End
Text(21,16,"PLAYS:",L₂(8
If M<3
X+10L₁(4→X
If θ>300 and M=3:X+25→X
1250
If M=3:500
int(2θ/Ans
int(Ans%200
X+Ans→X
Text(33,20,"+",X,"exp
Text(39,16,"LEVEL ",L₂(2
real(12,8,37,40,43,44
Text(45,16,L₂(1)," / ",18L₂(2
For(I,1,3
End:0→P
For(I,1,X
1+L₂(1
If 99≠L₂(2) and Ans>18L₂(2
Then
1+L₂(2→L₂(2
Text(39,37,Ans,"   
If Ans<15:Then
P+1→P
1+L₂(4→L₂(4
End
For(J,1,7
real(12,8,37,40,43,44
rand(30:End
Text(45,16,"0 / ",18L₂(2),"           
0:End:Ans→L₂(1
Text(45,16,Ans," / ",18L₂(2
End
θ+L₂(3→L₂(3
If P:Text(51,16,"(",P,") NEW!
0→S
If not(L₁(7)) and L₂(8)>99 and L₂(3)≥24 and L₂(5)>32 and L₂(6)>32 and L₂(7)>32 and 19<L₂(2
Then
1→S:1→L₁(7
End
Pause
If S:Then
real(12,7,15,9,79,61
Text(9,16,"YOU HAVE UNLOCKED
Text(15,16,"BACKGROUND ∫!
Text(27,16,"CONGRATULATIONS!
Pause
End
Goto M
Lbl M3
3→M:8→G
Goto M4
Lbl M2
2→M:20→G
Lbl M4
G
If M=3:8
Ans→V
20
If M=3:32
For(X,0,47
Line(X,Ans,X,Ans+V
Ans+randInt((Ans>2),Ans<56-G
End
Ans→X:1→A
31→B:.2→F
L₁(4→Z
If M=3:Then
35→B:0→L₁(4
End
For(θ,0,9
If L₁(3:Text(0,1,θ
If not(fPart(A/3
Pt-On(C,D
Pt-Off(A,B
A→C:B→D
getKey→E
F-.1+.3(Ans=⌊K(1))-.2(Ans=34→F
B+Ans→B
(A+1)(A≠Xmax→A
G-.5not(Ans→G
A+47-95(A>47
If L₁(4:Pt-Off(Ans,X+randG,1+not(fPart(θ/32
Line(Ans,Ymin,Ans,Ymax,0
Line(Ans,X,Ans,X+G
X+randInt((X>2),X<53-G→X
G-not(A→G
If not(E=45 or not(pxl-Test(Ymax-round(B,0),A
End:0→W
If θ>47:Then
If M=2
1+L₂(6→L₂(6
If M=3
1+L₂(7→L₂(7
End
Z→L₁(4
If M=2:Then
If θ>min(L₄
Then
1+(θ>max(L₄→W
θ→L₄(6
SortD(L₄
5→dim(L₄
End:End
If M=3:Then
If θ>min(L₅
Then
1+(θ>max(L₅→W
θ→L₅(6
SortD(L₅
5→dim(L₅
End:End
Goto GO
Lbl M1
1→M:20→G
For(X,0,47
Vertical X
Line(X,Ans,X,Ans+G,0
Ans+randInt((Ans>2),Ans<56-G
End
Ans→X:1→A
31→B:.2→F
For(θ,0,9
If L₁(3:Text(0,1,θ
If not(fPart(A/3
Pt-Off(C,D
Pt-On(A,B
A→C:B→D
getKey→E
F-.1+.3(Ans=⌊K(1))-.2(Ans=34→F
B+Ans→B
(A+1)(A≠Xmax→A
G-.5not(Ans→G
A+47-95(A>47
If L₁(4:Pt-On(Ans,X+randG,1+not(fPart(θ/32
Vertical Ans
Line(Ans,X,Ans,X+G,0
X+randInt((X>2),X<53-G→X
G-not(A→G
If not(E=45 or pxl-Test(Ymax-round(B,0),A
End:0→W
If θ>47
1+L₂(5→L₂(5
If θ>min(L₃
Then
1+(θ>max(L₃→W
θ→L₃(6
SortD(L₃
5→dim(L₃
End
Goto GO
Lbl L
real(12,7,15,9,79,61
Text(9,16,"SELECT METHOD:
Text(21,16,"1. SEND
Text(27,16,"2. RECEIVE
Text(33,16,"3. CANCEL
Repeat max(Ans={92,93,94
getKey
End:Ans→K
real(12,7,15,9,79,61
SetUpEditor L₆
ClrList L₆
16→dim(L₆
If K=92
Goto LS
If K=93
Goto LR
Goto M
Lbl LR
Text(9,16,"Receiving...
Text(21,16,"CHECKING
0→D
For(J,1,2
Text(21,49,sub("USBI/O",3J-2,3)+"...
GetCalc(L₆,J
If not(D) and 16=dim(L₆:Then
If .6π=L₆(16
1→D
End:End
real(12,7,15,9,79,61
If not(D:Then
Text(9,16,"NO OTHER
Text(15,16,"CALCULATOR
Text(21,16,"DETECTED!
Text(33,16,"TRY AGAIN IF YOU
Text(39,16,"ARE SURE THE CABLE
Text(45,16,"IS CONNECTED.
Pause
End
If not(D
Goto M
Text(9,16,"LIST RECEIVED.
Text(21,16,"OVERWRITE THE OLD
Text(27,16,"RECORDS WITH THE
Text(33,16,"NEWER ONES?
Text(45,39,"[Y/N]
Repeat max(Ans={71,92
getKey
End:Ans→K
real(12,7,15,9,79,61
If K=71:Goto M
Text(28,29,"OVERWRITING
real(12,8,28,28,72,34
For(I,1,15
L₆(I→θ
1→N:I→Z
If I>5:Then
2→N:I-5→Z
End
If I>10:Then
3→N:I-10→Z
End
If N=1:θ→L₃(Z
If N=2:θ→L₄(Z
If N=3:θ→L₅(Z
A+1-4(A=4→A
identity(5,sub("00003E88FE9F0F0000001C88FE9F0F0000000888FE9F0F0000001C88FE9F0F00",16A-15,16),71,53,1,8,0,0,1
End
SortD(L₃
SortD(L₄
SortD(L₅
1+L₂(9→L₂(9
real(12,7,15,9,79,61
Goto SV
Lbl LS
Text(9,16,"PREPARING TO
Text(15,16,"SEND RECORDS...
0→A
For(J,1,3
For(I,1,5
L₃
If J=2:L₄
If J=3:L₅
Ans(I→θ
I
If J=2:Ans+5
If J=3:Ans+10
θ→L₆(Ans
A+1-4(A=4→A
identity(5,sub("00003E88FE9F0F0000001C88FE9F0F0000000888FE9F0F0000001C88FE9F0F00",16A-15,16),71,53,1,8,0,0,1
End:End
.6π→L₆(16
real(12,7,15,9,79,61
Text(9,16,"PREPARATIONS
Text(15,16,"COMPLETED!
Text(27,16,"READY TO SEND
Text(33,16,"ALL HIGH SCORES!
Pause
ClrList L₆
Goto L
Lbl ST
Text(9,16,"NRML PLAYS:",L₂(5
Text(15,16,"INVS PLAYS:",L₂(6
Text(21,16,"HECT PLAYS:",L₂(7
Text(27,16,"CHANGE BG:"+sub("NO YES",1+3L₁(6),3
If L₁(7
Text(33,16,"BG ∫ UNLOCKED!
Text(39,16,"EXCHANGES:",L₂(9
real(12,7,0,59,95,63
real(12,3,0,60,95,63
Text(46,16,"LEVEL ",L₂(2
Text(52,16,L₂(1)," / ",18L₂(2),"exp
real(12,8,36,47,44,51
int(2L₂(1)/(18L₂(2
int(Ans%94
real(12,6,0,60,Ans,63
Pause
Goto M
Lbl HS
For(I,3,5
real(12,7,15,9,79,61
"NORMAL
If I=4
"INVERSE
If I=5
"HECTIC
Text(9,16,Ans+" RECORDS
L₃
If I=4:L₄
If I=5:L₅
For(J,1,5
If J=1:Then
Text(1,16,16,"1. ",Ans(1
Else
Text(6J+11,17,J,". ",Ans(J
End
End:Pause
End
Goto M
Lbl S
Text(9,16,"CONTRAST
Text(15,16,"RUN INDIC.
Text(21,16,"SHOW SCORE?
Text(27,16,"OBSTACLES?
Text(33,16,"BACKGROUND
Text(39,16,"RESET DATA
Text(45,16,"UPDATE
9→O
Lbl 0
Text(9,72,L₁(1
Text(15,76,L₁(2
Text(21,76,L₁(3
Text(27,76,L₁(4
sub("ABCDEFGHIJKLMN∫",L₁(5),1
If not(L₁(6
"-
Text(33,76,Ans
Repeat max(K={21,105
real(12,8,15,O,79,O+6,1
Repeat Ans
getKey
End:Ans→K
real(12,8,15,O,79,O+6,1
max(9,min(45,O+6(K=34)-6(K=25→O
End
If O=9:Goto S1
If O=15
not(L₁(2→L₁(2
If O=21
not(L₁(3→L₁(3
If O=27
not(L₁(4→L₁(4
If O=33
Goto S2
If O=39
Goto RD
If O=45
Goto M
Goto 0
Lbl RD
real(12,7,15,9,79,61
Text(9,16,"ARE YOU SURE
Text(15,16,"YOU WANT TO RESET?
Text(28,39,"[Y/N]
Repeat max(Ans={71,92
getKey
End:Ans→K
real(12,7,15,9,79,61
If K=71
Goto S
Text(9,16,"RESETTING.
{23,0,0,1,1,1,0→L₁:{0,1,0,1,0,0,0,0,0→L₂:{0,0,0,0,0→L₃:Ans→L₄
Ans→L₅
Goto SV
Lbl S2
If not(L₁(6
Then
real(12,7,15,9,79,61
Text(9,16,"WARNING!
Text(21,16,"APP VAR CANNOT
Text(27,16,"BE ACCESSED.
Pause
End
If not(L₁(6
Goto S
L₁(5→C
real(13,1
Repeat max(K={45,21,105
identity(8,det(5,Str8,C),0,0,0,1
real(12,6,0,57,95,63:Text(57,1,"",C," (",L₂(4),")
Repeat Ans
getKey
End:Ans→K
L₂(4)+L₁(7
max(1,min(Ans,C+(K=26)-(K=24→C
End:real(13,0
If K≠45:C→L₁(5
Goto M
Lbl S1
L₁(1→C
real(13,1
real(12,8,71,9,79,15
Repeat max(K={45,21,105
real(5,0,C
Text(9,72,C
Repeat Ans
getKey
End:Ans→K
max(10,min(39,C+(K=26)-(K=24→C
End:real(13,0
real(12,8,71,9,79,15
real(5,0,N
If K≠45:C→L₁(1
Goto 0
Lbl SV
Text(28,37,"SAVING
real(12,8,36,28,60,34,1
If "A"=sub(det(0,7,Str9),1,1
det(0,Str9
For(I,1,5
L₁
If I=2:L₂
If I=3:L₃
If I=4:L₄
If I=5:L₅
det(8,Str9,det(1,Ans),I
End:det(0,Str9
Goto M


And here is the FTCsprt Appvar (If you know how to make programs with lowercase letters and convert it to an App Var, copy and paste. If not, the program will function normally without it)

You don't need to modify it or add any "s, it works the way it is

Code:

AA55AA55AA55AA55
CCCC3333CCCC3333
F0F0F0F00F0F0F0F
F0D0B0F00F0B0D0F
F09090F00F09090F
00FF00FF00FF00FF
AAAAAAAAAAAAAAAA
AAFFAAFFAAFFAAFF
005500AA005500AA
0FF00FF00FF00FF0
AAAAAAAA55555555
FF818181818181FF
FF81BDBDBDBD81FF
003C5A7E5A663C00
663C181824241800


What are your thoughts about it? I am planning on making Hectic mode for both versions harder than it is!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement