Tamagotchi

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player

Committer:
alansong95
Date:
Mon Mar 13 03:11:52 2017 +0000
Revision:
0:f2c4b70c6e2f
ok

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alansong95 0:f2c4b70c6e2f 1 #include "mbed.h"
alansong95 0:f2c4b70c6e2f 2 #include "uLCD_4DGL.h"
alansong95 0:f2c4b70c6e2f 3 #include "SDFileSystem.h"
alansong95 0:f2c4b70c6e2f 4 #include "wave_player.h"
alansong95 0:f2c4b70c6e2f 5 #include "rtos.h"
alansong95 0:f2c4b70c6e2f 6 #define X 0x000000
alansong95 0:f2c4b70c6e2f 7 #define _ 0xFFFFFF
alansong95 0:f2c4b70c6e2f 8 #define MONSTER_HEIGHT 24
alansong95 0:f2c4b70c6e2f 9 #define MONSTER_WIDTH 33
alansong95 0:f2c4b70c6e2f 10
alansong95 0:f2c4b70c6e2f 11 uLCD_4DGL uLCD(p28, p27, p26);
alansong95 0:f2c4b70c6e2f 12 SDFileSystem sd(p5, p6, p7, p8, "sd");
alansong95 0:f2c4b70c6e2f 13 AnalogOut DACout(p18);
alansong95 0:f2c4b70c6e2f 14 wave_player waver(&DACout);
alansong95 0:f2c4b70c6e2f 15 FILE *fp;
alansong95 0:f2c4b70c6e2f 16 FILE *wave_file;
alansong95 0:f2c4b70c6e2f 17 int menu_state;
alansong95 0:f2c4b70c6e2f 18 bool arrow_state;
alansong95 0:f2c4b70c6e2f 19 bool light_state; // 0: on 1: off
alansong95 0:f2c4b70c6e2f 20 int info_state;
alansong95 0:f2c4b70c6e2f 21
alansong95 0:f2c4b70c6e2f 22 class Nav_Switch
alansong95 0:f2c4b70c6e2f 23 {
alansong95 0:f2c4b70c6e2f 24 public:
alansong95 0:f2c4b70c6e2f 25 Nav_Switch(PinName up,PinName down,PinName left,PinName right,PinName fire);
alansong95 0:f2c4b70c6e2f 26 int read();
alansong95 0:f2c4b70c6e2f 27 //boolean functions to test each switch
alansong95 0:f2c4b70c6e2f 28 bool up();
alansong95 0:f2c4b70c6e2f 29 bool down();
alansong95 0:f2c4b70c6e2f 30 bool left();
alansong95 0:f2c4b70c6e2f 31 bool right();
alansong95 0:f2c4b70c6e2f 32 bool fire();
alansong95 0:f2c4b70c6e2f 33 //automatic read on RHS
alansong95 0:f2c4b70c6e2f 34 operator int ();
alansong95 0:f2c4b70c6e2f 35 //index to any switch array style
alansong95 0:f2c4b70c6e2f 36 bool operator[](int index) {
alansong95 0:f2c4b70c6e2f 37 return _pins[index];
alansong95 0:f2c4b70c6e2f 38 };
alansong95 0:f2c4b70c6e2f 39 private:
alansong95 0:f2c4b70c6e2f 40 BusIn _pins;
alansong95 0:f2c4b70c6e2f 41
alansong95 0:f2c4b70c6e2f 42 };
alansong95 0:f2c4b70c6e2f 43 Nav_Switch::Nav_Switch (PinName up,PinName down,PinName left,PinName right,PinName fire):
alansong95 0:f2c4b70c6e2f 44 _pins(up, down, left, right, fire)
alansong95 0:f2c4b70c6e2f 45 {
alansong95 0:f2c4b70c6e2f 46 _pins.mode(PullUp); //needed if pullups not on board or a bare nav switch is used - delete otherwise
alansong95 0:f2c4b70c6e2f 47 wait(0.001); //delays just a bit for pullups to pull inputs high
alansong95 0:f2c4b70c6e2f 48 }
alansong95 0:f2c4b70c6e2f 49 inline bool Nav_Switch::up()
alansong95 0:f2c4b70c6e2f 50 {
alansong95 0:f2c4b70c6e2f 51 return !(_pins[0]);
alansong95 0:f2c4b70c6e2f 52 }
alansong95 0:f2c4b70c6e2f 53 inline bool Nav_Switch::down()
alansong95 0:f2c4b70c6e2f 54 {
alansong95 0:f2c4b70c6e2f 55 return !(_pins[1]);
alansong95 0:f2c4b70c6e2f 56 }
alansong95 0:f2c4b70c6e2f 57 inline bool Nav_Switch::left()
alansong95 0:f2c4b70c6e2f 58 {
alansong95 0:f2c4b70c6e2f 59 return !(_pins[2]);
alansong95 0:f2c4b70c6e2f 60 }
alansong95 0:f2c4b70c6e2f 61 inline bool Nav_Switch::right()
alansong95 0:f2c4b70c6e2f 62 {
alansong95 0:f2c4b70c6e2f 63 return !(_pins[3]);
alansong95 0:f2c4b70c6e2f 64 }
alansong95 0:f2c4b70c6e2f 65 inline bool Nav_Switch::fire()
alansong95 0:f2c4b70c6e2f 66 {
alansong95 0:f2c4b70c6e2f 67 return !(_pins[4]);
alansong95 0:f2c4b70c6e2f 68 }
alansong95 0:f2c4b70c6e2f 69 inline int Nav_Switch::read()
alansong95 0:f2c4b70c6e2f 70 {
alansong95 0:f2c4b70c6e2f 71 return _pins.read();
alansong95 0:f2c4b70c6e2f 72 }
alansong95 0:f2c4b70c6e2f 73 inline Nav_Switch::operator int ()
alansong95 0:f2c4b70c6e2f 74 {
alansong95 0:f2c4b70c6e2f 75 return _pins.read();
alansong95 0:f2c4b70c6e2f 76 }
alansong95 0:f2c4b70c6e2f 77
alansong95 0:f2c4b70c6e2f 78 Nav_Switch myNav( p12, p15, p14, p16, p13);
alansong95 0:f2c4b70c6e2f 79
alansong95 0:f2c4b70c6e2f 80 // draw start
alansong95 0:f2c4b70c6e2f 81
alansong95 0:f2c4b70c6e2f 82 int FOOD[22*17]={
alansong95 0:f2c4b70c6e2f 83 _,_,_,_,_,_,_,X,X,X,X,X,X,X,X,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 84 _,_,_,_,_,_,X,X,_,_,_,_,_,_,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 85 _,_,_,_,_,X,X,_,_,_,_,_,_,_,_,X,X,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 86 _,_,_,_,X,X,_,_,_,_,_,_,_,_,_,_,X,X,_,_,_,_,
alansong95 0:f2c4b70c6e2f 87 _,_,_,X,X,_,_,_,_,_,_,_,_,_,_,_,_,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 88 _,_,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,_,_,
alansong95 0:f2c4b70c6e2f 89 _,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,_,
alansong95 0:f2c4b70c6e2f 90 X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 91 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 92 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 93 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 94 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 95 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 96 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 97 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 98 _,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 99 _,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 100 };
alansong95 0:f2c4b70c6e2f 101
alansong95 0:f2c4b70c6e2f 102 int FOOD2[22*6]={
alansong95 0:f2c4b70c6e2f 103 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 104 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 105 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 106 X,X,_,_,_,_,X,X,X,X,X,X,X,X,X,X,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 107 _,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 108 _,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 109 };
alansong95 0:f2c4b70c6e2f 110
alansong95 0:f2c4b70c6e2f 111 int MED[16*16]={
alansong95 0:f2c4b70c6e2f 112 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 113 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 114 X,X,_,_,_,_,_,_,_,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 115 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 116 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 117 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 118 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 119 X,X,_,X,X,X,X,X,X,X,X,X,X,_,X,X,
alansong95 0:f2c4b70c6e2f 120 X,X,_,X,X,X,X,X,X,X,X,X,X,_,X,X,
alansong95 0:f2c4b70c6e2f 121 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 122 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 123 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 124 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 125 X,X,_,_,_,_,_,_,_,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 126 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 127 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 128 };
alansong95 0:f2c4b70c6e2f 129
alansong95 0:f2c4b70c6e2f 130 int MED2[16*8]={
alansong95 0:f2c4b70c6e2f 131 X,X,_,X,X,X,X,X,X,X,X,X,X,_,X,X,
alansong95 0:f2c4b70c6e2f 132 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 133 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 134 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 135 X,X,_,_,_,_,_,X,X,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 136 X,X,_,_,_,_,_,_,_,_,_,_,_,_,X,X,
alansong95 0:f2c4b70c6e2f 137 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 138 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 139 };
alansong95 0:f2c4b70c6e2f 140
alansong95 0:f2c4b70c6e2f 141
alansong95 0:f2c4b70c6e2f 142 int POOP[8*11]={
alansong95 0:f2c4b70c6e2f 143 _,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 144 _,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 145 _,_,_,_,_,X,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 146 _,_,_,_,_,X,X,_,_,_,_,
alansong95 0:f2c4b70c6e2f 147 _,_,_,_,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 148 _,_,_,X,X,X,_,X,_,_,_,
alansong95 0:f2c4b70c6e2f 149 _,_,X,X,X,X,X,_,X,_,_,
alansong95 0:f2c4b70c6e2f 150 _,X,X,X,X,X,X,X,X,X,_,
alansong95 0:f2c4b70c6e2f 151 };
alansong95 0:f2c4b70c6e2f 152
alansong95 0:f2c4b70c6e2f 153 int MONSTER1_1[MONSTER_HEIGHT * MONSTER_WIDTH]={
alansong95 0:f2c4b70c6e2f 154 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 155 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 156 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 157 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 158 X,X,X,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 159 X,X,X,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 160 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 161 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 162 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 163 X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 164 X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 165 X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 166 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 167 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 168 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 169 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 170 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 171 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 172 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 173 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 174 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 175 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 176 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 177 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 178 };
alansong95 0:f2c4b70c6e2f 179
alansong95 0:f2c4b70c6e2f 180 int MONSTER1_2[MONSTER_HEIGHT * MONSTER_WIDTH]={
alansong95 0:f2c4b70c6e2f 181 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 182 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 183 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 184 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 185 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 186 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 187 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 188 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 189 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 190 _,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 191 _,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 192 _,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 193 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 194 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 195 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 196 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 197 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 198 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 199 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 200 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 201 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 202 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 203 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 204 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 205 };
alansong95 0:f2c4b70c6e2f 206
alansong95 0:f2c4b70c6e2f 207
alansong95 0:f2c4b70c6e2f 208 int MONSTER1_MAD1[MONSTER_HEIGHT * MONSTER_WIDTH]={
alansong95 0:f2c4b70c6e2f 209 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 210 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 211 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 212 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 213 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 214 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 215 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 216 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 217 _,_,_,_,_,_,X,X,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 218 X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 219 X,X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 220 X,X,X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,X,_,_,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 221 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 222 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 223 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 224 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 225 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 226 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 227 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 228 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 229 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 230 _,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 231 _,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 232 _,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 233 };
alansong95 0:f2c4b70c6e2f 234
alansong95 0:f2c4b70c6e2f 235
alansong95 0:f2c4b70c6e2f 236
alansong95 0:f2c4b70c6e2f 237
alansong95 0:f2c4b70c6e2f 238
alansong95 0:f2c4b70c6e2f 239 int MONSTER1_SICK1[MONSTER_HEIGHT * MONSTER_WIDTH]={
alansong95 0:f2c4b70c6e2f 240 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 241 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 242 _,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 243 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 244 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 245 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 246 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 247 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 248 _,_,_,_,_,_,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 249 _,_,_,X,X,X,X,X,_,X,_,X,_,X,X,X,X,X,X,X,_,X,_,X,_,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 250 _,_,_,X,X,X,X,X,_,_,X,_,_,X,X,X,X,X,X,X,_,_,X,_,_,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 251 _,_,_,X,X,X,X,X,_,X,_,X,_,X,X,X,X,X,X,X,_,X,_,X,_,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 252 X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 253 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 254 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 255 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 256 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 257 X,X,X,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 258 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 259 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 260 X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,
alansong95 0:f2c4b70c6e2f 261 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 262 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 263 _,_,_,_,_,_,_,_,_,X,X,X,X,X,X,_,_,_,X,X,X,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 264 };
alansong95 0:f2c4b70c6e2f 265
alansong95 0:f2c4b70c6e2f 266 int MONSTER1_SLEEP1[MONSTER_HEIGHT * MONSTER_WIDTH]={
alansong95 0:f2c4b70c6e2f 267 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 268 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 269 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 270 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 271 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 272 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 273 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 274 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,X,X,X,_,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 275 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,_,_,_,X,_,_,_,X,_,_,_,
alansong95 0:f2c4b70c6e2f 276 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,X,X,X,_,X,X,X,_,_,
alansong95 0:f2c4b70c6e2f 277 _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 278 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 279 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 280 _,_,_,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 281 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 282 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 283 _,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,X,X,X,_,_,_,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 284 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 285 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 286 _,_,_,_,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,_,_,_,
alansong95 0:f2c4b70c6e2f 287 _,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,X,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 288 _,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 289 _,_,_,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,_,_,_,
alansong95 0:f2c4b70c6e2f 290 X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,
alansong95 0:f2c4b70c6e2f 291 };
alansong95 0:f2c4b70c6e2f 292
alansong95 0:f2c4b70c6e2f 293 void drawMenu1(int color) {
alansong95 0:f2c4b70c6e2f 294 uLCD.line(12, 6, 13, 6, color);
alansong95 0:f2c4b70c6e2f 295 uLCD.line(24, 6, 25, 6, color);
alansong95 0:f2c4b70c6e2f 296 uLCD.line(13, 7, 14, 7, color);
alansong95 0:f2c4b70c6e2f 297 uLCD.line(23, 7, 25, 7, color);
alansong95 0:f2c4b70c6e2f 298 uLCD.line(10, 8, 11, 8, color);
alansong95 0:f2c4b70c6e2f 299 uLCD.line(14, 8, 15, 8, color);
alansong95 0:f2c4b70c6e2f 300 uLCD.line(22, 8, 25, 8, color);
alansong95 0:f2c4b70c6e2f 301 uLCD.line(8, 9, 9, 9, color);
alansong95 0:f2c4b70c6e2f 302 uLCD.line(11, 9, 13, 9, color);
alansong95 0:f2c4b70c6e2f 303 uLCD.line(15, 9, 16, 9, color);
alansong95 0:f2c4b70c6e2f 304 uLCD.line(21, 9, 25, 9, color);
alansong95 0:f2c4b70c6e2f 305 uLCD.line(9, 10, 10, 10, color);
alansong95 0:f2c4b70c6e2f 306 uLCD.line(12, 10, 14, 10, color);
alansong95 0:f2c4b70c6e2f 307 uLCD.line(15, 10, 16, 10, color);
alansong95 0:f2c4b70c6e2f 308 uLCD.line(20, 10, 25, 10, color);
alansong95 0:f2c4b70c6e2f 309 uLCD.line(10, 11, 11, 11, color);
alansong95 0:f2c4b70c6e2f 310 uLCD.line(13, 11, 16, 11, color);
alansong95 0:f2c4b70c6e2f 311 uLCD.line(19, 11, 24, 11, color);
alansong95 0:f2c4b70c6e2f 312 uLCD.line(11, 12, 16, 12, color);
alansong95 0:f2c4b70c6e2f 313 uLCD.line(18, 12, 23, 12, color);
alansong95 0:f2c4b70c6e2f 314 uLCD.line(12, 13, 15, 13, color);
alansong95 0:f2c4b70c6e2f 315 uLCD.line(17, 13, 22, 13, color);
alansong95 0:f2c4b70c6e2f 316 uLCD.line(16, 14, 21, 14, color);
alansong95 0:f2c4b70c6e2f 317 uLCD.line(15, 15, 18, 15, color);
alansong95 0:f2c4b70c6e2f 318 uLCD.line(14, 16, 17, 16, color);
alansong95 0:f2c4b70c6e2f 319 uLCD.line(19, 16, 21, 16, color);
alansong95 0:f2c4b70c6e2f 320 uLCD.line(13, 17, 16, 17, color);
alansong95 0:f2c4b70c6e2f 321 uLCD.line(18, 17, 22, 17, color);
alansong95 0:f2c4b70c6e2f 322 uLCD.line(11, 18, 15, 18, color);
alansong95 0:f2c4b70c6e2f 323 uLCD.line(19, 18, 23, 18, color);
alansong95 0:f2c4b70c6e2f 324 uLCD.line(11, 19, 14, 19, color);
alansong95 0:f2c4b70c6e2f 325 uLCD.line(20, 19, 24, 19, color);
alansong95 0:f2c4b70c6e2f 326 uLCD.line(9, 20, 13, 20, color);
alansong95 0:f2c4b70c6e2f 327 uLCD.line(21, 20, 25, 20, color);
alansong95 0:f2c4b70c6e2f 328 uLCD.line(10, 21, 12, 21, color);
alansong95 0:f2c4b70c6e2f 329 uLCD.line(22, 21, 25, 21, color);
alansong95 0:f2c4b70c6e2f 330 }
alansong95 0:f2c4b70c6e2f 331
alansong95 0:f2c4b70c6e2f 332 void drawMenu2(int color) {
alansong95 0:f2c4b70c6e2f 333 uLCD.line(44, 5, 45, 5, color);
alansong95 0:f2c4b70c6e2f 334 uLCD.line(53, 5, 54, 5, color);
alansong95 0:f2c4b70c6e2f 335 uLCD.line(45, 6, 46, 6, color);
alansong95 0:f2c4b70c6e2f 336 uLCD.line(52, 6, 53, 6, color);
alansong95 0:f2c4b70c6e2f 337 uLCD.line(45, 7, 46, 7, color);
alansong95 0:f2c4b70c6e2f 338 uLCD.line(52, 7, 53, 7, color);
alansong95 0:f2c4b70c6e2f 339 uLCD.line(47, 8, 51, 8, color);
alansong95 0:f2c4b70c6e2f 340 uLCD.line(42, 9, 43, 9, color);
alansong95 0:f2c4b70c6e2f 341 uLCD.line(45, 9, 50, 9, color);
alansong95 0:f2c4b70c6e2f 342 uLCD.line(51, 9, 53, 9, color);
alansong95 0:f2c4b70c6e2f 343 uLCD.line(55, 9, 56, 9, color);
alansong95 0:f2c4b70c6e2f 344 uLCD.line(45, 10, 51, 10, color);
alansong95 0:f2c4b70c6e2f 345 uLCD.line(52, 10, 53, 10, color);
alansong95 0:f2c4b70c6e2f 346 uLCD.line(44, 11, 52, 11, color);
alansong95 0:f2c4b70c6e2f 347 uLCD.line(53, 11, 54, 11, color);
alansong95 0:f2c4b70c6e2f 348 uLCD.line(44, 12, 52, 12, color);
alansong95 0:f2c4b70c6e2f 349 uLCD.line(53, 12, 54, 12, color);
alansong95 0:f2c4b70c6e2f 350 uLCD.line(40, 13, 43, 13, color);
alansong95 0:f2c4b70c6e2f 351 uLCD.line(44, 13, 54, 13, color);
alansong95 0:f2c4b70c6e2f 352 uLCD.line(55, 13, 58, 13, color);
alansong95 0:f2c4b70c6e2f 353 uLCD.line(44, 14, 54, 14, color);
alansong95 0:f2c4b70c6e2f 354 uLCD.line(45, 15, 53, 15, color);
alansong95 0:f2c4b70c6e2f 355 uLCD.line(43, 16, 44, 16, color);
alansong95 0:f2c4b70c6e2f 356 uLCD.line(45, 16, 53, 16, color);
alansong95 0:f2c4b70c6e2f 357 uLCD.line(54, 16, 55, 16, color);
alansong95 0:f2c4b70c6e2f 358 uLCD.line(41, 17, 42, 17, color);
alansong95 0:f2c4b70c6e2f 359 uLCD.line(46, 17, 52, 17, color);
alansong95 0:f2c4b70c6e2f 360 uLCD.line(56, 17, 57, 17, color);
alansong95 0:f2c4b70c6e2f 361 uLCD.line(46, 18, 52, 18, color);
alansong95 0:f2c4b70c6e2f 362 uLCD.line(47, 19, 51, 19, color);
alansong95 0:f2c4b70c6e2f 363 uLCD.line(47, 21, 51, 21, color);
alansong95 0:f2c4b70c6e2f 364 uLCD.line(47, 22, 51, 22, color);
alansong95 0:f2c4b70c6e2f 365 }
alansong95 0:f2c4b70c6e2f 366
alansong95 0:f2c4b70c6e2f 367 void drawMenu3(int color) {
alansong95 0:f2c4b70c6e2f 368 uLCD.line(73, 4, 74, 4, color);
alansong95 0:f2c4b70c6e2f 369 uLCD.line(72, 5, 76, 5, color);
alansong95 0:f2c4b70c6e2f 370 uLCD.line(71, 6, 77, 6, color);
alansong95 0:f2c4b70c6e2f 371 uLCD.line(71, 7, 78, 7, color);
alansong95 0:f2c4b70c6e2f 372 uLCD.line(72, 8, 79, 8, color);
alansong95 0:f2c4b70c6e2f 373 uLCD.line(73, 9, 79, 9, color);
alansong95 0:f2c4b70c6e2f 374 uLCD.line(74, 10, 80, 10, color);
alansong95 0:f2c4b70c6e2f 375 uLCD.line(75, 11, 81, 11, color);
alansong95 0:f2c4b70c6e2f 376 uLCD.line(76, 12, 82, 12, color);
alansong95 0:f2c4b70c6e2f 377 uLCD.line(77, 13, 83, 13, color);
alansong95 0:f2c4b70c6e2f 378 uLCD.line(79, 14, 83, 14, color);
alansong95 0:f2c4b70c6e2f 379 uLCD.line(80, 15, 84, 15, color);
alansong95 0:f2c4b70c6e2f 380 uLCD.line(82, 16, 85, 16, color);
alansong95 0:f2c4b70c6e2f 381 uLCD.line(83, 17, 86, 17, color);
alansong95 0:f2c4b70c6e2f 382 uLCD.line(84, 18, 86, 18, color);
alansong95 0:f2c4b70c6e2f 383 uLCD.line(85, 19, 87, 19, color);
alansong95 0:f2c4b70c6e2f 384 uLCD.line(74, 20, 76, 20, color);
alansong95 0:f2c4b70c6e2f 385 uLCD.line(86, 20, 88, 20, color);
alansong95 0:f2c4b70c6e2f 386 uLCD.line(73, 21, 76, 21, color);
alansong95 0:f2c4b70c6e2f 387 uLCD.line(87, 21, 89, 21, color);
alansong95 0:f2c4b70c6e2f 388 uLCD.line(73, 22, 76, 22, color);
alansong95 0:f2c4b70c6e2f 389 uLCD.line(88, 22, 90, 22, color);
alansong95 0:f2c4b70c6e2f 390 }
alansong95 0:f2c4b70c6e2f 391
alansong95 0:f2c4b70c6e2f 392 void drawMenu4(int color) {
alansong95 0:f2c4b70c6e2f 393 uLCD.line(106, 4, 110, 4, color);
alansong95 0:f2c4b70c6e2f 394 uLCD.line(104, 5, 106, 5, color);
alansong95 0:f2c4b70c6e2f 395 uLCD.line(110, 5, 112, 5, color);
alansong95 0:f2c4b70c6e2f 396 uLCD.line(104, 6, 105, 6, color);
alansong95 0:f2c4b70c6e2f 397 uLCD.line(111, 6, 113, 6, color);
alansong95 0:f2c4b70c6e2f 398 uLCD.line(103, 7, 104, 7, color);
alansong95 0:f2c4b70c6e2f 399 uLCD.line(112, 7, 114, 7, color);
alansong95 0:f2c4b70c6e2f 400 uLCD.line(103, 8, 104, 8, color);
alansong95 0:f2c4b70c6e2f 401 uLCD.line(113, 8, 115, 8, color);
alansong95 0:f2c4b70c6e2f 402 uLCD.line(103, 9, 104, 9, color);
alansong95 0:f2c4b70c6e2f 403 uLCD.line(114, 9, 116, 9, color);
alansong95 0:f2c4b70c6e2f 404 uLCD.line(103, 10, 104, 10, color);
alansong95 0:f2c4b70c6e2f 405 uLCD.line(115, 10, 117, 10, color);
alansong95 0:f2c4b70c6e2f 406 uLCD.line(104, 11, 105, 11, color);
alansong95 0:f2c4b70c6e2f 407 uLCD.line(116, 11, 118, 11, color);
alansong95 0:f2c4b70c6e2f 408 uLCD.line(104, 12, 106, 12, color);
alansong95 0:f2c4b70c6e2f 409 uLCD.line(115, 12, 119, 12, color);
alansong95 0:f2c4b70c6e2f 410 uLCD.line(105, 13, 107, 13, color);
alansong95 0:f2c4b70c6e2f 411 uLCD.line(114, 13, 120, 13, color);
alansong95 0:f2c4b70c6e2f 412 uLCD.line(106, 14, 108, 14, color);
alansong95 0:f2c4b70c6e2f 413 uLCD.line(113, 14, 121, 14, color);
alansong95 0:f2c4b70c6e2f 414 uLCD.line(107, 15, 109, 15, color);
alansong95 0:f2c4b70c6e2f 415 uLCD.line(112, 15, 122, 15, color);
alansong95 0:f2c4b70c6e2f 416 uLCD.line(108, 16, 109, 16, color);
alansong95 0:f2c4b70c6e2f 417 uLCD.line(111, 16, 122, 16, color);
alansong95 0:f2c4b70c6e2f 418 uLCD.line(109, 17, 122, 17, color);
alansong95 0:f2c4b70c6e2f 419 uLCD.line(110, 18, 122, 18, color);
alansong95 0:f2c4b70c6e2f 420 uLCD.line(111, 19, 122, 19, color);
alansong95 0:f2c4b70c6e2f 421 uLCD.line(112, 20, 122, 20, color);
alansong95 0:f2c4b70c6e2f 422 uLCD.line(113, 21, 122, 21, color);
alansong95 0:f2c4b70c6e2f 423 uLCD.line(114, 22, 121, 22, color);
alansong95 0:f2c4b70c6e2f 424 }
alansong95 0:f2c4b70c6e2f 425
alansong95 0:f2c4b70c6e2f 426 void drawMenu5(int color) {
alansong95 0:f2c4b70c6e2f 427 uLCD.line(20, 107, 24, 107, color);
alansong95 0:f2c4b70c6e2f 428 uLCD.line(19, 108, 25, 108, color);
alansong95 0:f2c4b70c6e2f 429 uLCD.line(18, 109, 25, 109, color);
alansong95 0:f2c4b70c6e2f 430 uLCD.line(18, 110, 25, 110, color);
alansong95 0:f2c4b70c6e2f 431 uLCD.line(17, 111, 25, 111, color);
alansong95 0:f2c4b70c6e2f 432 uLCD.line(17, 112, 24, 112, color);
alansong95 0:f2c4b70c6e2f 433 uLCD.line(17, 113, 24, 113, color);
alansong95 0:f2c4b70c6e2f 434 uLCD.line(18, 114, 23, 114, color);
alansong95 0:f2c4b70c6e2f 435 uLCD.line(11, 115, 18, 115, color);
alansong95 0:f2c4b70c6e2f 436 uLCD.line(21, 115, 22, 115, color);
alansong95 0:f2c4b70c6e2f 437 uLCD.line(10, 116, 11, 116, color);
alansong95 0:f2c4b70c6e2f 438 uLCD.line(18, 116, 21, 116, color);
alansong95 0:f2c4b70c6e2f 439 uLCD.line(9, 117, 11, 117, color);
alansong95 0:f2c4b70c6e2f 440 uLCD.line(17, 117, 21, 117, color);
alansong95 0:f2c4b70c6e2f 441 uLCD.line(11, 118, 21, 118, color);
alansong95 0:f2c4b70c6e2f 442 uLCD.line(10, 119, 11, 119, color);
alansong95 0:f2c4b70c6e2f 443 uLCD.line(16, 119, 20, 119, color);
alansong95 0:f2c4b70c6e2f 444 uLCD.line(11, 120, 20, 120, color);
alansong95 0:f2c4b70c6e2f 445 uLCD.line(12, 121, 19, 121, color);
alansong95 0:f2c4b70c6e2f 446 uLCD.line(12, 122, 13, 122, color);
alansong95 0:f2c4b70c6e2f 447 uLCD.line(14, 122, 19, 122, color);
alansong95 0:f2c4b70c6e2f 448 uLCD.line(12, 123, 19, 123, color);
alansong95 0:f2c4b70c6e2f 449 uLCD.line(12, 124, 19, 124, color);
alansong95 0:f2c4b70c6e2f 450 }
alansong95 0:f2c4b70c6e2f 451
alansong95 0:f2c4b70c6e2f 452 void drawMenu6(int color) {
alansong95 0:f2c4b70c6e2f 453 uLCD.line(46, 107, 50, 107, color);
alansong95 0:f2c4b70c6e2f 454 uLCD.line(46, 108, 51, 108, color);
alansong95 0:f2c4b70c6e2f 455 uLCD.line(45, 109, 51, 109, color);
alansong95 0:f2c4b70c6e2f 456 uLCD.line(46, 110, 51, 110, color);
alansong95 0:f2c4b70c6e2f 457 uLCD.line(48, 111, 49, 111, color);
alansong95 0:f2c4b70c6e2f 458 uLCD.line(46, 113, 53, 113, color);
alansong95 0:f2c4b70c6e2f 459 uLCD.line(46, 114, 53, 114, color);
alansong95 0:f2c4b70c6e2f 460 uLCD.line(46, 115, 51, 115, color);
alansong95 0:f2c4b70c6e2f 461 uLCD.line(46, 116, 51, 116, color);
alansong95 0:f2c4b70c6e2f 462 uLCD.line(46, 117, 51, 117, color);
alansong95 0:f2c4b70c6e2f 463 uLCD.line(46, 118, 51, 118, color);
alansong95 0:f2c4b70c6e2f 464 uLCD.line(46, 119, 51, 119, color);
alansong95 0:f2c4b70c6e2f 465 uLCD.line(46, 120, 51, 120, color);
alansong95 0:f2c4b70c6e2f 466 uLCD.line(46, 121, 51, 121, color);
alansong95 0:f2c4b70c6e2f 467 uLCD.line(46, 122, 51, 122, color);
alansong95 0:f2c4b70c6e2f 468 uLCD.line(44, 123, 53, 123, color);
alansong95 0:f2c4b70c6e2f 469 uLCD.line(44, 124, 53, 124, color);
alansong95 0:f2c4b70c6e2f 470 }
alansong95 0:f2c4b70c6e2f 471
alansong95 0:f2c4b70c6e2f 472 void drawMenu7(int color) {
alansong95 0:f2c4b70c6e2f 473 uLCD.line(89, 108, 90, 108, color);
alansong95 0:f2c4b70c6e2f 474 uLCD.line(89, 109, 90, 109, color);
alansong95 0:f2c4b70c6e2f 475 uLCD.line(77, 110, 81, 110, color);
alansong95 0:f2c4b70c6e2f 476 uLCD.line(85, 110, 88, 110, color);
alansong95 0:f2c4b70c6e2f 477 uLCD.line(89, 110, 90, 110, color);
alansong95 0:f2c4b70c6e2f 478 uLCD.line(76, 111, 77, 111, color);
alansong95 0:f2c4b70c6e2f 479 uLCD.line(83, 111, 88, 111, color);
alansong95 0:f2c4b70c6e2f 480 uLCD.line(89, 111, 90, 111, color);
alansong95 0:f2c4b70c6e2f 481 uLCD.line(76, 112, 77, 112, color);
alansong95 0:f2c4b70c6e2f 482 uLCD.line(80, 112, 88, 112, color);
alansong95 0:f2c4b70c6e2f 483 uLCD.line(89, 112, 90, 112, color);
alansong95 0:f2c4b70c6e2f 484 uLCD.line(76, 113, 88, 113, color);
alansong95 0:f2c4b70c6e2f 485 uLCD.line(89, 113, 90, 113, color);
alansong95 0:f2c4b70c6e2f 486 uLCD.line(71, 114, 73, 114, color);
alansong95 0:f2c4b70c6e2f 487 uLCD.line(74, 114, 88, 114, color);
alansong95 0:f2c4b70c6e2f 488 uLCD.line(89, 114, 90, 114, color);
alansong95 0:f2c4b70c6e2f 489 uLCD.line(71, 115, 73, 115, color);
alansong95 0:f2c4b70c6e2f 490 uLCD.line(74, 115, 88, 115, color);
alansong95 0:f2c4b70c6e2f 491 uLCD.line(89, 115, 90, 115, color);
alansong95 0:f2c4b70c6e2f 492 uLCD.line(71, 116, 73, 116, color);
alansong95 0:f2c4b70c6e2f 493 uLCD.line(74, 116, 88, 116, color);
alansong95 0:f2c4b70c6e2f 494 uLCD.line(89, 116, 90, 116, color);
alansong95 0:f2c4b70c6e2f 495 uLCD.line(71, 117, 73, 117, color);
alansong95 0:f2c4b70c6e2f 496 uLCD.line(74, 117, 88, 117, color);
alansong95 0:f2c4b70c6e2f 497 uLCD.line(89, 117, 90, 117, color);
alansong95 0:f2c4b70c6e2f 498 uLCD.line(72, 118, 73, 118, color);
alansong95 0:f2c4b70c6e2f 499 uLCD.line(75, 118, 88, 118, color);
alansong95 0:f2c4b70c6e2f 500 uLCD.line(89, 118, 90, 118, color);
alansong95 0:f2c4b70c6e2f 501 uLCD.line(78, 119, 88, 119, color);
alansong95 0:f2c4b70c6e2f 502 uLCD.line(89, 119, 90, 119, color);
alansong95 0:f2c4b70c6e2f 503 uLCD.line(81, 120, 88, 120, color);
alansong95 0:f2c4b70c6e2f 504 uLCD.line(89, 120, 90, 120, color);
alansong95 0:f2c4b70c6e2f 505 uLCD.line(85, 121, 88, 121, color);
alansong95 0:f2c4b70c6e2f 506 uLCD.line(89, 121, 90, 121, color);
alansong95 0:f2c4b70c6e2f 507 uLCD.line(89, 122, 90, 122, color);
alansong95 0:f2c4b70c6e2f 508 uLCD.line(89, 123, 90, 123, color);
alansong95 0:f2c4b70c6e2f 509 }
alansong95 0:f2c4b70c6e2f 510
alansong95 0:f2c4b70c6e2f 511 void drawMenu8(int color) {
alansong95 0:f2c4b70c6e2f 512 uLCD.line(103, 108, 106, 108, color);
alansong95 0:f2c4b70c6e2f 513 uLCD.line(112, 108, 114, 108, color);
alansong95 0:f2c4b70c6e2f 514 uLCD.line(103, 109, 107, 109, color);
alansong95 0:f2c4b70c6e2f 515 uLCD.line(112, 109, 115, 109, color);
alansong95 0:f2c4b70c6e2f 516 uLCD.line(103, 110, 108, 110, color);
alansong95 0:f2c4b70c6e2f 517 uLCD.line(112, 110, 117, 110, color);
alansong95 0:f2c4b70c6e2f 518 uLCD.line(103, 111, 110, 111, color);
alansong95 0:f2c4b70c6e2f 519 uLCD.line(112, 111, 118, 111, color);
alansong95 0:f2c4b70c6e2f 520 uLCD.line(103, 112, 111, 112, color);
alansong95 0:f2c4b70c6e2f 521 uLCD.line(112, 112, 119, 112, color);
alansong95 0:f2c4b70c6e2f 522 uLCD.line(103, 113, 121, 113, color);
alansong95 0:f2c4b70c6e2f 523 uLCD.line(103, 114, 122, 114, color);
alansong95 0:f2c4b70c6e2f 524 uLCD.line(103, 115, 122, 115, color);
alansong95 0:f2c4b70c6e2f 525 uLCD.line(103, 116, 122, 116, color);
alansong95 0:f2c4b70c6e2f 526 uLCD.line(103, 117, 122, 117, color);
alansong95 0:f2c4b70c6e2f 527 uLCD.line(103, 118, 120, 118, color);
alansong95 0:f2c4b70c6e2f 528 uLCD.line(103, 119, 111, 119, color);
alansong95 0:f2c4b70c6e2f 529 uLCD.line(112, 119, 119, 119, color);
alansong95 0:f2c4b70c6e2f 530 uLCD.line(103, 120, 110, 120, color);
alansong95 0:f2c4b70c6e2f 531 uLCD.line(112, 120, 118, 120, color);
alansong95 0:f2c4b70c6e2f 532 uLCD.line(103, 121, 108, 121, color);
alansong95 0:f2c4b70c6e2f 533 uLCD.line(112, 121, 117, 121, color);
alansong95 0:f2c4b70c6e2f 534 uLCD.line(103, 122, 107, 122, color);
alansong95 0:f2c4b70c6e2f 535 uLCD.line(112, 122, 115, 122, color);
alansong95 0:f2c4b70c6e2f 536 uLCD.line(103, 123, 106, 123, color);
alansong95 0:f2c4b70c6e2f 537 uLCD.line(112, 123, 114, 123, color);
alansong95 0:f2c4b70c6e2f 538 }
alansong95 0:f2c4b70c6e2f 539
alansong95 0:f2c4b70c6e2f 540 void drawUpperFrame() {
alansong95 0:f2c4b70c6e2f 541 uLCD.filled_rectangle(0, 0, 127, 25, GREEN);
alansong95 0:f2c4b70c6e2f 542 }
alansong95 0:f2c4b70c6e2f 543
alansong95 0:f2c4b70c6e2f 544 void drawMiddleFrame() {
alansong95 0:f2c4b70c6e2f 545 uLCD.filled_rectangle(0, 26, 127, 127-25+1, WHITE);
alansong95 0:f2c4b70c6e2f 546 }
alansong95 0:f2c4b70c6e2f 547
alansong95 0:f2c4b70c6e2f 548 void drawLowerFrame() {
alansong95 0:f2c4b70c6e2f 549 uLCD.filled_rectangle(0, 127-25, 127, 127, GREEN);
alansong95 0:f2c4b70c6e2f 550 }
alansong95 0:f2c4b70c6e2f 551
alansong95 0:f2c4b70c6e2f 552 void drawUpperMenu() {
alansong95 0:f2c4b70c6e2f 553 drawMenu1(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 554 drawMenu2(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 555 drawMenu3(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 556 drawMenu4(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 557 }
alansong95 0:f2c4b70c6e2f 558
alansong95 0:f2c4b70c6e2f 559 void drawLowerMenu() {
alansong95 0:f2c4b70c6e2f 560 drawMenu5(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 561 drawMenu6(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 562 drawMenu7(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 563 drawMenu8(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 564 }
alansong95 0:f2c4b70c6e2f 565
alansong95 0:f2c4b70c6e2f 566 void drawBackground() {
alansong95 0:f2c4b70c6e2f 567 drawUpperFrame();
alansong95 0:f2c4b70c6e2f 568 drawMiddleFrame();
alansong95 0:f2c4b70c6e2f 569 drawLowerFrame();
alansong95 0:f2c4b70c6e2f 570 drawUpperMenu();
alansong95 0:f2c4b70c6e2f 571 drawLowerMenu();
alansong95 0:f2c4b70c6e2f 572 }
alansong95 0:f2c4b70c6e2f 573
alansong95 0:f2c4b70c6e2f 574 void clearMiddle() {
alansong95 0:f2c4b70c6e2f 575 uLCD.filled_rectangle(0, 25, 127, 127-25+1, WHITE);
alansong95 0:f2c4b70c6e2f 576 }
alansong95 0:f2c4b70c6e2f 577
alansong95 0:f2c4b70c6e2f 578 void turnOffLight() {
alansong95 0:f2c4b70c6e2f 579 uLCD.filled_rectangle(0, 25, 127, 127-25+1, BLACK);
alansong95 0:f2c4b70c6e2f 580 }
alansong95 0:f2c4b70c6e2f 581
alansong95 0:f2c4b70c6e2f 582 void drawArrow1(int color) {
alansong95 0:f2c4b70c6e2f 583 uLCD.line(18, 39, 20, 39, color);
alansong95 0:f2c4b70c6e2f 584 uLCD.line(18, 40, 21, 40, color);
alansong95 0:f2c4b70c6e2f 585 uLCD.line(18, 41, 22, 41, color);
alansong95 0:f2c4b70c6e2f 586 uLCD.line(19, 42, 23, 42, color);
alansong95 0:f2c4b70c6e2f 587 uLCD.line(20, 43, 24, 43, color);
alansong95 0:f2c4b70c6e2f 588 uLCD.line(9, 44, 25, 44, color);
alansong95 0:f2c4b70c6e2f 589 uLCD.line(8, 45, 25, 45, color);
alansong95 0:f2c4b70c6e2f 590 uLCD.line(8, 46, 25, 46, color);
alansong95 0:f2c4b70c6e2f 591 uLCD.line(9, 47, 25, 47, color);
alansong95 0:f2c4b70c6e2f 592 uLCD.line(20, 48, 24, 48, color);
alansong95 0:f2c4b70c6e2f 593 uLCD.line(19, 49, 23, 49, color);
alansong95 0:f2c4b70c6e2f 594 uLCD.line(18, 50, 22, 50, color);
alansong95 0:f2c4b70c6e2f 595 uLCD.line(18, 51, 21, 51, color);
alansong95 0:f2c4b70c6e2f 596 uLCD.line(18, 52, 20, 52, color);
alansong95 0:f2c4b70c6e2f 597 }
alansong95 0:f2c4b70c6e2f 598
alansong95 0:f2c4b70c6e2f 599 void drawArrow2(int color) {
alansong95 0:f2c4b70c6e2f 600 uLCD.line(18, 72, 20, 72, color);
alansong95 0:f2c4b70c6e2f 601 uLCD.line(18, 73, 21, 73, color);
alansong95 0:f2c4b70c6e2f 602 uLCD.line(18, 74, 22, 74, color);
alansong95 0:f2c4b70c6e2f 603 uLCD.line(19, 75, 23, 75, color);
alansong95 0:f2c4b70c6e2f 604 uLCD.line(20, 76, 24, 76, color);
alansong95 0:f2c4b70c6e2f 605 uLCD.line(9, 77, 25, 77, color);
alansong95 0:f2c4b70c6e2f 606 uLCD.line(8, 78, 25, 78, color);
alansong95 0:f2c4b70c6e2f 607 uLCD.line(8, 79, 25, 79, color);
alansong95 0:f2c4b70c6e2f 608 uLCD.line(9, 80, 25, 80, color);
alansong95 0:f2c4b70c6e2f 609 uLCD.line(20, 81, 24, 81, color);
alansong95 0:f2c4b70c6e2f 610 uLCD.line(19, 82, 23, 82, color);
alansong95 0:f2c4b70c6e2f 611 uLCD.line(18, 83, 22, 83, color);
alansong95 0:f2c4b70c6e2f 612 uLCD.line(18, 84, 21, 84, color);
alansong95 0:f2c4b70c6e2f 613 uLCD.line(18, 85, 20, 85, color);
alansong95 0:f2c4b70c6e2f 614 }
alansong95 0:f2c4b70c6e2f 615
alansong95 0:f2c4b70c6e2f 616 void displayOption2() {
alansong95 0:f2c4b70c6e2f 617 clearMiddle();
alansong95 0:f2c4b70c6e2f 618 uLCD.text_width(4); // 4 times
alansong95 0:f2c4b70c6e2f 619 uLCD.text_height(4);
alansong95 0:f2c4b70c6e2f 620
alansong95 0:f2c4b70c6e2f 621 uLCD.locate(1, 1);
alansong95 0:f2c4b70c6e2f 622 uLCD.printf("ON");
alansong95 0:f2c4b70c6e2f 623 uLCD.locate(1, 2);
alansong95 0:f2c4b70c6e2f 624 uLCD.printf("OFF");
alansong95 0:f2c4b70c6e2f 625
alansong95 0:f2c4b70c6e2f 626 if (arrow_state == 0) {
alansong95 0:f2c4b70c6e2f 627 drawArrow2(WHITE);
alansong95 0:f2c4b70c6e2f 628 drawArrow1(BLACK);
alansong95 0:f2c4b70c6e2f 629 } else {
alansong95 0:f2c4b70c6e2f 630 drawArrow1(WHITE);
alansong95 0:f2c4b70c6e2f 631 drawArrow2(BLACK);
alansong95 0:f2c4b70c6e2f 632 }
alansong95 0:f2c4b70c6e2f 633 }
alansong95 0:f2c4b70c6e2f 634
alansong95 0:f2c4b70c6e2f 635 void drawRock(int color, int x) {
alansong95 0:f2c4b70c6e2f 636 uLCD.line(33, 35+x, 34, 35+x, color);
alansong95 0:f2c4b70c6e2f 637 uLCD.line(31, 36+x, 35, 36+x, color);
alansong95 0:f2c4b70c6e2f 638 uLCD.line(31, 37+x, 35, 37+x, color);
alansong95 0:f2c4b70c6e2f 639 uLCD.line(33, 38+x, 35, 38+x, color);
alansong95 0:f2c4b70c6e2f 640 uLCD.line(28, 39+x, 32, 39+x, color);
alansong95 0:f2c4b70c6e2f 641 uLCD.line(36, 39+x, 39, 39+x, color);
alansong95 0:f2c4b70c6e2f 642 uLCD.line(27, 40+x, 34, 40+x, color);
alansong95 0:f2c4b70c6e2f 643 uLCD.line(36, 40+x, 39, 40+x, color);
alansong95 0:f2c4b70c6e2f 644 uLCD.line(26, 41+x, 35, 41+x, color);
alansong95 0:f2c4b70c6e2f 645 uLCD.line(37, 41+x, 39, 41+x, color);
alansong95 0:f2c4b70c6e2f 646 uLCD.line(25, 42+x, 31, 42+x, color);
alansong95 0:f2c4b70c6e2f 647 uLCD.line(32, 42+x, 36, 42+x, color);
alansong95 0:f2c4b70c6e2f 648 uLCD.line(24, 43+x, 30, 43+x, color);
alansong95 0:f2c4b70c6e2f 649 uLCD.line(33, 43+x, 37, 43+x, color);
alansong95 0:f2c4b70c6e2f 650 uLCD.line(39, 43+x, 41, 43+x, color);
alansong95 0:f2c4b70c6e2f 651 uLCD.line(24, 44+x, 30, 44+x, color);
alansong95 0:f2c4b70c6e2f 652 uLCD.line(34, 44+x, 37, 44+x, color);
alansong95 0:f2c4b70c6e2f 653 uLCD.line(38, 44+x, 42, 44+x, color);
alansong95 0:f2c4b70c6e2f 654 uLCD.line(24, 45+x, 30, 45+x, color);
alansong95 0:f2c4b70c6e2f 655 uLCD.line(32, 45+x, 33, 45+x, color);
alansong95 0:f2c4b70c6e2f 656 uLCD.line(38, 45+x, 42, 45+x, color);
alansong95 0:f2c4b70c6e2f 657 uLCD.line(24, 46+x, 30, 46+x, color);
alansong95 0:f2c4b70c6e2f 658 uLCD.line(36, 46+x, 40, 46+x, color);
alansong95 0:f2c4b70c6e2f 659 uLCD.line(24, 47+x, 31, 47+x, color);
alansong95 0:f2c4b70c6e2f 660 uLCD.line(32, 47+x, 33, 47+x, color);
alansong95 0:f2c4b70c6e2f 661 uLCD.line(35, 47+x, 39, 47+x, color);
alansong95 0:f2c4b70c6e2f 662 uLCD.line(24, 48+x, 30, 48+x, color);
alansong95 0:f2c4b70c6e2f 663 uLCD.line(32, 48+x, 34, 48+x, color);
alansong95 0:f2c4b70c6e2f 664 uLCD.line(35, 48+x, 38, 48+x, color);
alansong95 0:f2c4b70c6e2f 665 uLCD.line(40, 48+x, 43, 48+x, color);
alansong95 0:f2c4b70c6e2f 666 uLCD.line(23, 49+x, 30, 49+x, color);
alansong95 0:f2c4b70c6e2f 667 uLCD.line(32, 49+x, 34, 49+x, color);
alansong95 0:f2c4b70c6e2f 668 uLCD.line(39, 49+x, 43, 49+x, color);
alansong95 0:f2c4b70c6e2f 669 uLCD.line(22, 50+x, 30, 50+x, color);
alansong95 0:f2c4b70c6e2f 670 uLCD.line(31, 50+x, 35, 50+x, color);
alansong95 0:f2c4b70c6e2f 671 uLCD.line(37, 50+x, 42, 50+x, color);
alansong95 0:f2c4b70c6e2f 672 uLCD.line(21, 51+x, 29, 51+x, color);
alansong95 0:f2c4b70c6e2f 673 uLCD.line(31, 51+x, 35, 51+x, color);
alansong95 0:f2c4b70c6e2f 674 uLCD.line(37, 51+x, 41, 51+x, color);
alansong95 0:f2c4b70c6e2f 675 uLCD.line(21, 52+x, 28, 52+x, color);
alansong95 0:f2c4b70c6e2f 676 uLCD.line(30, 52+x, 36, 52+x, color);
alansong95 0:f2c4b70c6e2f 677 uLCD.line(37, 52+x, 40, 52+x, color);
alansong95 0:f2c4b70c6e2f 678 uLCD.line(22, 53+x, 36, 53+x, color);
alansong95 0:f2c4b70c6e2f 679 uLCD.line(22, 54+x, 37, 54+x, color);
alansong95 0:f2c4b70c6e2f 680 uLCD.line(23, 55+x, 38, 55+x, color);
alansong95 0:f2c4b70c6e2f 681 uLCD.line(24, 56+x, 37, 56+x, color);
alansong95 0:f2c4b70c6e2f 682 uLCD.line(24, 57+x, 35, 57+x, color);
alansong95 0:f2c4b70c6e2f 683 uLCD.line(25, 58+x, 29, 58+x, color);
alansong95 0:f2c4b70c6e2f 684 uLCD.line(27, 59+x, 28, 59+x, color);
alansong95 0:f2c4b70c6e2f 685 }
alansong95 0:f2c4b70c6e2f 686 void drawPaper(int color, int x) {
alansong95 0:f2c4b70c6e2f 687 uLCD.line(67, 35+x, 68, 35+x, color);
alansong95 0:f2c4b70c6e2f 688 uLCD.line(66, 36+x, 69, 36+x, color);
alansong95 0:f2c4b70c6e2f 689 uLCD.line(65, 37+x, 68, 37+x, color);
alansong95 0:f2c4b70c6e2f 690 uLCD.line(71, 37+x, 73, 37+x, color);
alansong95 0:f2c4b70c6e2f 691 uLCD.line(64, 38+x, 67, 38+x, color);
alansong95 0:f2c4b70c6e2f 692 uLCD.line(70, 38+x, 73, 38+x, color);
alansong95 0:f2c4b70c6e2f 693 uLCD.line(57, 39+x, 58, 39+x, color);
alansong95 0:f2c4b70c6e2f 694 uLCD.line(64, 39+x, 67, 39+x, color);
alansong95 0:f2c4b70c6e2f 695 uLCD.line(69, 39+x, 72, 39+x, color);
alansong95 0:f2c4b70c6e2f 696 uLCD.line(56, 40+x, 58, 40+x, color);
alansong95 0:f2c4b70c6e2f 697 uLCD.line(63, 40+x, 66, 40+x, color);
alansong95 0:f2c4b70c6e2f 698 uLCD.line(68, 40+x, 71, 40+x, color);
alansong95 0:f2c4b70c6e2f 699 uLCD.line(74, 40+x, 75, 40+x, color);
alansong95 0:f2c4b70c6e2f 700 uLCD.line(55, 41+x, 59, 41+x, color);
alansong95 0:f2c4b70c6e2f 701 uLCD.line(62, 41+x, 65, 41+x, color);
alansong95 0:f2c4b70c6e2f 702 uLCD.line(67, 41+x, 70, 41+x, color);
alansong95 0:f2c4b70c6e2f 703 uLCD.line(73, 41+x, 75, 41+x, color);
alansong95 0:f2c4b70c6e2f 704 uLCD.line(55, 42+x, 58, 42+x, color);
alansong95 0:f2c4b70c6e2f 705 uLCD.line(61, 42+x, 64, 42+x, color);
alansong95 0:f2c4b70c6e2f 706 uLCD.line(66, 42+x, 69, 42+x, color);
alansong95 0:f2c4b70c6e2f 707 uLCD.line(72, 42+x, 75, 42+x, color);
alansong95 0:f2c4b70c6e2f 708 uLCD.line(54, 43+x, 58, 43+x, color);
alansong95 0:f2c4b70c6e2f 709 uLCD.line(60, 43+x, 63, 43+x, color);
alansong95 0:f2c4b70c6e2f 710 uLCD.line(65, 43+x, 68, 43+x, color);
alansong95 0:f2c4b70c6e2f 711 uLCD.line(71, 43+x, 74, 43+x, color);
alansong95 0:f2c4b70c6e2f 712 uLCD.line(54, 44+x, 57, 44+x, color);
alansong95 0:f2c4b70c6e2f 713 uLCD.line(59, 44+x, 63, 44+x, color);
alansong95 0:f2c4b70c6e2f 714 uLCD.line(64, 44+x, 68, 44+x, color);
alansong95 0:f2c4b70c6e2f 715 uLCD.line(70, 44+x, 73, 44+x, color);
alansong95 0:f2c4b70c6e2f 716 uLCD.line(53, 45+x, 57, 45+x, color);
alansong95 0:f2c4b70c6e2f 717 uLCD.line(58, 45+x, 67, 45+x, color);
alansong95 0:f2c4b70c6e2f 718 uLCD.line(69, 45+x, 72, 45+x, color);
alansong95 0:f2c4b70c6e2f 719 uLCD.line(75, 45+x, 76, 45+x, color);
alansong95 0:f2c4b70c6e2f 720 uLCD.line(53, 46+x, 57, 46+x, color);
alansong95 0:f2c4b70c6e2f 721 uLCD.line(59, 46+x, 62, 46+x, color);
alansong95 0:f2c4b70c6e2f 722 uLCD.line(63, 46+x, 66, 46+x, color);
alansong95 0:f2c4b70c6e2f 723 uLCD.line(68, 46+x, 71, 46+x, color);
alansong95 0:f2c4b70c6e2f 724 uLCD.line(73, 46+x, 76, 46+x, color);
alansong95 0:f2c4b70c6e2f 725 uLCD.line(53, 47+x, 58, 47+x, color);
alansong95 0:f2c4b70c6e2f 726 uLCD.line(59, 47+x, 62, 47+x, color);
alansong95 0:f2c4b70c6e2f 727 uLCD.line(63, 47+x, 70, 47+x, color);
alansong95 0:f2c4b70c6e2f 728 uLCD.line(72, 47+x, 75, 47+x, color);
alansong95 0:f2c4b70c6e2f 729 uLCD.line(53, 48+x, 58, 48+x, color);
alansong95 0:f2c4b70c6e2f 730 uLCD.line(59, 48+x, 62, 48+x, color);
alansong95 0:f2c4b70c6e2f 731 uLCD.line(64, 48+x, 69, 48+x, color);
alansong95 0:f2c4b70c6e2f 732 uLCD.line(71, 48+x, 74, 48+x, color);
alansong95 0:f2c4b70c6e2f 733 uLCD.line(53, 49+x, 58, 49+x, color);
alansong95 0:f2c4b70c6e2f 734 uLCD.line(59, 49+x, 63, 49+x, color);
alansong95 0:f2c4b70c6e2f 735 uLCD.line(64, 49+x, 68, 49+x, color);
alansong95 0:f2c4b70c6e2f 736 uLCD.line(70, 49+x, 73, 49+x, color);
alansong95 0:f2c4b70c6e2f 737 uLCD.line(53, 50+x, 58, 50+x, color);
alansong95 0:f2c4b70c6e2f 738 uLCD.line(59, 50+x, 63, 50+x, color);
alansong95 0:f2c4b70c6e2f 739 uLCD.line(65, 50+x, 68, 50+x, color);
alansong95 0:f2c4b70c6e2f 740 uLCD.line(69, 50+x, 72, 50+x, color);
alansong95 0:f2c4b70c6e2f 741 uLCD.line(53, 51+x, 64, 51+x, color);
alansong95 0:f2c4b70c6e2f 742 uLCD.line(66, 51+x, 71, 51+x, color);
alansong95 0:f2c4b70c6e2f 743 uLCD.line(53, 52+x, 70, 52+x, color);
alansong95 0:f2c4b70c6e2f 744 uLCD.line(53, 53+x, 69, 53+x, color);
alansong95 0:f2c4b70c6e2f 745 uLCD.line(53, 54+x, 68, 54+x, color);
alansong95 0:f2c4b70c6e2f 746 uLCD.line(52, 55+x, 67, 55+x, color);
alansong95 0:f2c4b70c6e2f 747 uLCD.line(52, 56+x, 66, 56+x, color);
alansong95 0:f2c4b70c6e2f 748 uLCD.line(53, 57+x, 64, 57+x, color);
alansong95 0:f2c4b70c6e2f 749 uLCD.line(54, 58+x, 63, 58+x, color);
alansong95 0:f2c4b70c6e2f 750 uLCD.line(55, 59+x, 59, 59+x, color);
alansong95 0:f2c4b70c6e2f 751 uLCD.line(57, 60+x, 58, 60+x, color);
alansong95 0:f2c4b70c6e2f 752 }
alansong95 0:f2c4b70c6e2f 753
alansong95 0:f2c4b70c6e2f 754 void drawScissors(int color, int x) {
alansong95 0:f2c4b70c6e2f 755 uLCD.line(100, 34+x, 101, 34+x, color);
alansong95 0:f2c4b70c6e2f 756 uLCD.line(99, 35+x, 102, 35+x, color);
alansong95 0:f2c4b70c6e2f 757 uLCD.line(99, 36+x, 101, 36+x, color);
alansong95 0:f2c4b70c6e2f 758 uLCD.line(98, 37+x, 101, 37+x, color);
alansong95 0:f2c4b70c6e2f 759 uLCD.line(97, 38+x, 100, 38+x, color);
alansong95 0:f2c4b70c6e2f 760 uLCD.line(97, 39+x, 100, 39+x, color);
alansong95 0:f2c4b70c6e2f 761 uLCD.line(96, 40+x, 99, 40+x, color);
alansong95 0:f2c4b70c6e2f 762 uLCD.line(105, 40+x, 109, 40+x, color);
alansong95 0:f2c4b70c6e2f 763 uLCD.line(95, 41+x, 99, 41+x, color);
alansong95 0:f2c4b70c6e2f 764 uLCD.line(104, 41+x, 108, 41+x, color);
alansong95 0:f2c4b70c6e2f 765 uLCD.line(95, 42+x, 98, 42+x, color);
alansong95 0:f2c4b70c6e2f 766 uLCD.line(102, 42+x, 107, 42+x, color);
alansong95 0:f2c4b70c6e2f 767 uLCD.line(101, 43+x, 105, 43+x, color);
alansong95 0:f2c4b70c6e2f 768 uLCD.line(99, 44+x, 103, 44+x, color);
alansong95 0:f2c4b70c6e2f 769 uLCD.line(92, 45+x, 98, 45+x, color);
alansong95 0:f2c4b70c6e2f 770 uLCD.line(100, 45+x, 102, 45+x, color);
alansong95 0:f2c4b70c6e2f 771 uLCD.line(90, 46+x, 99, 46+x, color);
alansong95 0:f2c4b70c6e2f 772 uLCD.line(89, 47+x, 94, 47+x, color);
alansong95 0:f2c4b70c6e2f 773 uLCD.line(97, 47+x, 99, 47+x, color);
alansong95 0:f2c4b70c6e2f 774 uLCD.line(88, 48+x, 93, 48+x, color);
alansong95 0:f2c4b70c6e2f 775 uLCD.line(95, 48+x, 96, 48+x, color);
alansong95 0:f2c4b70c6e2f 776 uLCD.line(88, 49+x, 91, 49+x, color);
alansong95 0:f2c4b70c6e2f 777 uLCD.line(93, 49+x, 96, 49+x, color);
alansong95 0:f2c4b70c6e2f 778 uLCD.line(99, 49+x, 102, 49+x, color);
alansong95 0:f2c4b70c6e2f 779 uLCD.line(87, 50+x, 91, 50+x, color);
alansong95 0:f2c4b70c6e2f 780 uLCD.line(93, 50+x, 94, 50+x, color);
alansong95 0:f2c4b70c6e2f 781 uLCD.line(97, 50+x, 102, 50+x, color);
alansong95 0:f2c4b70c6e2f 782 uLCD.line(87, 51+x, 91, 51+x, color);
alansong95 0:f2c4b70c6e2f 783 uLCD.line(92, 51+x, 93, 51+x, color);
alansong95 0:f2c4b70c6e2f 784 uLCD.line(95, 51+x, 101, 51+x, color);
alansong95 0:f2c4b70c6e2f 785 uLCD.line(87, 52+x, 91, 52+x, color);
alansong95 0:f2c4b70c6e2f 786 uLCD.line(92, 52+x, 93, 52+x, color);
alansong95 0:f2c4b70c6e2f 787 uLCD.line(95, 52+x, 98, 52+x, color);
alansong95 0:f2c4b70c6e2f 788 uLCD.line(86, 53+x, 91, 53+x, color);
alansong95 0:f2c4b70c6e2f 789 uLCD.line(92, 53+x, 93, 53+x, color);
alansong95 0:f2c4b70c6e2f 790 uLCD.line(99, 53+x, 101, 53+x, color);
alansong95 0:f2c4b70c6e2f 791 uLCD.line(86, 54+x, 90, 54+x, color);
alansong95 0:f2c4b70c6e2f 792 uLCD.line(92, 54+x, 95, 54+x, color);
alansong95 0:f2c4b70c6e2f 793 uLCD.line(97, 54+x, 102, 54+x, color);
alansong95 0:f2c4b70c6e2f 794 uLCD.line(85, 55+x, 94, 55+x, color);
alansong95 0:f2c4b70c6e2f 795 uLCD.line(96, 55+x, 100, 55+x, color);
alansong95 0:f2c4b70c6e2f 796 uLCD.line(85, 56+x, 95, 56+x, color);
alansong95 0:f2c4b70c6e2f 797 uLCD.line(96, 56+x, 97, 56+x, color);
alansong95 0:f2c4b70c6e2f 798 uLCD.line(86, 57+x, 95, 57+x, color);
alansong95 0:f2c4b70c6e2f 799 uLCD.line(86, 58+x, 96, 58+x, color);
alansong95 0:f2c4b70c6e2f 800 uLCD.line(88, 59+x, 94, 59+x, color);
alansong95 0:f2c4b70c6e2f 801 uLCD.line(89, 60+x, 91, 60+x, color);
alansong95 0:f2c4b70c6e2f 802 }
alansong95 0:f2c4b70c6e2f 803
alansong95 0:f2c4b70c6e2f 804 void drawEneRockFrame() {
alansong95 0:f2c4b70c6e2f 805 uLCD.rectangle(17, 28+2, 45, 65-2, BLACK);
alansong95 0:f2c4b70c6e2f 806 }
alansong95 0:f2c4b70c6e2f 807
alansong95 0:f2c4b70c6e2f 808 void drawEnePaperFrame() {
alansong95 0:f2c4b70c6e2f 809 uLCD.rectangle(17+32, 28+2, 45+32, 65-2, BLACK);
alansong95 0:f2c4b70c6e2f 810 }
alansong95 0:f2c4b70c6e2f 811
alansong95 0:f2c4b70c6e2f 812 void drawEneSciFrame() {
alansong95 0:f2c4b70c6e2f 813 uLCD.rectangle(17+32*2+1, 28+2, 45+32*2+1, 65-2, BLACK);
alansong95 0:f2c4b70c6e2f 814 }
alansong95 0:f2c4b70c6e2f 815
alansong95 0:f2c4b70c6e2f 816 void drawMyRockFrame() {
alansong95 0:f2c4b70c6e2f 817 uLCD.rectangle(17, 28+32+4, 45, 65+32-2, BLACK);
alansong95 0:f2c4b70c6e2f 818 }
alansong95 0:f2c4b70c6e2f 819
alansong95 0:f2c4b70c6e2f 820 void drawMyPaperFrame() {
alansong95 0:f2c4b70c6e2f 821 uLCD.rectangle(17+32, 28+32+4, 45+32, 65+32-2, BLACK);
alansong95 0:f2c4b70c6e2f 822 }
alansong95 0:f2c4b70c6e2f 823
alansong95 0:f2c4b70c6e2f 824 void drawMySciFrame() {
alansong95 0:f2c4b70c6e2f 825 uLCD.rectangle(17+32*2+1, 28+32+4, 45+32*2+1, 65+32-2, BLACK);
alansong95 0:f2c4b70c6e2f 826 }
alansong95 0:f2c4b70c6e2f 827
alansong95 0:f2c4b70c6e2f 828 void displayOption3() {
alansong95 0:f2c4b70c6e2f 829 clearMiddle();
alansong95 0:f2c4b70c6e2f 830 drawRock(BLACK, 0);
alansong95 0:f2c4b70c6e2f 831 drawPaper(BLACK, 0);
alansong95 0:f2c4b70c6e2f 832 drawScissors(BLACK, 0);
alansong95 0:f2c4b70c6e2f 833 drawRock(BLACK, 32);
alansong95 0:f2c4b70c6e2f 834 drawPaper(BLACK, 32);
alansong95 0:f2c4b70c6e2f 835 drawScissors(BLACK, 32);
alansong95 0:f2c4b70c6e2f 836 }
alansong95 0:f2c4b70c6e2f 837
alansong95 0:f2c4b70c6e2f 838
alansong95 0:f2c4b70c6e2f 839 // draw end
alansong95 0:f2c4b70c6e2f 840
alansong95 0:f2c4b70c6e2f 841 class Pet {
alansong95 0:f2c4b70c6e2f 842 public:
alansong95 0:f2c4b70c6e2f 843 Pet() {
alansong95 0:f2c4b70c6e2f 844 setAge(0);
alansong95 0:f2c4b70c6e2f 845 setWeight(5);
alansong95 0:f2c4b70c6e2f 846 setDiscipline(0);
alansong95 0:f2c4b70c6e2f 847 setHungry(0);
alansong95 0:f2c4b70c6e2f 848 setHappy(0);
alansong95 0:f2c4b70c6e2f 849 }
alansong95 0:f2c4b70c6e2f 850
alansong95 0:f2c4b70c6e2f 851 void increaseAge() {
alansong95 0:f2c4b70c6e2f 852 age = age + 1;
alansong95 0:f2c4b70c6e2f 853 }
alansong95 0:f2c4b70c6e2f 854
alansong95 0:f2c4b70c6e2f 855 void setAge(int _age) {
alansong95 0:f2c4b70c6e2f 856 age = _age;
alansong95 0:f2c4b70c6e2f 857 }
alansong95 0:f2c4b70c6e2f 858 int getAge() {
alansong95 0:f2c4b70c6e2f 859 return age;
alansong95 0:f2c4b70c6e2f 860 }
alansong95 0:f2c4b70c6e2f 861
alansong95 0:f2c4b70c6e2f 862 void setWeight(int _weight) {
alansong95 0:f2c4b70c6e2f 863 weight = _weight;
alansong95 0:f2c4b70c6e2f 864 }
alansong95 0:f2c4b70c6e2f 865 int getWeight() {
alansong95 0:f2c4b70c6e2f 866 return weight;
alansong95 0:f2c4b70c6e2f 867 }
alansong95 0:f2c4b70c6e2f 868
alansong95 0:f2c4b70c6e2f 869 void increaseDiscipline() {
alansong95 0:f2c4b70c6e2f 870 if (discipline < 4) {
alansong95 0:f2c4b70c6e2f 871 discipline = discipline + 1;
alansong95 0:f2c4b70c6e2f 872 }
alansong95 0:f2c4b70c6e2f 873 }
alansong95 0:f2c4b70c6e2f 874 void decreaseDiscipline() {
alansong95 0:f2c4b70c6e2f 875 if (discipline > 0) {
alansong95 0:f2c4b70c6e2f 876 discipline = discipline - 1;
alansong95 0:f2c4b70c6e2f 877 }
alansong95 0:f2c4b70c6e2f 878 }
alansong95 0:f2c4b70c6e2f 879 void setDiscipline(int _discipline) {
alansong95 0:f2c4b70c6e2f 880 discipline = _discipline;
alansong95 0:f2c4b70c6e2f 881 }
alansong95 0:f2c4b70c6e2f 882 int getDiscipline() {
alansong95 0:f2c4b70c6e2f 883 return discipline;
alansong95 0:f2c4b70c6e2f 884 }
alansong95 0:f2c4b70c6e2f 885
alansong95 0:f2c4b70c6e2f 886 void increaseHungry() {
alansong95 0:f2c4b70c6e2f 887 if (hungry < 4) {
alansong95 0:f2c4b70c6e2f 888 hungry = hungry + 1;
alansong95 0:f2c4b70c6e2f 889 }
alansong95 0:f2c4b70c6e2f 890 }
alansong95 0:f2c4b70c6e2f 891 void decreaseHungry() {
alansong95 0:f2c4b70c6e2f 892 if (hungry > 0) {
alansong95 0:f2c4b70c6e2f 893 hungry = hungry - 1;
alansong95 0:f2c4b70c6e2f 894 }
alansong95 0:f2c4b70c6e2f 895 }
alansong95 0:f2c4b70c6e2f 896 void setHungry(int _hungry) {
alansong95 0:f2c4b70c6e2f 897 hungry = _hungry;
alansong95 0:f2c4b70c6e2f 898 }
alansong95 0:f2c4b70c6e2f 899 int getHungry() {
alansong95 0:f2c4b70c6e2f 900 return hungry;
alansong95 0:f2c4b70c6e2f 901 }
alansong95 0:f2c4b70c6e2f 902
alansong95 0:f2c4b70c6e2f 903
alansong95 0:f2c4b70c6e2f 904 void increaseHappy() {
alansong95 0:f2c4b70c6e2f 905 if (happy < 4) {
alansong95 0:f2c4b70c6e2f 906 happy = happy + 1;
alansong95 0:f2c4b70c6e2f 907 }
alansong95 0:f2c4b70c6e2f 908 }
alansong95 0:f2c4b70c6e2f 909 void decreaseHappy() {
alansong95 0:f2c4b70c6e2f 910 if (happy > 0) {
alansong95 0:f2c4b70c6e2f 911 happy = happy - 1;
alansong95 0:f2c4b70c6e2f 912 }
alansong95 0:f2c4b70c6e2f 913 }
alansong95 0:f2c4b70c6e2f 914 void setHappy(int _happy) {
alansong95 0:f2c4b70c6e2f 915 happy = _happy;
alansong95 0:f2c4b70c6e2f 916 }
alansong95 0:f2c4b70c6e2f 917 int getHappy() {
alansong95 0:f2c4b70c6e2f 918 return happy;
alansong95 0:f2c4b70c6e2f 919 }
alansong95 0:f2c4b70c6e2f 920
alansong95 0:f2c4b70c6e2f 921 private:
alansong95 0:f2c4b70c6e2f 922 int age;
alansong95 0:f2c4b70c6e2f 923 int weight;
alansong95 0:f2c4b70c6e2f 924 int discipline;
alansong95 0:f2c4b70c6e2f 925 int hungry;
alansong95 0:f2c4b70c6e2f 926 int happy;
alansong95 0:f2c4b70c6e2f 927 };
alansong95 0:f2c4b70c6e2f 928
alansong95 0:f2c4b70c6e2f 929
alansong95 0:f2c4b70c6e2f 930 void thread1(void const *args)
alansong95 0:f2c4b70c6e2f 931 {
alansong95 0:f2c4b70c6e2f 932 wave_file=fopen("/sd/song.wav","r");
alansong95 0:f2c4b70c6e2f 933 if(wave_file == NULL) {
alansong95 0:f2c4b70c6e2f 934 error("Could not open file for write\n");
alansong95 0:f2c4b70c6e2f 935 }
alansong95 0:f2c4b70c6e2f 936 waver.play(wave_file);
alansong95 0:f2c4b70c6e2f 937 Thread::wait(500); // wait 0.5s
alansong95 0:f2c4b70c6e2f 938 fclose(wave_file);
alansong95 0:f2c4b70c6e2f 939 }
alansong95 0:f2c4b70c6e2f 940
alansong95 0:f2c4b70c6e2f 941
alansong95 0:f2c4b70c6e2f 942
alansong95 0:f2c4b70c6e2f 943 Pet pet;
alansong95 0:f2c4b70c6e2f 944
alansong95 0:f2c4b70c6e2f 945
alansong95 0:f2c4b70c6e2f 946 void displayOption6() {
alansong95 0:f2c4b70c6e2f 947 clearMiddle();
alansong95 0:f2c4b70c6e2f 948
alansong95 0:f2c4b70c6e2f 949 printf("%d\n\r", info_state);
alansong95 0:f2c4b70c6e2f 950
alansong95 0:f2c4b70c6e2f 951 if (info_state%4 == 0) {
alansong95 0:f2c4b70c6e2f 952 uLCD.text_width(3); // 4 times
alansong95 0:f2c4b70c6e2f 953 uLCD.text_height(3);
alansong95 0:f2c4b70c6e2f 954 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 955 uLCD.printf("AGE: %d\n", pet.getAge());
alansong95 0:f2c4b70c6e2f 956 uLCD.locate(0, 2);
alansong95 0:f2c4b70c6e2f 957 uLCD.printf("W: %d\n", pet.getWeight());
alansong95 0:f2c4b70c6e2f 958 } else if (info_state%4 == 1) { //discipline
alansong95 0:f2c4b70c6e2f 959 uLCD.text_width(3); // 4 times
alansong95 0:f2c4b70c6e2f 960 uLCD.text_height(3);
alansong95 0:f2c4b70c6e2f 961 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 962 uLCD.printf("Discip");
alansong95 0:f2c4b70c6e2f 963 if (pet.getDiscipline() == 0) {
alansong95 0:f2c4b70c6e2f 964 uLCD.circle(16, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 965 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 966 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 967 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 968 } else if (pet.getDiscipline() == 1) {
alansong95 0:f2c4b70c6e2f 969 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 970 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 971 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 972 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 973 } else if (pet.getDiscipline() == 2) {
alansong95 0:f2c4b70c6e2f 974 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 975 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 976 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 977 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 978 } else if (pet.getDiscipline() == 3) {
alansong95 0:f2c4b70c6e2f 979 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 980 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 981 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 982 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 983 } else if (pet.getDiscipline() == 4) {
alansong95 0:f2c4b70c6e2f 984 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 985 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 986 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 987 uLCD.filled_circle(16+32*3, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 988 }
alansong95 0:f2c4b70c6e2f 989 } else if (info_state%4 == 2) { //hungry
alansong95 0:f2c4b70c6e2f 990 uLCD.text_width(3); // 4 times
alansong95 0:f2c4b70c6e2f 991 uLCD.text_height(3);
alansong95 0:f2c4b70c6e2f 992 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 993 uLCD.printf("Hungry");
alansong95 0:f2c4b70c6e2f 994 if (pet.getHungry() == 0) {
alansong95 0:f2c4b70c6e2f 995 uLCD.circle(16, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 996 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 997 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 998 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 999 } else if (pet.getHungry() == 1) {
alansong95 0:f2c4b70c6e2f 1000 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1001 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1002 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1003 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1004 } else if (pet.getHungry() == 2) {
alansong95 0:f2c4b70c6e2f 1005 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1006 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1007 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1008 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1009 } else if (pet.getHungry() == 3) {
alansong95 0:f2c4b70c6e2f 1010 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1011 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1012 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1013 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1014 } else if (pet.getHungry() == 4) {
alansong95 0:f2c4b70c6e2f 1015 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1016 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1017 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1018 uLCD.filled_circle(16+32*3, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1019 }
alansong95 0:f2c4b70c6e2f 1020 } else if (info_state%4 == 3) { //happy
alansong95 0:f2c4b70c6e2f 1021 uLCD.text_width(3); // 4 times
alansong95 0:f2c4b70c6e2f 1022 uLCD.text_height(3);
alansong95 0:f2c4b70c6e2f 1023 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 1024 uLCD.printf("Happy");
alansong95 0:f2c4b70c6e2f 1025 if (pet.getHappy() == 0) {
alansong95 0:f2c4b70c6e2f 1026 uLCD.circle(16, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1027 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1028 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1029 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1030 } else if (pet.getHappy() == 1) {
alansong95 0:f2c4b70c6e2f 1031 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1032 uLCD.circle(16+32, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1033 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1034 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1035 } else if (pet.getHappy() == 2) {
alansong95 0:f2c4b70c6e2f 1036 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1037 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1038 uLCD.circle(16+32*2, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1039 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1040 } else if (pet.getHappy() == 3) {
alansong95 0:f2c4b70c6e2f 1041 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1042 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1043 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1044 uLCD.circle(16+32*3, 72, 10, BLACK);
alansong95 0:f2c4b70c6e2f 1045 } else if (pet.getHappy() == 4) {
alansong95 0:f2c4b70c6e2f 1046 uLCD.filled_circle(16, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1047 uLCD.filled_circle(16+32, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1048 uLCD.filled_circle(16+32*2, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1049 uLCD.filled_circle(16+32*3, 72, 10, RED);
alansong95 0:f2c4b70c6e2f 1050 }
alansong95 0:f2c4b70c6e2f 1051 }
alansong95 0:f2c4b70c6e2f 1052 }
alansong95 0:f2c4b70c6e2f 1053
alansong95 0:f2c4b70c6e2f 1054
alansong95 0:f2c4b70c6e2f 1055
alansong95 0:f2c4b70c6e2f 1056
alansong95 0:f2c4b70c6e2f 1057 int main() {
alansong95 0:f2c4b70c6e2f 1058
alansong95 0:f2c4b70c6e2f 1059 Thread t1(thread1);
alansong95 0:f2c4b70c6e2f 1060
alansong95 0:f2c4b70c6e2f 1061 bool fired = 0;
alansong95 0:f2c4b70c6e2f 1062
alansong95 0:f2c4b70c6e2f 1063 uLCD.baudrate(1500000);
alansong95 0:f2c4b70c6e2f 1064 uLCD.textbackground_color(WHITE);
alansong95 0:f2c4b70c6e2f 1065 uLCD.color(BLACK);
alansong95 0:f2c4b70c6e2f 1066
alansong95 0:f2c4b70c6e2f 1067
alansong95 0:f2c4b70c6e2f 1068 int getpositionx = 48;
alansong95 0:f2c4b70c6e2f 1069 int getpositiony = 70;
alansong95 0:f2c4b70c6e2f 1070
alansong95 0:f2c4b70c6e2f 1071
alansong95 0:f2c4b70c6e2f 1072
alansong95 0:f2c4b70c6e2f 1073
alansong95 0:f2c4b70c6e2f 1074
alansong95 0:f2c4b70c6e2f 1075 Thread::wait(100);
alansong95 0:f2c4b70c6e2f 1076
alansong95 0:f2c4b70c6e2f 1077 drawBackground();
alansong95 0:f2c4b70c6e2f 1078
alansong95 0:f2c4b70c6e2f 1079 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1080 arrow_state = 0;
alansong95 0:f2c4b70c6e2f 1081 light_state = 0;
alansong95 0:f2c4b70c6e2f 1082 info_state = 0;
alansong95 0:f2c4b70c6e2f 1083 bool sick_state = 0;
alansong95 0:f2c4b70c6e2f 1084 bool poop_state = 0;
alansong95 0:f2c4b70c6e2f 1085 bool sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1086
alansong95 0:f2c4b70c6e2f 1087 int rand_sick;
alansong95 0:f2c4b70c6e2f 1088 int rand_sleep;
alansong95 0:f2c4b70c6e2f 1089
alansong95 0:f2c4b70c6e2f 1090 int token = 0;
alansong95 0:f2c4b70c6e2f 1091
alansong95 0:f2c4b70c6e2f 1092
alansong95 0:f2c4b70c6e2f 1093 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1094
alansong95 0:f2c4b70c6e2f 1095 int poop_count = 0;
alansong95 0:f2c4b70c6e2f 1096
alansong95 0:f2c4b70c6e2f 1097 while(1) {
alansong95 0:f2c4b70c6e2f 1098
alansong95 0:f2c4b70c6e2f 1099 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1100
alansong95 0:f2c4b70c6e2f 1101 } else {
alansong95 0:f2c4b70c6e2f 1102 if (sleep_state == 1) {
alansong95 0:f2c4b70c6e2f 1103 uLCD.BLIT(getpositionx, getpositiony, MONSTER_WIDTH, MONSTER_HEIGHT, MONSTER1_SLEEP1);
alansong95 0:f2c4b70c6e2f 1104 if (poop_state == 1) {
alansong95 0:f2c4b70c6e2f 1105 uLCD.BLIT(100, 85, 11, 8, POOP);
alansong95 0:f2c4b70c6e2f 1106 }
alansong95 0:f2c4b70c6e2f 1107 } else {
alansong95 0:f2c4b70c6e2f 1108 if (sick_state == 1) {
alansong95 0:f2c4b70c6e2f 1109
alansong95 0:f2c4b70c6e2f 1110 uLCD.BLIT(getpositionx, getpositiony, MONSTER_WIDTH, MONSTER_HEIGHT, MONSTER1_SICK1);
alansong95 0:f2c4b70c6e2f 1111 if (poop_state == 1) {
alansong95 0:f2c4b70c6e2f 1112 uLCD.BLIT(100, 85, 11, 8, POOP);
alansong95 0:f2c4b70c6e2f 1113 }
alansong95 0:f2c4b70c6e2f 1114 } else {
alansong95 0:f2c4b70c6e2f 1115 if (token == 1) {
alansong95 0:f2c4b70c6e2f 1116 uLCD.BLIT(getpositionx, getpositiony, MONSTER_WIDTH, MONSTER_HEIGHT, MONSTER1_1);
alansong95 0:f2c4b70c6e2f 1117 if (poop_state == 1) {
alansong95 0:f2c4b70c6e2f 1118 uLCD.BLIT(100, 85, 11, 8, POOP);
alansong95 0:f2c4b70c6e2f 1119 }
alansong95 0:f2c4b70c6e2f 1120 } else if (token == 100000) {
alansong95 0:f2c4b70c6e2f 1121 uLCD.BLIT(getpositionx, getpositiony, MONSTER_WIDTH, MONSTER_HEIGHT, MONSTER1_2);
alansong95 0:f2c4b70c6e2f 1122 if (poop_state == 1) {
alansong95 0:f2c4b70c6e2f 1123 uLCD.BLIT(100, 85, 11, 8, POOP);
alansong95 0:f2c4b70c6e2f 1124 }
alansong95 0:f2c4b70c6e2f 1125 } else if (token == 200000) {
alansong95 0:f2c4b70c6e2f 1126 token = 0;
alansong95 0:f2c4b70c6e2f 1127 // sleep
alansong95 0:f2c4b70c6e2f 1128 rand_sleep = rand()%10000 + 1;
alansong95 0:f2c4b70c6e2f 1129 if (rand_sleep <= 10) {
alansong95 0:f2c4b70c6e2f 1130 sleep_state = 1;
alansong95 0:f2c4b70c6e2f 1131 }
alansong95 0:f2c4b70c6e2f 1132
alansong95 0:f2c4b70c6e2f 1133 // sick
alansong95 0:f2c4b70c6e2f 1134 rand_sick = rand()%10000 + 1;
alansong95 0:f2c4b70c6e2f 1135 if (poop_state == 1) {
alansong95 0:f2c4b70c6e2f 1136 if (rand_sick <= 50) {
alansong95 0:f2c4b70c6e2f 1137 sick_state = 1;
alansong95 0:f2c4b70c6e2f 1138 }
alansong95 0:f2c4b70c6e2f 1139 } else {
alansong95 0:f2c4b70c6e2f 1140 if (rand_sick <= 10) {
alansong95 0:f2c4b70c6e2f 1141 sick_state = 1;
alansong95 0:f2c4b70c6e2f 1142 }
alansong95 0:f2c4b70c6e2f 1143 }
alansong95 0:f2c4b70c6e2f 1144 }
alansong95 0:f2c4b70c6e2f 1145 token++;
alansong95 0:f2c4b70c6e2f 1146 }
alansong95 0:f2c4b70c6e2f 1147 }
alansong95 0:f2c4b70c6e2f 1148
alansong95 0:f2c4b70c6e2f 1149 }
alansong95 0:f2c4b70c6e2f 1150
alansong95 0:f2c4b70c6e2f 1151 // poop
alansong95 0:f2c4b70c6e2f 1152 poop_count++;
alansong95 0:f2c4b70c6e2f 1153 if (poop_count == 10000000) {
alansong95 0:f2c4b70c6e2f 1154 if (poop_state == 0) {
alansong95 0:f2c4b70c6e2f 1155 //uLCD.BLIT(90, 80, 11, 8, ERASE_POOP);
alansong95 0:f2c4b70c6e2f 1156 uLCD.BLIT(100, 85, 11, 8, POOP);
alansong95 0:f2c4b70c6e2f 1157 //poop_draw(90,80);
alansong95 0:f2c4b70c6e2f 1158 poop_state = 1;
alansong95 0:f2c4b70c6e2f 1159 }
alansong95 0:f2c4b70c6e2f 1160 poop_count = 0;
alansong95 0:f2c4b70c6e2f 1161 }
alansong95 0:f2c4b70c6e2f 1162
alansong95 0:f2c4b70c6e2f 1163
alansong95 0:f2c4b70c6e2f 1164
alansong95 0:f2c4b70c6e2f 1165
alansong95 0:f2c4b70c6e2f 1166
alansong95 0:f2c4b70c6e2f 1167
alansong95 0:f2c4b70c6e2f 1168
alansong95 0:f2c4b70c6e2f 1169
alansong95 0:f2c4b70c6e2f 1170
alansong95 0:f2c4b70c6e2f 1171 if (myNav.right()) { // left
alansong95 0:f2c4b70c6e2f 1172 if (menu_state > 1) {
alansong95 0:f2c4b70c6e2f 1173 menu_state--;
alansong95 0:f2c4b70c6e2f 1174 }
alansong95 0:f2c4b70c6e2f 1175
alansong95 0:f2c4b70c6e2f 1176 switch (menu_state) {
alansong95 0:f2c4b70c6e2f 1177 case 1: drawMenu2(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1178 drawMenu1(BLACK);
alansong95 0:f2c4b70c6e2f 1179 break;
alansong95 0:f2c4b70c6e2f 1180 case 2: drawMenu3(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1181 drawMenu2(BLACK);
alansong95 0:f2c4b70c6e2f 1182 break;
alansong95 0:f2c4b70c6e2f 1183 case 3: drawMenu4(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1184 drawMenu3(BLACK);
alansong95 0:f2c4b70c6e2f 1185 break;
alansong95 0:f2c4b70c6e2f 1186 case 4: drawMenu5(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1187 drawMenu4(BLACK);
alansong95 0:f2c4b70c6e2f 1188 break;
alansong95 0:f2c4b70c6e2f 1189 case 5: drawMenu6(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1190 drawMenu5(BLACK);
alansong95 0:f2c4b70c6e2f 1191 break;
alansong95 0:f2c4b70c6e2f 1192 case 6: drawMenu7(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1193 drawMenu6(BLACK);
alansong95 0:f2c4b70c6e2f 1194 break;
alansong95 0:f2c4b70c6e2f 1195 case 7: drawMenu8(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1196 drawMenu7(BLACK);
alansong95 0:f2c4b70c6e2f 1197 break;
alansong95 0:f2c4b70c6e2f 1198 }
alansong95 0:f2c4b70c6e2f 1199 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1200
alansong95 0:f2c4b70c6e2f 1201 } else if (myNav.left()) { // right
alansong95 0:f2c4b70c6e2f 1202 if (menu_state < 8) {
alansong95 0:f2c4b70c6e2f 1203 menu_state++;
alansong95 0:f2c4b70c6e2f 1204 }
alansong95 0:f2c4b70c6e2f 1205 switch (menu_state) {
alansong95 0:f2c4b70c6e2f 1206 case 1: drawMenu1(BLACK);
alansong95 0:f2c4b70c6e2f 1207 break;
alansong95 0:f2c4b70c6e2f 1208 case 2: drawMenu1(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1209 drawMenu2(BLACK);
alansong95 0:f2c4b70c6e2f 1210 break;
alansong95 0:f2c4b70c6e2f 1211 case 3: drawMenu2(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1212 drawMenu3(BLACK);
alansong95 0:f2c4b70c6e2f 1213 break;
alansong95 0:f2c4b70c6e2f 1214 case 4: drawMenu3(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1215 drawMenu4(BLACK);
alansong95 0:f2c4b70c6e2f 1216 break;
alansong95 0:f2c4b70c6e2f 1217 case 5: drawMenu4(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1218 drawMenu5(BLACK);
alansong95 0:f2c4b70c6e2f 1219 break;
alansong95 0:f2c4b70c6e2f 1220 case 6: drawMenu5(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1221 drawMenu6(BLACK);
alansong95 0:f2c4b70c6e2f 1222 break;
alansong95 0:f2c4b70c6e2f 1223 case 7: drawMenu6(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1224 drawMenu7(BLACK);
alansong95 0:f2c4b70c6e2f 1225 break;
alansong95 0:f2c4b70c6e2f 1226 case 8: drawMenu7(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1227 drawMenu8(BLACK);
alansong95 0:f2c4b70c6e2f 1228 break;
alansong95 0:f2c4b70c6e2f 1229 }
alansong95 0:f2c4b70c6e2f 1230 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1231
alansong95 0:f2c4b70c6e2f 1232
alansong95 0:f2c4b70c6e2f 1233 } else if (myNav.down()) { // up
alansong95 0:f2c4b70c6e2f 1234 if (menu_state == 5) {
alansong95 0:f2c4b70c6e2f 1235 menu_state = 1;
alansong95 0:f2c4b70c6e2f 1236 } else if (menu_state == 6) {
alansong95 0:f2c4b70c6e2f 1237 menu_state = 2;
alansong95 0:f2c4b70c6e2f 1238 } else if (menu_state == 7) {
alansong95 0:f2c4b70c6e2f 1239 menu_state = 3;
alansong95 0:f2c4b70c6e2f 1240 } else if (menu_state == 8) {
alansong95 0:f2c4b70c6e2f 1241 menu_state = 4;
alansong95 0:f2c4b70c6e2f 1242 }
alansong95 0:f2c4b70c6e2f 1243
alansong95 0:f2c4b70c6e2f 1244 switch (menu_state) {
alansong95 0:f2c4b70c6e2f 1245 case 1: drawMenu5(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1246 drawMenu1(BLACK);
alansong95 0:f2c4b70c6e2f 1247 break;
alansong95 0:f2c4b70c6e2f 1248 case 2: drawMenu6(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1249 drawMenu2(BLACK);
alansong95 0:f2c4b70c6e2f 1250 break;
alansong95 0:f2c4b70c6e2f 1251 case 3: drawMenu7(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1252 drawMenu3(BLACK);
alansong95 0:f2c4b70c6e2f 1253 break;
alansong95 0:f2c4b70c6e2f 1254 case 4: drawMenu8(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1255 drawMenu4(BLACK);
alansong95 0:f2c4b70c6e2f 1256 break;
alansong95 0:f2c4b70c6e2f 1257 }
alansong95 0:f2c4b70c6e2f 1258
alansong95 0:f2c4b70c6e2f 1259 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1260 } else if (myNav.up()) { // down
alansong95 0:f2c4b70c6e2f 1261 if (menu_state == 1) {
alansong95 0:f2c4b70c6e2f 1262 menu_state = 5;
alansong95 0:f2c4b70c6e2f 1263 } else if (menu_state == 2) {
alansong95 0:f2c4b70c6e2f 1264 menu_state = 6;
alansong95 0:f2c4b70c6e2f 1265 } else if (menu_state == 3) {
alansong95 0:f2c4b70c6e2f 1266 menu_state = 7;
alansong95 0:f2c4b70c6e2f 1267 } else if (menu_state == 4) {
alansong95 0:f2c4b70c6e2f 1268 menu_state = 8;
alansong95 0:f2c4b70c6e2f 1269 }
alansong95 0:f2c4b70c6e2f 1270
alansong95 0:f2c4b70c6e2f 1271 switch (menu_state) {
alansong95 0:f2c4b70c6e2f 1272 case 5: drawMenu1(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1273 drawMenu5(BLACK);
alansong95 0:f2c4b70c6e2f 1274 break;
alansong95 0:f2c4b70c6e2f 1275 case 6: drawMenu2(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1276 drawMenu6(BLACK);
alansong95 0:f2c4b70c6e2f 1277 break;
alansong95 0:f2c4b70c6e2f 1278 case 7: drawMenu3(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1279 drawMenu7(BLACK);
alansong95 0:f2c4b70c6e2f 1280 break;
alansong95 0:f2c4b70c6e2f 1281 case 8: drawMenu4(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1282 drawMenu8(BLACK);
alansong95 0:f2c4b70c6e2f 1283 break;
alansong95 0:f2c4b70c6e2f 1284 }
alansong95 0:f2c4b70c6e2f 1285 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1286 } else if (myNav.fire()) {
alansong95 0:f2c4b70c6e2f 1287 fired = 1;
alansong95 0:f2c4b70c6e2f 1288 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1289 }
alansong95 0:f2c4b70c6e2f 1290
alansong95 0:f2c4b70c6e2f 1291
alansong95 0:f2c4b70c6e2f 1292 if (fired == 1) {
alansong95 0:f2c4b70c6e2f 1293 fired = 0;
alansong95 0:f2c4b70c6e2f 1294 if (menu_state == 1) {
alansong95 0:f2c4b70c6e2f 1295 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1296
alansong95 0:f2c4b70c6e2f 1297 } else {
alansong95 0:f2c4b70c6e2f 1298 clearMiddle();
alansong95 0:f2c4b70c6e2f 1299 for (int i = 0; i < 10000000; i++) {
alansong95 0:f2c4b70c6e2f 1300 if (i == 0) {
alansong95 0:f2c4b70c6e2f 1301 uLCD.BLIT(55, 60, 22, 17, FOOD);
alansong95 0:f2c4b70c6e2f 1302 }
alansong95 0:f2c4b70c6e2f 1303 if (i== 5000000) {
alansong95 0:f2c4b70c6e2f 1304 clearMiddle();
alansong95 0:f2c4b70c6e2f 1305 uLCD.BLIT(55, 70, 22, 6, FOOD2);
alansong95 0:f2c4b70c6e2f 1306 }
alansong95 0:f2c4b70c6e2f 1307 }
alansong95 0:f2c4b70c6e2f 1308
alansong95 0:f2c4b70c6e2f 1309 clearMiddle();
alansong95 0:f2c4b70c6e2f 1310
alansong95 0:f2c4b70c6e2f 1311 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1312 pet.increaseHungry();
alansong95 0:f2c4b70c6e2f 1313 }
alansong95 0:f2c4b70c6e2f 1314 drawMenu1(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1315 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1316 sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1317 } else if (menu_state == 2) {
alansong95 0:f2c4b70c6e2f 1318 displayOption2();
alansong95 0:f2c4b70c6e2f 1319 while (1) {
alansong95 0:f2c4b70c6e2f 1320
alansong95 0:f2c4b70c6e2f 1321 if (myNav.up() || myNav.down()) {
alansong95 0:f2c4b70c6e2f 1322
alansong95 0:f2c4b70c6e2f 1323 if (arrow_state == 0) {
alansong95 0:f2c4b70c6e2f 1324 arrow_state = 1;
alansong95 0:f2c4b70c6e2f 1325 } else {
alansong95 0:f2c4b70c6e2f 1326 arrow_state = 0;
alansong95 0:f2c4b70c6e2f 1327 }
alansong95 0:f2c4b70c6e2f 1328 displayOption2();
alansong95 0:f2c4b70c6e2f 1329 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1330
alansong95 0:f2c4b70c6e2f 1331 } else if (myNav.fire()) {
alansong95 0:f2c4b70c6e2f 1332 if (arrow_state == 0) {
alansong95 0:f2c4b70c6e2f 1333 clearMiddle();
alansong95 0:f2c4b70c6e2f 1334 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1335 light_state = 0;
alansong95 0:f2c4b70c6e2f 1336 } else {
alansong95 0:f2c4b70c6e2f 1337 turnOffLight();
alansong95 0:f2c4b70c6e2f 1338 light_state = 1;
alansong95 0:f2c4b70c6e2f 1339 }
alansong95 0:f2c4b70c6e2f 1340 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1341 break;
alansong95 0:f2c4b70c6e2f 1342 }
alansong95 0:f2c4b70c6e2f 1343 }
alansong95 0:f2c4b70c6e2f 1344 arrow_state = 0;
alansong95 0:f2c4b70c6e2f 1345 drawMenu2(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1346 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1347 } else if (menu_state == 3) {
alansong95 0:f2c4b70c6e2f 1348 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1349
alansong95 0:f2c4b70c6e2f 1350 } else {
alansong95 0:f2c4b70c6e2f 1351
alansong95 0:f2c4b70c6e2f 1352
alansong95 0:f2c4b70c6e2f 1353 displayOption3();
alansong95 0:f2c4b70c6e2f 1354
alansong95 0:f2c4b70c6e2f 1355 int ene = rand()%3+1;
alansong95 0:f2c4b70c6e2f 1356 int result = 0; // 1: win 2: lose 3: tie
alansong95 0:f2c4b70c6e2f 1357
alansong95 0:f2c4b70c6e2f 1358 while (1) {
alansong95 0:f2c4b70c6e2f 1359
alansong95 0:f2c4b70c6e2f 1360 if (myNav.right()) {
alansong95 0:f2c4b70c6e2f 1361 drawMyRockFrame();
alansong95 0:f2c4b70c6e2f 1362 if (ene == 1) {
alansong95 0:f2c4b70c6e2f 1363 drawEneRockFrame();
alansong95 0:f2c4b70c6e2f 1364 result = 3;
alansong95 0:f2c4b70c6e2f 1365 } else if (ene == 2) {
alansong95 0:f2c4b70c6e2f 1366 drawEnePaperFrame();
alansong95 0:f2c4b70c6e2f 1367 result = 2;
alansong95 0:f2c4b70c6e2f 1368 } else if (ene == 3) {
alansong95 0:f2c4b70c6e2f 1369 drawEneSciFrame();
alansong95 0:f2c4b70c6e2f 1370 result = 1;
alansong95 0:f2c4b70c6e2f 1371 }
alansong95 0:f2c4b70c6e2f 1372 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1373 } else if (myNav.fire()) {
alansong95 0:f2c4b70c6e2f 1374 drawMyPaperFrame();
alansong95 0:f2c4b70c6e2f 1375 if (ene == 1) {
alansong95 0:f2c4b70c6e2f 1376 drawEneRockFrame();
alansong95 0:f2c4b70c6e2f 1377 result = 1;
alansong95 0:f2c4b70c6e2f 1378 } else if (ene == 2) {
alansong95 0:f2c4b70c6e2f 1379 drawEnePaperFrame();
alansong95 0:f2c4b70c6e2f 1380 result = 3;
alansong95 0:f2c4b70c6e2f 1381 } else if (ene == 3) {
alansong95 0:f2c4b70c6e2f 1382 drawEneSciFrame();
alansong95 0:f2c4b70c6e2f 1383 result = 2;
alansong95 0:f2c4b70c6e2f 1384 }
alansong95 0:f2c4b70c6e2f 1385 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1386 } else if (myNav.left()) {
alansong95 0:f2c4b70c6e2f 1387 drawMySciFrame();
alansong95 0:f2c4b70c6e2f 1388 if (ene == 1) {
alansong95 0:f2c4b70c6e2f 1389 drawEneRockFrame();
alansong95 0:f2c4b70c6e2f 1390 result = 2;
alansong95 0:f2c4b70c6e2f 1391 } else if (ene == 2) {
alansong95 0:f2c4b70c6e2f 1392 drawEnePaperFrame();
alansong95 0:f2c4b70c6e2f 1393 result = 1;
alansong95 0:f2c4b70c6e2f 1394 } else if (ene == 3) {
alansong95 0:f2c4b70c6e2f 1395 drawEneSciFrame();
alansong95 0:f2c4b70c6e2f 1396 result = 3;
alansong95 0:f2c4b70c6e2f 1397 }
alansong95 0:f2c4b70c6e2f 1398 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1399 }
alansong95 0:f2c4b70c6e2f 1400
alansong95 0:f2c4b70c6e2f 1401 if (result == 3) {
alansong95 0:f2c4b70c6e2f 1402 clearMiddle();
alansong95 0:f2c4b70c6e2f 1403 uLCD.text_width(4); // 4 times
alansong95 0:f2c4b70c6e2f 1404 uLCD.text_height(4);
alansong95 0:f2c4b70c6e2f 1405 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 1406 uLCD.printf("TIE");
alansong95 0:f2c4b70c6e2f 1407 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1408 ene = rand()%3+1;
alansong95 0:f2c4b70c6e2f 1409 displayOption3();
alansong95 0:f2c4b70c6e2f 1410 result = 0;
alansong95 0:f2c4b70c6e2f 1411 } else if (result == 1) {
alansong95 0:f2c4b70c6e2f 1412 clearMiddle();
alansong95 0:f2c4b70c6e2f 1413 uLCD.text_width(4); // 4 times
alansong95 0:f2c4b70c6e2f 1414 uLCD.text_height(4);
alansong95 0:f2c4b70c6e2f 1415 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 1416 uLCD.printf("WIN");
alansong95 0:f2c4b70c6e2f 1417 pet.increaseHappy();
alansong95 0:f2c4b70c6e2f 1418 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1419 break;
alansong95 0:f2c4b70c6e2f 1420 } else if (result == 2) {
alansong95 0:f2c4b70c6e2f 1421 clearMiddle();
alansong95 0:f2c4b70c6e2f 1422 uLCD.text_width(4); // 4 times
alansong95 0:f2c4b70c6e2f 1423 uLCD.text_height(4);
alansong95 0:f2c4b70c6e2f 1424 uLCD.locate(0, 1);
alansong95 0:f2c4b70c6e2f 1425 uLCD.printf("LOSE");
alansong95 0:f2c4b70c6e2f 1426 pet.decreaseHappy();
alansong95 0:f2c4b70c6e2f 1427 Thread::wait(2000);
alansong95 0:f2c4b70c6e2f 1428 break;
alansong95 0:f2c4b70c6e2f 1429 }
alansong95 0:f2c4b70c6e2f 1430 }
alansong95 0:f2c4b70c6e2f 1431 clearMiddle();
alansong95 0:f2c4b70c6e2f 1432 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1433 }
alansong95 0:f2c4b70c6e2f 1434 drawMenu3(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1435 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1436 sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1437 } else if (menu_state == 4) { // medicine
alansong95 0:f2c4b70c6e2f 1438 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1439
alansong95 0:f2c4b70c6e2f 1440 } else {
alansong95 0:f2c4b70c6e2f 1441 clearMiddle();
alansong95 0:f2c4b70c6e2f 1442 for (int i = 0; i < 10000000; i++) {
alansong95 0:f2c4b70c6e2f 1443 if (i == 0) {
alansong95 0:f2c4b70c6e2f 1444 uLCD.BLIT(60, 58, 16, 16, MED);
alansong95 0:f2c4b70c6e2f 1445 }
alansong95 0:f2c4b70c6e2f 1446 if (i== 5000000) {
alansong95 0:f2c4b70c6e2f 1447 clearMiddle();
alansong95 0:f2c4b70c6e2f 1448 uLCD.BLIT(60, 66, 16, 8, MED2);
alansong95 0:f2c4b70c6e2f 1449 }
alansong95 0:f2c4b70c6e2f 1450 }
alansong95 0:f2c4b70c6e2f 1451
alansong95 0:f2c4b70c6e2f 1452 clearMiddle();
alansong95 0:f2c4b70c6e2f 1453
alansong95 0:f2c4b70c6e2f 1454 }
alansong95 0:f2c4b70c6e2f 1455 drawMenu4(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1456 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1457 sick_state = 0;
alansong95 0:f2c4b70c6e2f 1458 sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1459 } else if (menu_state == 5) { // poop
alansong95 0:f2c4b70c6e2f 1460 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1461
alansong95 0:f2c4b70c6e2f 1462 } else {
alansong95 0:f2c4b70c6e2f 1463 for (int i = 0; i < 128; i = i + 5) {
alansong95 0:f2c4b70c6e2f 1464 if (i == 0) {
alansong95 0:f2c4b70c6e2f 1465 uLCD.filled_rectangle(0+i, 26, 5+i,127-25+1, BLACK);
alansong95 0:f2c4b70c6e2f 1466 } else {
alansong95 0:f2c4b70c6e2f 1467 uLCD.filled_rectangle(0+i-5, 26, 5+i-5,127-25+1, WHITE);
alansong95 0:f2c4b70c6e2f 1468 uLCD.filled_rectangle(0+i, 26, 5+i,127-25+1, BLACK);
alansong95 0:f2c4b70c6e2f 1469 }
alansong95 0:f2c4b70c6e2f 1470 Thread::wait(100);
alansong95 0:f2c4b70c6e2f 1471 }
alansong95 0:f2c4b70c6e2f 1472 poop_state = 0;
alansong95 0:f2c4b70c6e2f 1473 poop_count = 0;
alansong95 0:f2c4b70c6e2f 1474 clearMiddle();
alansong95 0:f2c4b70c6e2f 1475 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1476 }
alansong95 0:f2c4b70c6e2f 1477 drawMenu5(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1478 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1479 } else if (menu_state == 6) { // info // working
alansong95 0:f2c4b70c6e2f 1480 displayOption6();
alansong95 0:f2c4b70c6e2f 1481 while (1) {
alansong95 0:f2c4b70c6e2f 1482
alansong95 0:f2c4b70c6e2f 1483
alansong95 0:f2c4b70c6e2f 1484 if (myNav.left()) {
alansong95 0:f2c4b70c6e2f 1485 info_state = info_state + 1;
alansong95 0:f2c4b70c6e2f 1486 displayOption6();
alansong95 0:f2c4b70c6e2f 1487 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1488 } else if (myNav.right()) {
alansong95 0:f2c4b70c6e2f 1489 info_state = info_state - 1;
alansong95 0:f2c4b70c6e2f 1490 if (info_state < 0) {
alansong95 0:f2c4b70c6e2f 1491 info_state = info_state + 4;
alansong95 0:f2c4b70c6e2f 1492 }
alansong95 0:f2c4b70c6e2f 1493 displayOption6();
alansong95 0:f2c4b70c6e2f 1494 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1495 } else if (myNav.fire()) {
alansong95 0:f2c4b70c6e2f 1496 Thread::wait(500);
alansong95 0:f2c4b70c6e2f 1497 break;
alansong95 0:f2c4b70c6e2f 1498 }
alansong95 0:f2c4b70c6e2f 1499 }
alansong95 0:f2c4b70c6e2f 1500 info_state = 0;
alansong95 0:f2c4b70c6e2f 1501
alansong95 0:f2c4b70c6e2f 1502 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1503 drawUpperFrame();
alansong95 0:f2c4b70c6e2f 1504 drawUpperMenu();
alansong95 0:f2c4b70c6e2f 1505 turnOffLight();
alansong95 0:f2c4b70c6e2f 1506 } else {
alansong95 0:f2c4b70c6e2f 1507 clearMiddle();
alansong95 0:f2c4b70c6e2f 1508 drawUpperFrame();
alansong95 0:f2c4b70c6e2f 1509 drawUpperMenu();
alansong95 0:f2c4b70c6e2f 1510
alansong95 0:f2c4b70c6e2f 1511 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1512 }
alansong95 0:f2c4b70c6e2f 1513 drawMenu6(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1514 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1515 } else if (menu_state == 7) { // yell
alansong95 0:f2c4b70c6e2f 1516 if (light_state == 1) { // light off
alansong95 0:f2c4b70c6e2f 1517
alansong95 0:f2c4b70c6e2f 1518 } else {
alansong95 0:f2c4b70c6e2f 1519 for (int i = 0; i < 10000000; i++) {
alansong95 0:f2c4b70c6e2f 1520 if (i % 1000000 == 0) {
alansong95 0:f2c4b70c6e2f 1521 uLCD.BLIT(getpositionx, getpositiony, MONSTER_WIDTH, MONSTER_HEIGHT, MONSTER1_MAD1);
alansong95 0:f2c4b70c6e2f 1522 }
alansong95 0:f2c4b70c6e2f 1523 }
alansong95 0:f2c4b70c6e2f 1524
alansong95 0:f2c4b70c6e2f 1525 clearMiddle();
alansong95 0:f2c4b70c6e2f 1526 //monster1.draw();
alansong95 0:f2c4b70c6e2f 1527 pet.increaseDiscipline();
alansong95 0:f2c4b70c6e2f 1528 pet.decreaseHappy();
alansong95 0:f2c4b70c6e2f 1529 }
alansong95 0:f2c4b70c6e2f 1530
alansong95 0:f2c4b70c6e2f 1531 drawMenu7(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1532 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1533 sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1534 } else if (menu_state == 8) {
alansong95 0:f2c4b70c6e2f 1535 pet.increaseAge();
alansong95 0:f2c4b70c6e2f 1536 drawMenu8(0xA0A0A0);
alansong95 0:f2c4b70c6e2f 1537 menu_state = 0;
alansong95 0:f2c4b70c6e2f 1538 sleep_state = 0;
alansong95 0:f2c4b70c6e2f 1539 }
alansong95 0:f2c4b70c6e2f 1540 }
alansong95 0:f2c4b70c6e2f 1541
alansong95 0:f2c4b70c6e2f 1542
alansong95 0:f2c4b70c6e2f 1543 }
alansong95 0:f2c4b70c6e2f 1544
alansong95 0:f2c4b70c6e2f 1545
alansong95 0:f2c4b70c6e2f 1546 }
alansong95 0:f2c4b70c6e2f 1547