Tamagotchi
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player
main.cpp@0:f2c4b70c6e2f, 2017-03-13 (annotated)
- Committer:
- alansong95
- Date:
- Mon Mar 13 03:11:52 2017 +0000
- Revision:
- 0:f2c4b70c6e2f
ok
Who changed what in which revision?
User | Revision | Line number | New 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 |