Ten months ago, I began a project to create a game on my calculator (from scratch), called Battleship, based off of the board game. My original game was very glitchy, and had no code to make sure that the points were on the board. Last Wednesday, I decided to create a version 2. The original code looked like this (I realize that I did a horrible job coding the original, it was my FIRST TI Basic program, it won't work because I broke it trying to make it use matrixes rather than variables A-Z, the new one uses lists) :
:ClrDraw : : :Input "P1 Name: ",Str1 :Input "P2 Name: ",Str2 :Pause :ClrHome :Disp "Player 1," :Disp "place your" :Disp "Battle Ships." :Pause :Input "Scout Ship X",A :Input "Scout Ship Y",B :Input "Submarine X",C :Input "Submarine Y",D :Input "Destroyer X",E :Input "Destroyer Y",F :Input "Battle Ship X",G :Input "Battle Ship Y",H :Input "Carrier X",I :Input "Carrier Y",J :Pause :ClrHome :Disp "Player 2," :Disp "place your" :Disp "Battle Ships." :Pause :ClrHome :Input "Scout ship X",K :Input "Scout ship Y",L :Input "Sub X",M :Input "Sub Y",N :Input "Destroyer X",O :Input "Destroyer Y",P :Input "Battle Ship X",Q :Input "Battle Ship Y",R :Input "Carrier X",S :Input "Carrier Y",T :O→θ :ClrHome :Disp "Thinking." : :Lbl D :A→[A](1,1 :A+1→[A](1,2 :"Thinking." :C→[A](1,3 :C+1→[A](1,4 :C+2→[A](1,5 :Disp "Thinking.." :E→[A](1,6 :E+1→[A](1,7 :E+2→[A](1,8 :Disp "Thinking..." :G→[A](1,9 :G+1→[A](1,10 :G+2→[A](1,11 :G+3→[A](1,12 : :I→[A](1,13 :I+1→[A](1,14 :I+2→[A](1,15 :I+3→[A](1,16 :I+4→[A](1,17 : :K→[B](1,1 :K+1→[B](1,2 :M→[B](1,3 :M+1→[B](1,4 :M+2→[B](1,5 :O→[B](1,6 :O+1→[B](1,7 :O+2→[B](1,8 :Q→[B](1,9 :Q+1→[B](1,10 :Q+2→[B](1,11 :Q+3→[B](1,12 :S→[B](1,13 :S+1→[B](1,14 :S+2→[B](1,15 :S+3→[B](1,16 :S+4→[B](1,17 :B→[A](2,1 :D→[A](2,2 :F→[A](2,3 :H→[A](2,4 :J→[A](2,5 :L→[B](2,1 :N→[B](2,2 :P→[B](2,3 :R→[B](2,4 :T→[B](2,5 :100→U :100→V :ClrDraw : : : : : :Text(0,0,"Score" :Line(0,15.19129,20,15.16129 :Line(15.106383,20,15.106383,0 :StorePic Pic1 :StorePic Pic5 :StorePic Pic3 : : : :Pause :ClrDraw :RecallPic Pic1 : :Line(A,B,A+1,B :Line(C,D,C+2,D :Line(E,F,E+2,F :Line(G,H,G+3,H :Line(I,J,I+4,J :StorePic Pic2 :Pause :Lbl θ :RecallPic Pic3 :Pause :ClrDraw :Pause :RecallPic Pic1 :ClrHome :Disp "PLAYER 1" :Pause :Disp "Your score: " :Input "Attack X: ",X :Input "Attack Y: ",Y : :Pt-On(X,Y) :StorePic Pic3 :If X=K or X=K+1 or X=M or X=M+1 or X=M+2 or X=O or X=O+1 or X=O+2 or X=Q or X=Q+1 or X=Q+2 or X=Q+3 or X=S or X=S+1 or X=S+2 or X=S+3 or X=S+4 :Goto J :Else:Goto M : :Lbl J :If Y=L or N or P or R or T :Goto H :Else:Goto M :Lbl H :Disp "Hit!" :V-5→V :U+1→U :Pause :Goto Z :Lbl M :Disp "MISS" :Pause :Goto Z : :Lbl Z :ClrDraw :ClrHome :RecallPic Pic1 :Pt-On(X,Y) :Line(K,L,K+1,L :Line(M,N,M+2,N :Line(O,P,O+2,P :Line(Q,R,Q+3,R :Line(S,T,S+4,T :StorePic Pic4 :Pause :Disp "PLAYER 2 :Input "Attack X: ",X :Input "Attack Y: ",Y :ClrDraw : :RecallPic Pic5 : :Line(0,15.16129,20,15.16129 :Line(15.106383,20,15.106383,0 :Pt-On(X,Y :If X=A or X=A+1 or X=C or X=C+1 or X=C+2 or X=E or E+1 or E+2 or X=G or X=G+1 or X=G+2 or X=G+3 or X=I or X=I+1 or X=I+2 or X=I+3 or X=I+4 :Goto Q :Else:Goto F : : :Lbl Q :If Y=B or Y=D or Y=F or Y=H or Y=J :Goto G :Else:Goto F : :Lbl G :Disp "Hit!" :U-5→U :V+1→V :Pause :Goto R :Lbl F :Disp "Miss!" :V-1→V :Pause :Goto R : : :StorePic Pic5 :V-1→V :If V>0 :Goto θ
My goal for completing version 2 is this Friday. I will paste the code and a download link when I am done with it.
(I'd post a screenshot of the new one, but it won't let me)