ELEC2645 (2018/19)
/
el17ttds
Thomas Foster 201 096 550 Re published. Please check time of final commit
Missiles/Missiles.cpp@11:fd7f7b531e50, 2019-05-12 (annotated)
- Committer:
- el17ttds
- Date:
- Sun May 12 16:31:45 2019 +0000
- Revision:
- 11:fd7f7b531e50
- Parent:
- 9:3a0194c87afe
Final submission. I have read and agreed with Statement of Academic Integrity.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el17ttds | 8:d1c04f0e4890 | 1 | #include "Missiles.h" |
el17ttds | 8:d1c04f0e4890 | 2 | |
el17ttds | 8:d1c04f0e4890 | 3 | Missiles::Missiles() { |
el17ttds | 8:d1c04f0e4890 | 4 | |
el17ttds | 8:d1c04f0e4890 | 5 | } |
el17ttds | 8:d1c04f0e4890 | 6 | |
el17ttds | 8:d1c04f0e4890 | 7 | void Missiles::init() { |
el17ttds | 8:d1c04f0e4890 | 8 | _d = N; |
el17ttds | 8:d1c04f0e4890 | 9 | _Apressed = false; |
el17ttds | 9:3a0194c87afe | 10 | frame_counter = 0; |
el17ttds | 8:d1c04f0e4890 | 11 | frame_counter1 = 0; |
el17ttds | 8:d1c04f0e4890 | 12 | frame_counter2 = 0; |
el17ttds | 8:d1c04f0e4890 | 13 | frame_counter3 = 0; |
el17ttds | 8:d1c04f0e4890 | 14 | _xStart = 42 - 1; |
el17ttds | 8:d1c04f0e4890 | 15 | _yStart = 24 - 1; |
el17ttds | 8:d1c04f0e4890 | 16 | _speed = 5; |
el17ttds | 8:d1c04f0e4890 | 17 | _changex = 0; |
el17ttds | 8:d1c04f0e4890 | 18 | _changey = -_speed; // Shoots up if no input |
el17ttds | 8:d1c04f0e4890 | 19 | _m1 = 0; |
el17ttds | 8:d1c04f0e4890 | 20 | _m1x = -1; |
el17ttds | 8:d1c04f0e4890 | 21 | _changex1 = 0; |
el17ttds | 8:d1c04f0e4890 | 22 | _m1y = -1; |
el17ttds | 8:d1c04f0e4890 | 23 | _changey1 = 0; |
el17ttds | 8:d1c04f0e4890 | 24 | _m2 = 0; |
el17ttds | 8:d1c04f0e4890 | 25 | _m2x = -1; |
el17ttds | 8:d1c04f0e4890 | 26 | _changex2 = 0; |
el17ttds | 8:d1c04f0e4890 | 27 | _m2y = -1; |
el17ttds | 8:d1c04f0e4890 | 28 | _changey2 = 0; |
el17ttds | 8:d1c04f0e4890 | 29 | _m3 = 0; |
el17ttds | 8:d1c04f0e4890 | 30 | _m3x = -1; |
el17ttds | 8:d1c04f0e4890 | 31 | _changex3 = 0; |
el17ttds | 8:d1c04f0e4890 | 32 | _m3y = -1; |
el17ttds | 8:d1c04f0e4890 | 33 | _changey3 = 0; |
el17ttds | 8:d1c04f0e4890 | 34 | } |
el17ttds | 8:d1c04f0e4890 | 35 | |
el17ttds | 9:3a0194c87afe | 36 | void Missiles::write(int pix_x, int pix_y, Direction d, bool Apressed, bool Bpressed, int map_x, int map_y, bool m1_hit, bool m2_hit, bool m3_hit, Gamepad &pad, int rerate) { // lcd for leds |
el17ttds | 9:3a0194c87afe | 37 | reload_rate = rerate; |
el17ttds | 8:d1c04f0e4890 | 38 | _Apressed = Apressed; |
el17ttds | 8:d1c04f0e4890 | 39 | _Bpressed = Bpressed; |
el17ttds | 8:d1c04f0e4890 | 40 | _d = d; |
el17ttds | 8:d1c04f0e4890 | 41 | _pix_x = pix_x; |
el17ttds | 8:d1c04f0e4890 | 42 | _pix_y = pix_y; |
el17ttds | 8:d1c04f0e4890 | 43 | _map_x = map_x; |
el17ttds | 8:d1c04f0e4890 | 44 | _map_y = map_y; |
el17ttds | 8:d1c04f0e4890 | 45 | _m1_hit = m1_hit; |
el17ttds | 8:d1c04f0e4890 | 46 | _m2_hit = m2_hit; |
el17ttds | 8:d1c04f0e4890 | 47 | _m3_hit = m3_hit; |
el17ttds | 9:3a0194c87afe | 48 | reload(); |
el17ttds | 8:d1c04f0e4890 | 49 | check_hit(); |
el17ttds | 8:d1c04f0e4890 | 50 | move_missile(); |
el17ttds | 8:d1c04f0e4890 | 51 | if (_Apressed == true) { |
el17ttds | 8:d1c04f0e4890 | 52 | set_forward(); |
el17ttds | 8:d1c04f0e4890 | 53 | } else if (_Bpressed == true) { |
el17ttds | 8:d1c04f0e4890 | 54 | set_back(); |
el17ttds | 8:d1c04f0e4890 | 55 | } |
el17ttds | 8:d1c04f0e4890 | 56 | check_collision_wall(); |
el17ttds | 9:3a0194c87afe | 57 | show_ammo(pad); |
el17ttds | 8:d1c04f0e4890 | 58 | } |
el17ttds | 8:d1c04f0e4890 | 59 | |
el17ttds | 8:d1c04f0e4890 | 60 | void Missiles::draw(N5110 &lcd) { |
el17ttds | 8:d1c04f0e4890 | 61 | if ( (_m1x >= 0 ) && (_m1y >= 0) ) { |
el17ttds | 9:3a0194c87afe | 62 | lcd.drawRect(_m1x, _m1y, 3, 3, FILL_TRANSPARENT); |
el17ttds | 8:d1c04f0e4890 | 63 | } |
el17ttds | 8:d1c04f0e4890 | 64 | if ( (_m2x >= 0 ) && (_m2y >= 0) ) { |
el17ttds | 8:d1c04f0e4890 | 65 | lcd.drawRect(_m2x, _m2y, 3, 3, FILL_TRANSPARENT); |
el17ttds | 8:d1c04f0e4890 | 66 | } |
el17ttds | 8:d1c04f0e4890 | 67 | if ( (_m3x >= 0 ) && (_m3y >= 0) ) { |
el17ttds | 8:d1c04f0e4890 | 68 | lcd.drawRect(_m3x, _m3y, 3, 3, FILL_TRANSPARENT); |
el17ttds | 8:d1c04f0e4890 | 69 | } |
el17ttds | 8:d1c04f0e4890 | 70 | } |
el17ttds | 8:d1c04f0e4890 | 71 | |
el17ttds | 8:d1c04f0e4890 | 72 | Vector2D Missiles::get_m1_pos() { |
el17ttds | 8:d1c04f0e4890 | 73 | if (_m1 == true) { |
el17ttds | 8:d1c04f0e4890 | 74 | Vector2D m1_pos = {_m1x, _m1y}; |
el17ttds | 8:d1c04f0e4890 | 75 | return m1_pos; |
el17ttds | 8:d1c04f0e4890 | 76 | } else {return {_map_x, _map_y}; } |
el17ttds | 8:d1c04f0e4890 | 77 | } |
el17ttds | 8:d1c04f0e4890 | 78 | |
el17ttds | 8:d1c04f0e4890 | 79 | Vector2D Missiles::get_m2_pos() { |
el17ttds | 8:d1c04f0e4890 | 80 | if (_m2 == true) { |
el17ttds | 8:d1c04f0e4890 | 81 | Vector2D m2_pos = {_m2x, _m2y}; |
el17ttds | 8:d1c04f0e4890 | 82 | return m2_pos; |
el17ttds | 8:d1c04f0e4890 | 83 | } else {return {_map_x, _map_y}; } |
el17ttds | 8:d1c04f0e4890 | 84 | } |
el17ttds | 8:d1c04f0e4890 | 85 | |
el17ttds | 8:d1c04f0e4890 | 86 | Vector2D Missiles::get_m3_pos() { |
el17ttds | 8:d1c04f0e4890 | 87 | if (_m3 == true) { |
el17ttds | 8:d1c04f0e4890 | 88 | Vector2D m3_pos = {_m3x, _m3y}; |
el17ttds | 8:d1c04f0e4890 | 89 | return m3_pos; |
el17ttds | 8:d1c04f0e4890 | 90 | } else {return {_map_x, _map_y}; } // If missile doesnt exist, return a location that collides with no enemy. |
el17ttds | 8:d1c04f0e4890 | 91 | } |
el17ttds | 8:d1c04f0e4890 | 92 | ////////////////////////////////// PRIVATE FUNCTIONS /////////////////////////////// |
el17ttds | 8:d1c04f0e4890 | 93 | |
el17ttds | 9:3a0194c87afe | 94 | void Missiles::reload() { |
el17ttds | 9:3a0194c87afe | 95 | if (_m1 == false) { |
el17ttds | 9:3a0194c87afe | 96 | frame_counter1++; |
el17ttds | 9:3a0194c87afe | 97 | _ready1 = false; |
el17ttds | 9:3a0194c87afe | 98 | if (frame_counter1 >= reload_rate) { |
el17ttds | 9:3a0194c87afe | 99 | _ready1 = true; |
el17ttds | 9:3a0194c87afe | 100 | } |
el17ttds | 9:3a0194c87afe | 101 | } |
el17ttds | 9:3a0194c87afe | 102 | if (_m2 == false) { |
el17ttds | 9:3a0194c87afe | 103 | frame_counter2++; |
el17ttds | 9:3a0194c87afe | 104 | _ready2 = false; |
el17ttds | 9:3a0194c87afe | 105 | if (frame_counter2 >= reload_rate) { |
el17ttds | 9:3a0194c87afe | 106 | _ready2 = true; |
el17ttds | 9:3a0194c87afe | 107 | } |
el17ttds | 9:3a0194c87afe | 108 | } |
el17ttds | 9:3a0194c87afe | 109 | if (_m3 == false) { |
el17ttds | 9:3a0194c87afe | 110 | frame_counter3++; |
el17ttds | 9:3a0194c87afe | 111 | _ready3 = false; |
el17ttds | 9:3a0194c87afe | 112 | if (frame_counter3 >= reload_rate) { |
el17ttds | 9:3a0194c87afe | 113 | _ready3 = true; |
el17ttds | 9:3a0194c87afe | 114 | } |
el17ttds | 9:3a0194c87afe | 115 | } |
el17ttds | 9:3a0194c87afe | 116 | } |
el17ttds | 9:3a0194c87afe | 117 | |
el17ttds | 8:d1c04f0e4890 | 118 | void Missiles::check_hit() { |
el17ttds | 8:d1c04f0e4890 | 119 | if (_m1_hit == true) { |
el17ttds | 8:d1c04f0e4890 | 120 | _m1 = false; |
el17ttds | 8:d1c04f0e4890 | 121 | } |
el17ttds | 8:d1c04f0e4890 | 122 | if (_m2_hit == true) { |
el17ttds | 8:d1c04f0e4890 | 123 | _m2 = false; |
el17ttds | 8:d1c04f0e4890 | 124 | } |
el17ttds | 8:d1c04f0e4890 | 125 | if (_m3_hit == true) { |
el17ttds | 8:d1c04f0e4890 | 126 | _m3 = false; |
el17ttds | 8:d1c04f0e4890 | 127 | } |
el17ttds | 8:d1c04f0e4890 | 128 | } |
el17ttds | 8:d1c04f0e4890 | 129 | |
el17ttds | 8:d1c04f0e4890 | 130 | void Missiles::move_missile() { |
el17ttds | 8:d1c04f0e4890 | 131 | if (_m1 == true) { |
el17ttds | 8:d1c04f0e4890 | 132 | _m1x += _changex1 - _pix_x; |
el17ttds | 8:d1c04f0e4890 | 133 | _m1y += _changey1 + _pix_y; |
el17ttds | 8:d1c04f0e4890 | 134 | } else { |
el17ttds | 8:d1c04f0e4890 | 135 | _m1x = -1; |
el17ttds | 8:d1c04f0e4890 | 136 | _m1y = -1; |
el17ttds | 8:d1c04f0e4890 | 137 | } |
el17ttds | 8:d1c04f0e4890 | 138 | if (_m2 == true) { |
el17ttds | 8:d1c04f0e4890 | 139 | _m2x += _changex2 - _pix_x; |
el17ttds | 8:d1c04f0e4890 | 140 | _m2y += _changey2 + _pix_y; |
el17ttds | 8:d1c04f0e4890 | 141 | } else { |
el17ttds | 8:d1c04f0e4890 | 142 | _m2x = -1; |
el17ttds | 8:d1c04f0e4890 | 143 | _m2y = -1; |
el17ttds | 8:d1c04f0e4890 | 144 | } |
el17ttds | 8:d1c04f0e4890 | 145 | if (_m3 == true) { |
el17ttds | 8:d1c04f0e4890 | 146 | _m3x += _changex3 - _pix_x; |
el17ttds | 8:d1c04f0e4890 | 147 | _m3y += _changey3 + _pix_y; |
el17ttds | 8:d1c04f0e4890 | 148 | } else { |
el17ttds | 8:d1c04f0e4890 | 149 | _m3x = -1; |
el17ttds | 8:d1c04f0e4890 | 150 | _m3y = -1; |
el17ttds | 8:d1c04f0e4890 | 151 | } |
el17ttds | 8:d1c04f0e4890 | 152 | } |
el17ttds | 8:d1c04f0e4890 | 153 | |
el17ttds | 8:d1c04f0e4890 | 154 | void Missiles::set_forward() { // reverses direction to forward again |
el17ttds | 9:3a0194c87afe | 155 | if (_ready1 == true) { |
el17ttds | 8:d1c04f0e4890 | 156 | direction(); |
el17ttds | 8:d1c04f0e4890 | 157 | _changex1 = -_changex; |
el17ttds | 8:d1c04f0e4890 | 158 | _changey1 = -_changey; |
el17ttds | 8:d1c04f0e4890 | 159 | _m1x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 160 | _m1y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 161 | _m1 = true; |
el17ttds | 9:3a0194c87afe | 162 | _ready1 = false; |
el17ttds | 9:3a0194c87afe | 163 | frame_counter1 = 0; |
el17ttds | 9:3a0194c87afe | 164 | } else if (_ready2 == true) { |
el17ttds | 8:d1c04f0e4890 | 165 | direction(); |
el17ttds | 8:d1c04f0e4890 | 166 | _changex2 = -_changex; |
el17ttds | 8:d1c04f0e4890 | 167 | _changey2 = -_changey; |
el17ttds | 8:d1c04f0e4890 | 168 | _m2x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 169 | _m2y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 170 | _m2 = true; |
el17ttds | 9:3a0194c87afe | 171 | _ready2 = false; |
el17ttds | 9:3a0194c87afe | 172 | frame_counter2 = 0; |
el17ttds | 9:3a0194c87afe | 173 | } else if (_ready3 == true) { |
el17ttds | 8:d1c04f0e4890 | 174 | direction(); |
el17ttds | 8:d1c04f0e4890 | 175 | _changex3 = -_changex; |
el17ttds | 8:d1c04f0e4890 | 176 | _changey3 = -_changey; |
el17ttds | 8:d1c04f0e4890 | 177 | _m3x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 178 | _m3y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 179 | _m3 = true; |
el17ttds | 9:3a0194c87afe | 180 | _ready3 = false; |
el17ttds | 9:3a0194c87afe | 181 | frame_counter3 = 0; |
el17ttds | 8:d1c04f0e4890 | 182 | } |
el17ttds | 8:d1c04f0e4890 | 183 | } |
el17ttds | 8:d1c04f0e4890 | 184 | |
el17ttds | 8:d1c04f0e4890 | 185 | void Missiles::set_back() { |
el17ttds | 9:3a0194c87afe | 186 | if (_ready1 == true) { |
el17ttds | 8:d1c04f0e4890 | 187 | direction(); |
el17ttds | 8:d1c04f0e4890 | 188 | _changex1 = _changex; |
el17ttds | 8:d1c04f0e4890 | 189 | _changey1 = _changey; |
el17ttds | 8:d1c04f0e4890 | 190 | _m1x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 191 | _m1y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 192 | _m1 = true; |
el17ttds | 9:3a0194c87afe | 193 | _ready1 = false; |
el17ttds | 9:3a0194c87afe | 194 | frame_counter1 = 0; |
el17ttds | 9:3a0194c87afe | 195 | } else if (_ready2 == true) { |
el17ttds | 8:d1c04f0e4890 | 196 | direction(); |
el17ttds | 8:d1c04f0e4890 | 197 | _changex2 = _changex; |
el17ttds | 8:d1c04f0e4890 | 198 | _changey2 = _changey; |
el17ttds | 8:d1c04f0e4890 | 199 | _m2x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 200 | _m2y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 201 | _m2 = true; |
el17ttds | 9:3a0194c87afe | 202 | _ready2 = false; |
el17ttds | 9:3a0194c87afe | 203 | frame_counter2 = 0; |
el17ttds | 9:3a0194c87afe | 204 | } else if (_ready3 == true) { |
el17ttds | 8:d1c04f0e4890 | 205 | direction(); |
el17ttds | 8:d1c04f0e4890 | 206 | _changex3 = _changex; |
el17ttds | 8:d1c04f0e4890 | 207 | _changey3 = _changey; |
el17ttds | 8:d1c04f0e4890 | 208 | _m3x = _xStart; |
el17ttds | 8:d1c04f0e4890 | 209 | _m3y = _yStart; |
el17ttds | 8:d1c04f0e4890 | 210 | _m3 = true; |
el17ttds | 9:3a0194c87afe | 211 | _ready3 = false; |
el17ttds | 9:3a0194c87afe | 212 | frame_counter3 = 0; |
el17ttds | 8:d1c04f0e4890 | 213 | } |
el17ttds | 8:d1c04f0e4890 | 214 | } |
el17ttds | 8:d1c04f0e4890 | 215 | |
el17ttds | 8:d1c04f0e4890 | 216 | void Missiles::direction() { // Original design only shoots back. |
el17ttds | 8:d1c04f0e4890 | 217 | if (_d == N) { |
el17ttds | 8:d1c04f0e4890 | 218 | _changex = 0; |
el17ttds | 8:d1c04f0e4890 | 219 | _changey = _speed; |
el17ttds | 8:d1c04f0e4890 | 220 | } else if (_d == NE) { |
el17ttds | 8:d1c04f0e4890 | 221 | _changex = -(_speed / 1.414); |
el17ttds | 8:d1c04f0e4890 | 222 | _changey = _speed / 1.414; |
el17ttds | 8:d1c04f0e4890 | 223 | } else if (_d == E) { |
el17ttds | 8:d1c04f0e4890 | 224 | _changex = -_speed; |
el17ttds | 8:d1c04f0e4890 | 225 | _changey = 0; |
el17ttds | 8:d1c04f0e4890 | 226 | } else if (_d == SE) { |
el17ttds | 8:d1c04f0e4890 | 227 | _changex = -(_speed / 1.414); |
el17ttds | 8:d1c04f0e4890 | 228 | _changey = -(_speed / 1.414); |
el17ttds | 8:d1c04f0e4890 | 229 | } else if (_d == S) { |
el17ttds | 8:d1c04f0e4890 | 230 | _changex = 0; |
el17ttds | 8:d1c04f0e4890 | 231 | _changey = -_speed; |
el17ttds | 8:d1c04f0e4890 | 232 | } else if (_d == SW) { |
el17ttds | 8:d1c04f0e4890 | 233 | _changex = _speed / 1.414; |
el17ttds | 8:d1c04f0e4890 | 234 | _changey = -(_speed / 1.414); |
el17ttds | 8:d1c04f0e4890 | 235 | } else if (_d == W) { |
el17ttds | 8:d1c04f0e4890 | 236 | _changex = _speed; |
el17ttds | 8:d1c04f0e4890 | 237 | _changey = 0; |
el17ttds | 8:d1c04f0e4890 | 238 | } else if (_d == NW) { |
el17ttds | 8:d1c04f0e4890 | 239 | _changex = _speed / 1.414; |
el17ttds | 8:d1c04f0e4890 | 240 | _changey = _speed / 1.414; |
el17ttds | 8:d1c04f0e4890 | 241 | } |
el17ttds | 8:d1c04f0e4890 | 242 | } |
el17ttds | 8:d1c04f0e4890 | 243 | |
el17ttds | 8:d1c04f0e4890 | 244 | void Missiles::check_collision_wall() { |
el17ttds | 8:d1c04f0e4890 | 245 | if ( (_m1x <= _map_x + 42) || |
el17ttds | 8:d1c04f0e4890 | 246 | (_m1x >= _map_x + 42 + 100) || |
el17ttds | 8:d1c04f0e4890 | 247 | (_m1y <= _map_y + 24) || |
el17ttds | 8:d1c04f0e4890 | 248 | (_m1y >= _map_y + 24 + 100) ) { |
el17ttds | 8:d1c04f0e4890 | 249 | _m1 = false; |
el17ttds | 8:d1c04f0e4890 | 250 | _m1x = -1; |
el17ttds | 8:d1c04f0e4890 | 251 | _m1y = -1; |
el17ttds | 8:d1c04f0e4890 | 252 | } |
el17ttds | 8:d1c04f0e4890 | 253 | if ( (_m2x <= _map_x + 42) || |
el17ttds | 8:d1c04f0e4890 | 254 | (_m2x >= _map_x + 42 + 100) || |
el17ttds | 8:d1c04f0e4890 | 255 | (_m2y <= _map_y + 24) || |
el17ttds | 8:d1c04f0e4890 | 256 | (_m2y >= _map_y + 24 + 100) ) { |
el17ttds | 8:d1c04f0e4890 | 257 | _m2 = false; |
el17ttds | 8:d1c04f0e4890 | 258 | _m2x = -1; |
el17ttds | 8:d1c04f0e4890 | 259 | _m2y = -1; |
el17ttds | 8:d1c04f0e4890 | 260 | } |
el17ttds | 8:d1c04f0e4890 | 261 | if ( (_m3x <= _map_x + 42) || |
el17ttds | 8:d1c04f0e4890 | 262 | (_m3x >= _map_x + 42 + 100) || |
el17ttds | 8:d1c04f0e4890 | 263 | (_m3y <= _map_y + 24) || |
el17ttds | 8:d1c04f0e4890 | 264 | (_m3y >= _map_y + 24 + 100) ) { |
el17ttds | 8:d1c04f0e4890 | 265 | _m3 = false; |
el17ttds | 8:d1c04f0e4890 | 266 | _m3x = -1; |
el17ttds | 8:d1c04f0e4890 | 267 | _m3y = -1; |
el17ttds | 8:d1c04f0e4890 | 268 | } |
el17ttds | 8:d1c04f0e4890 | 269 | } |
el17ttds | 9:3a0194c87afe | 270 | |
el17ttds | 9:3a0194c87afe | 271 | void Missiles::show_ammo(Gamepad &pad) { |
el17ttds | 9:3a0194c87afe | 272 | ammo = 0; |
el17ttds | 9:3a0194c87afe | 273 | frame_counter++; |
el17ttds | 9:3a0194c87afe | 274 | if (_ready1 == true) { |
el17ttds | 9:3a0194c87afe | 275 | ammo++; |
el17ttds | 9:3a0194c87afe | 276 | } |
el17ttds | 9:3a0194c87afe | 277 | if (_ready2 == true) { |
el17ttds | 9:3a0194c87afe | 278 | ammo++; |
el17ttds | 9:3a0194c87afe | 279 | } |
el17ttds | 9:3a0194c87afe | 280 | if (_ready3 == true) { |
el17ttds | 9:3a0194c87afe | 281 | ammo++; |
el17ttds | 9:3a0194c87afe | 282 | } |
el17ttds | 9:3a0194c87afe | 283 | if (ammo == 3) { |
el17ttds | 9:3a0194c87afe | 284 | pad.led(4, 1); |
el17ttds | 9:3a0194c87afe | 285 | pad.led(5, 1); |
el17ttds | 9:3a0194c87afe | 286 | pad.led(6, 1); |
el17ttds | 9:3a0194c87afe | 287 | } else if (ammo == 2) { |
el17ttds | 9:3a0194c87afe | 288 | pad.led(4, 1); |
el17ttds | 9:3a0194c87afe | 289 | pad.led(5, 1); |
el17ttds | 9:3a0194c87afe | 290 | pad.led(6, 0); |
el17ttds | 9:3a0194c87afe | 291 | } else if (ammo == 1) { |
el17ttds | 9:3a0194c87afe | 292 | pad.led(4, 1); |
el17ttds | 9:3a0194c87afe | 293 | pad.led(5, 0); |
el17ttds | 9:3a0194c87afe | 294 | pad.led(6, 0); |
el17ttds | 9:3a0194c87afe | 295 | } else { |
el17ttds | 9:3a0194c87afe | 296 | if (frame_counter%5 > 3) { |
el17ttds | 9:3a0194c87afe | 297 | pad.led(4, 1); |
el17ttds | 9:3a0194c87afe | 298 | } else { |
el17ttds | 9:3a0194c87afe | 299 | pad.led(4, 0); |
el17ttds | 9:3a0194c87afe | 300 | } |
el17ttds | 9:3a0194c87afe | 301 | pad.led(5, 0); |
el17ttds | 9:3a0194c87afe | 302 | pad.led(6, 0); |
el17ttds | 9:3a0194c87afe | 303 | } |
el17ttds | 9:3a0194c87afe | 304 | } |