Here is my Bunny Gotchi program. In my release version, I have removed the unneccessary comments. I would really appreciate some feedback, and/or ideas for improvement/refactoring, that would be great. I have tried pretty hard to do so on my own, but keep in mind I made this program on the calculator, and it was hard to see ways of improving the program from an 8 by 16 character screen (while in programming mode, it is actually 7 by 16, even worse).
ClrHome
0üG
ú1üU
SetUpEditor áBUNNY
20üdim(áBUNNY
SetUpEditor
Output(1,4,"WELCOME TO
Output(3,3,"BUNNYGOTCHI!
Output(5,3,"VERSION: 1.0
Output(8,2,"BY JAMES KANJO
Pause
ClrHome
Lbl ST
ClrHome
Menu("LOAD BUNNY","LOAD",LD,"CREATE NEW",N,"",ST,"HELP",HP,"QUIT",QT
Lbl LD
áBUNNY(19üÁ
If Á=1/3*ð(Ä
Goto 5B
Pause "NO FILE TO LOAD!
Goto ST
Lbl 5B
getKeyüÁ
áBUNNY(16üY
áBUNNY(14üW
If Á=43:Then
For(B,1,8
For(A,1,16
Output(B,A,"Ä
End:End:End
If Á=43
Goto 3B
Goto D
Lbl N
{100,100,0,0,1,1,0,5,0,0,100,0,0,1,0,0,1,0,0,0üáBUNNY
1/3*ð(ÄüáBUNNY(19
100üU
Lbl GS
Menu("CALCULATOR SPEED","TI-83, FAST",83,"",GS,"TI-83 PLUS,MED",3P,"",GS,"TI-84, SLOW",4P
Lbl 83
6üáBUNNY(16
6üY
Goto 5A
Lbl 3P
10üáBUNNY(16
10üY
Goto 5A
Lbl 4P
20üáBUNNY(16
20üY
Lbl 5A
If Uø100
Goto MF
1üU
Goto AF
Lbl D
Output(01,001,"MENU:PRESS ENTER ()()BUNNY'S MOOD
áBUNNY(14üÁ
If Á=0
"(++)üStr0
If Á=1
"(÷ù)üStr0
If Á=2
"(..)üStr0
If Á=3
"(^^)üStr0
If Á=4
"(,,)üStr0
If Á=5
"(--)üStr0
Output(8,13,Str0
áBUNNY(4üÁ
If Á=1
Output(03,014,"))) ((( MMM
áBUNNY(13üÁ
If Á=1
0üX
If Á=1
Goto D4
If Á=2
Goto D3
áBUNNY(12üÁ
If Á=1
0üX
If Á=1
Goto D2
Goto D1
Lbl D1
áBUNNY(11üX
For(Á,3,6
Output(Á,5,"()()
End
If X>40
Output(4,6,"..
If X÷40
Output(4,6,",,
rand(Y
getKeyüZ
If Z=105
Goto MF
For(Á,3,6
Output(Á,1,"()()
End
If X>40
Output(4,2,"..
If X÷40
Output(4,2,",,
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
Output(4,2,"--
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
If X>40
Output(4,2,"..
If X÷40
Output(4,2,",,
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
For(Á,3,6
Output(Á,1," ()()
End
If X>40
Output(4,6,"..
If X÷40
Output(4,6,",,
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
For(Á,3,6
Output(Á,5," ()()
End
If X>40
Output(4,10,"..
If X÷40
Output(4,10,",,
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
If X>40
Output(4,10,"^^
If X÷40
Output(4,10,"--
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
If X>40
Output(4,10,"..
If X÷40
Output(4,10,",,
Goto AF
Lbl D2
Output(2,10,"Z
For(Á,3,5
Output(Á,5,"()()
End
Output(3,9,"Ü
Output(4,6,"--
For(Á,5,6
Output(Á,4,"[
Output(Á,9,"]
End
Output(6,5,"++++
0üZ
rand(2Y
getKeyüZ
If Z=105
Goto MF
Output(2,10,"Ü
Output(3,9,"
0üZ
rand(2Y
getKeyüZ
If Z=105
Goto MF
X+1üX
If X=8
Then
0üáBUNNY(12
100üáBUNNY(11
End
If Xø8
Goto D2
0üX
Goto AF
Lbl D3
For(Á,3,6
Output(Á,5,"()()
End
Output(4,6,"++
Pause
Goto MF
Lbl D4
For(Á,3,5
Output(Á,5,"()()
End
Output(4,6,"<>
For(Á,5,6
Output(Á,4,"[
Output(Á,9,"]
End
Output(6,5,"++++
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
Output(4,6,"÷ù
0üZ
rand(Y
getKeyüZ
If Z=105
Goto MF
X+1üX
If Xø4
Goto D4
0üX
Goto AF
Lbl AF
"AGEING BYPASS
If U=1:Then
áBUNNY(13üÁ
If Á=1:Then
áBUNNY(18üÁ
If Áø0
Á-1üÁ
ÁüáBUNNY(18
End:End
úUüU
If U=ú1
Goto BP
úUüU
"HUNGER REDUCTION
áBUNNY(1üÁ
Á-5üÁ
If Á<0
0üÁ
ÁüáBUNNY(1
"THIRST REDUCTION
áBUNNY(2üÁ
Á-10üÁ
If Á<0
0üÁ
ÁüáBUNNY(2
"HYGIENE REDUCTION
áBUNNY(3üÁ
Á-5üÁ
If Á<0
0üÁ
ÁüáBUNNY(3
"MONTH COUNTER
áBUNNY(17üÁ
Á+1üáBUNNY(17
If Á=9:Then
1üáBUNNY(17
áBUNNY(5üÁ
Á+1üáBUNNY(5
End
áBUNNY(17üÁ
áBUNNY(5
Lbl G6
áBUNNY(5üÁ
áBUNNY(17
If Ans=1 and Á=5:Then
ClrHome
Output(1,1,"THANKS FOR ALL OF THE GOOD LOVEAND CARE YOU TOOK TO KEEP ME ALIVE! I'M ALL GROWN UP NOW, SOI CAN LOOK AFTERMYSELF!
Pause :Pause
End
"POO CONTROL
áBUNNY(17üÁ
If Á=4 or Á=8:Then
áBUNNY(18üÁ
If Áø3:Then
1üáBUNNY(4
0üáBUNNY(3
End:End
"WEIGHT REDUCTION
áBUNNY(6üÁ
Á-1üÁ
If Á<1
1üÁ
ÁüáBUNNY(6
"CONSCIOUSNESSREDUCTION
áBUNNY(11üÁ
Á-20üÁ
If Á<0
0üÁ
ÁüáBUNNY(11
"STRENGTH REDUCTION
áBUNNY(15üÁ
Á-2.5üÁ
If Á<0
0üÁ
ÁüáBUNNY(15
"GROWN-UP BUNNY
áBUNNY(5üÁ
If Á<5
Goto BP
ÄüG
áBUNNY(4üÁ
If Á=1
Goto 4B
Lbl G1
áBUNNY(3üÁ
If Á÷50
Goto 4A
Lbl G2
áBUNNY(2üÁ
If Á÷50
Goto 2B
Lbl G3
áBUNNY(8üÁ
áBUNNY(5üW
Á/3üÁ
If Á<W
Goto 3A
Lbl G4
áBUNNY(1üÁ
If Á÷50
Goto 2A
áBUNNY(5üÁ
If Á>20
20üÁ
áBUNNY(6üW
Á*5üV
Á*2.8üÁ
If W<Á
Goto 2A
If W>V
Goto 3A
áBUNNY(11üÁ
If Á÷20
Goto 3D
0üG
Lbl BP
"WEIGHT HEALTH PERCENTAGE
áBUNNY(5üÁ
If Á>20
20üÁ
áBUNNY(6üW
W/ÁüÁ
If Á>3.25:Then
If Á>6.5:Then
0üW
Else
Á-3.25üW
3.25-WüW
W/3.25*100üW
End
Else
If Á<2.5
Then
0üW
Else
Á/3.25*100üW
End
End
WüáBUNNY(7
"FITNESS LEVEL
áBUNNY(7üÁ
If Á>40
30üW
áBUNNY(8üÁ
Á/3üÁ
áBUNNY(5üV
If Á<V
Then
100-(Á/V*100)üÁ
W-ÁüW
If W<0
0üW
Else
Á/V*100üÁ
W+ÁüW
If W>100
100üW
End
WüáBUNNY(9
áBUNNY(7üÁ
If Á÷40
Then
áBUNNY(9üÁ
Á-30üÁ
ÁüáBUNNY(9
End
áBUNNY(9üÁ
If Á<0
0üÁ
If Á>100
100üÁ
ÁüáBUNNY(9
"ESTEEM
0üW
áBUNNY(9üÁ
If Áù40
15üW
If Áù60
W+5üW
If Áù80
W+5üW
áBUNNY(1üÁ
If Á=0
W-30üW
If Áù40
W+15üW
If Áù60
W+5üW
If Áù80
W+5üW
áBUNNY(2üÁ
If Á=0
W-30üW
If Áù40
W+15üW
If Áù60
W+5üW
If Áù80
W+5üW
áBUNNY(3üÁ
If Á=0
W-30üW
If Áù40
W+15üW
If Áù60
W+5üW
If Áù80
W+5üW
If W<0
0üW
If W>100
100üW
WüáBUNNY(10
áBUNNY(7üÁ
If Á÷40
Then
áBUNNY(10üÁ
Á-100üÁ
If Á<0
0üÁ
ÁüáBUNNY(10
End
"DEATH CLOCK
áBUNNY(13üV
0üáBUNNY(13
áBUNNY(1üÁ
If Á=0
1üW
áBUNNY(2üÁ
If Á=0
1üW
áBUNNY(3üÁ
If Á=0
1üW
áBUNNY(10üÁ
If Á=0
1üW
If W=0:Then
0üáBUNNY(13
0üáBUNNY(18
End
If W=1:Then
1üáBUNNY(13
If V=1:Then
áBUNNY(18üÁ
If Á=3:Then
ú1üáBUNNY(18
2üáBUNNY(13
End
áBUNNY(18üÁ
Á+1üÁ
ÁüáBUNNY(18
Else
1üáBUNNY(18
End:End
"MOOD
áBUNNY(10üÁ
If Áù0:1üW
If Áù50:2üW
If Áù90:3üW
áBUNNY(11üÁ
If Á÷40:4üW
áBUNNY(12üÁ
If Á=1:5üW
áBUNNY(13üÁ
If Á=1:1üW
If Á=2:0üW
WüáBUNNY(14
Goto D
Lbl MF
"MENU INTERFACE
0üV
1üW
ClrHome
Output(1,1,"PRESS TOP BUTTON
Output(5,1,"+--+--+--+--+--+!ST!FD!HG!FT!OP!úúúúúúúúúúúúúúúúBUNNY'S MOOD
Output(8,13,Str0
"WAIT ON INPUT AND FLASH
Lbl MW
Output(4,5,"
0üV
rand(2Y
getKeyüV
Output(4,5,"-PAUSED-
rand(Y
If V=0
getKeyüV
"GO TO MENU
áBUNNY(13üL
áBUNNY(12üÁ
If V=105
Goto D
If V=11
Goto M1
If V=15
Goto M5
If L=2 or Á=1
Goto MW
If V=12
Goto M2
If V=14
Goto M3
If V=13
Goto M4
Goto MW
"STATUS
Lbl M1
ClrHome
Output(01,001,"AGE : YRSWEIGHT : KGS
Output(3,1,"HUNGER :
Output(4,1,"THIRST :
Output(5,1,"HYGIENE :
Output(6,1,"FITNESS :
Output(7,1,"ESTEEM :
Output(8,1,"STRENGTH:
For(Á,3,8
Output(Á,14,"ô/Ð
End
Fix 0
áBUNNY(1üÁ
Output(3,11,Á
áBUNNY(2üÁ
Output(4,11,Á
áBUNNY(3üÁ
Output(5,11,Á
áBUNNY(5üÁ
Output(1,11,Á
áBUNNY(6üÁ
Output(2,11,Á
áBUNNY(9üÁ
Output(6,11,Á
áBUNNY(10üÁ
Output(7,11,Á
áBUNNY(15üÁ
Output(8,11,Á
Float
Pause
Goto MF
"FOOD
Lbl M2
Menu("FOOD + DRINK","CARROT",2A,"WATER",2B,"BACK",MF
Lbl 2A
ClrHome
Output(1,1,"EATING CARROTS
For(Á,3,6
Output(Á,6,"()()
End
Output(4,7,"..
Output(4,2,"!!!
rand(3Y
Output(4,2,"
rand(2Y
Output(4,3,"
rand(2Y
Output(4,4,"
Output(4,7,"^^
rand(2Y
áBUNNY(1üÁ
Á+20üÁ
If Á>100
100üÁ
ÁüáBUNNY(1
áBUNNY(6üÁ
Á+2üÁ
ÁüáBUNNY(6
1üU
If G=Ä
Goto G4
1üU
Goto AF
Lbl 2B
ClrHome
Output(1,1,"DRINKING WATER
For(Á,3,6
Output(Á,7,"()()
End
Output(4,8,"..)/-
For(Á,2,4
Output(Á,13,"[
Output(Á,16,"]
End
Output(2,14,"--
rand(3Y
Output(2,14,"
Output(3,14,"--
rand(2Y
Output(3,14,"
Output(4,14,"--
rand(2Y
Output(4,14,"
Output(4,8,"^^
rand(2Y
áBUNNY(2üÁ
Á+30üÁ
If Á>100
100üÁ
ÁüáBUNNY(2
1üU
If G=Ä
Goto G2
1üU
Goto AF
"SOCIAL AND FITNESS
Lbl M3
Menu("FITNESS + SOCIAL","EXERCIZE",3A,"SLEEP IN BED",3D,"CONNECT BUNNYS",3C,"BACK",MF
Lbl 3A
ClrHome
Output(1,1,"EXERCIZING
For(Á,3,6
Output(Á,6,"()()
End
Output(4,7,"..
rand(2Y
Output(5,5,"() ()
rand(2Y
Output(5,5," ()()
rand(2Y
Output(6,5,"() ()
rand(2Y
Output(3,1," ()() (..) ()()()()
rand(2Y
Output(3,1," ()() (..) ()() () ()
rand(2Y
Output(6,5," ()()
Output(4,7,"^^
áBUNNY(6üÁ
Á-1üÁ
If Á<1
1üÁ
ÁüáBUNNY(6
áBUNNY(8üÁ
Á+1üÁ
ÁüáBUNNY(8
áBUNNY(15üÁ
Á+5üÁ
If Á>100
100üÁ
ÁüáBUNNY(15
1üU
If G=Ä
Goto G3
1üU
Goto AF
Lbl 3B
áBUNNY(5üÁ
If Á<22
4Á+1üÁ
If Á>21
89üÁ
ÁüáBUNNY(6
100üáBUNNY(1
100üáBUNNY(2
100üáBUNNY(3
0üáBUNNY(4
áBUNNY(20üÁ
If Á:Goto 3E
Goto G6
"HYGIENE
Lbl M4
Menu("HYGIENE","HAVE A WASH",4A,"DISPOSE POO",4B,"BACK",MF
Lbl 4A
ClrHome
Output(1,1,"HAVING A WASH
For(Á,3,6
Output(Á,7,"()()
End
Output(4,8,"..
8üV
0üÁ
rand(Y
Repeat not(V
Output(V,1,"O O O O O O O O
V-1üV
rand(.5Y
Output(V,1," O O O O O O O O
V-1üV
rand(.5Y
End
Output(1,1,"ALL CLEAN!
Output(2,6,"+----+ O O O O !()()!O O OO O O!(^^)! O O O O !()()!O O OO O O!()()! O O O O +----+
0üÁ
Repeat Á=4Y
Á+1üÁ
End
100üáBUNNY(3
1üU
If G=Ä
Goto G2
1üU
Goto AF
Lbl 4B
áBUNNY(4üÁ
If not(Á:1üU
If not(Á
Goto AF
ClrHome
Output(1,1,"DISPOSING POO
For(Á,3,6
Output(Á,1,"()()
End
Output(4,2,"ÒÒ
Output(3,14,"))(
Output(4,14,"(()
Output(5,14,"MMM
rand(4Y
Output(5,14,"
rand(2Y
Output(4,14,"
Output(5,15,"
rand(2Y
Output(3,14,"
Output(4,15,"
Output(5,16,"
rand(2Y
Output(3,15,"
Output(4,16,"
rand(2Y
Output(3,16,"
Output(4,2,"^^
0üáBUNNY(4
1üU
If G=Ä
Goto G1
1üU
Goto AF
"BED
Lbl 3D
1üU
0üG
áBUNNY(11üÁ
If Á÷40
1üáBUNNY(12
Goto AF
Lbl M5
áBUNNY(13üÁ
If Á=2
Menu("OPTIONS","BACK",MF,"GAME SPEED",GS,"SAVE AND QUIT",QT,"RESTART BUNNY",N
Menu("OPTIONS","BACK",MF,"GAME SPEED",GS,"SAVE AND QUIT",QT
Lbl 3C
ClrHome
0üR
0üM
0üÁ
rand(6randInt(1,6
GetCalc(R
If R=Ä:Then
0üR
1üM
Else
ÄüR
0üM
End
ClrHome
Output(1,1,"PRESS 'ENTER' ATTHE SAME TIME...
Pause
If M:Goto RB
Lbl SB
ClrHome
Output(1,1,"WAITING... PRESS 'ENTER' TOQUIT
Repeat M or Á=105
GetCalc(M
getKeyüÁ
End
If Á=105
Goto MF
0üM
Output(7,1,"READY!
Pause
ClrHome
1üáBUNNY(20
Goto 3B
Lbl 3E
0üáBUNNY(20
For(Á,3,6
Output(Á,5,"()()
End
Output(4,6,"..
rand(2Y
ClrHome
For(Á,3,6
Output(Á,1,"()()
End
Output(4,2,"..
rand(2Y
ClrHome
Disp " GONE TO FRIEND"
For(Á,1,85
rand(Y
End
ClrHome
Disp "BACK!
For(Á,3,6
Output(Á,1,"()()
End
Output(4,2,"..
rand(2Y
Output(4,2,"^^
rand(3Y
Goto AF
Lbl RB
Menu("START WHEN READY","START",R1
Lbl R1
ClrHome
For(Á,3,6
Output(Á,1,"()()
End
Output(4,2,"..
rand(3Y
For(Á,3,6
Output(Á,13,"()()
End
Output(4,14,"..
rand(3Y
Output(4,2,"^^
Output(4,14,"^^
rand(3Y
Output(1,1,"HI!
rand(3Y
Output(1,1,"
Output(1,11,"HELLO!
rand(3Y
Output(1,11,"
For(Á,3,6
Output(Á,9,"()()
End
Output(4,2,"..
Output(4,10,"..
rand(3Y
Output(1,1,"LET ME HEAL YOU!
rand(5Y
Output(1,1,"
rand(3Y
Output(1,13,"OKAY
rand(3Y
Output(1,13,"
For(Á,3,6
Output(Á,1," ()()
End
Output(4,6,"..
rand(3Y
For(Á,3,6
For(A,9,12
Output(Á,A,"Ä
rand(iPart(.5Y
End:End
rand(3Y
For(Á,3,6
For(A,9,12
If A=9
Output(Á,A,"(
If A=10 and Áø4
Output(Á,A,")
If A=10 and Á=4
Output(Á,A,".
If A=11 and Áø4
Output(Á,A,"(
If A=11 and Á=4
Output(4,11,".
If A=12
Output(Á,A,")
End:End
rand(3Y
Output(4,10,"^^
rand(3Y
Output(1,13,"WOW!
rand(3Y
Output(1,5,"I FEEL GREAT
rand(3Y
Output(4,6,"^^
Output(1,5," THANKS!
rand(3Y
Output(1,10,"
Output(1,1,"ANYTIME!
rand(3Y
Output(1,1,"
rand(3Y
Output(1,1,"BYE!
rand(3Y
Output(1,1,"
Output(1,9,"GOODBYE!
rand(3Y
Output(1,9,"
rand(3Y
For(For(,3,6
Output(Á,9," ()()
End
Output(4,14,"^^
rand(3Y
For(Á,3,6
Output(Á,13,"
End
rand(3Y
Output(4,6,"..
rand(4Y
Goto D
Lbl HP
ClrHome
Output(1,1,"BUNNY GOTCHI IS A VIRTUAL PET ONYOUR CALCULATOR.
Output(5,2,"PRESS [ENTER]
Pause
ClrHome
Output(1,1,"[ENTER], IS THE MOST IMPORTANT BUTTON IN THIS GAME. PRESS IT WHEN YOU DON'T KNOW WHAT TO DO.
Pause :Pause
ClrHome
Output(01,001,"YOU'LL ENCOUNTERA MENU SCREEN WHILE PLAYING THE GAME: +--+--+--+--+--+!ST!FD!HG!FT!OP!úúúúúúúúúúúúúúúú
Pause
ClrHome
Output(01,001,"THE BOX-LIKE FIGURES RELATE DIRECTLY WITH THE TOP BUTTONS EXACTLY BELOW THE SCREEN I.E.
Output(8,1,"[Y=],[ZOOM],ETC.
Pause
ClrHome
Output(1,1,"BUNNY GOTCHI'S LIFE DEPENDS ON A FEW THINGS....
Output(5,1,"FD, FOOD HG, HYGIENE FT, FITNESS
Pause
ClrHome
Output(0001,1,"+--+--+--+--+--+! !FD! ! ! !úúúúúúúúúúúúúúúúFOOD THIS MENU GIVES BUNNY GOTCHI FOOD AND WATER.
Pause
Output(2,5," !HG
Output(4,1,"HYGIENE
Output(6,14,"THEABILITY TO BATH AND DISPOSE POO.
Pause
Output(2,8," !FT
Output(4,1,"FITNESS
Output(5,11,"LETS
Output(6,13," EXERCIZE,SLEEP +SEE OTHER BUNNYS
Pause
Output(2,11," !OP
Output(4,1,"OPTIONS
Output(5,11,"GIVES
Output(6,1,"YOU THE ABILITY TO CHANGE THE GAMESPEED + QUIT
Pause
Output(2,2,"ST
Output(2,14,"
Output(4,1,"STATUS
Output(7,4,"VIEW BUNNY GOTCHI'S NEEDS.
Pause
ClrHome
Output(01,001,"IF BUNNY GOTCHI CRIES, IT NEEDS SOMETHING QUICK
For(Á,5,7
Output(Á,7,"()()
End
For(Á,7,8
Output(Á,6,"[
Output(Á,11,"]
End
Output(8,7,"++++
Repeat Á=105
getKeyüÁ
Output(6,8,"÷ù
rand(20
If Áø105
getKeyüÁ
Output(6,8,"<>
rand(20
If Áø105
getKeyüÁ
End
ClrHome
Output(1,1,"IF YOU CHECK THESTATUS AND FIND NOTHING WRONG, BUNNY GOTCHI MAYBE OVERWEIGHT ORUNDERWEIGHT, OR NEED EXCERCISE.
Pause
ClrHome
Output(4,1," HAVE FUN AND GOOD LUCK!
Pause
ClrHome
Goto ST
Lbl QT
ClrHome
Output(1,1,"BUNNY GOTCHI PROGRAM
" -JAMES KANJOüStr0
Output(8,1,Str0
rand(50
ClrHome:Output(1,1,"
Notice that I have not included the first colon on each line. This is because it makes it easier to compile the code when using the TI-GRAPH LINK software.
I hope you guys enjoy this…I think it is a unique game of its kind!
Cheers ~ James Kanjo
EDIT: I made the scary code in a collapsible text box thingy.