Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Spikes/Spikes.cpp@18:c600a6545e81, 2020-05-20 (annotated)
- Committer:
- el18jgb
- Date:
- Wed May 20 14:37:02 2020 +0000
- Revision:
- 18:c600a6545e81
- Parent:
- 17:18ae81180853
- Child:
- 19:33c77517cb88
spikemode uses accelerometer ;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18jgb | 9:2836fc3d9ede | 1 | #include "Spikes.h" |
el18jgb | 9:2836fc3d9ede | 2 | |
el18jgb | 9:2836fc3d9ede | 3 | const int spike [5][5] = |
el18jgb | 9:2836fc3d9ede | 4 | { |
el18jgb | 9:2836fc3d9ede | 5 | {0,0,1,0,0}, |
el18jgb | 9:2836fc3d9ede | 6 | {0,0,1,0,0}, |
el18jgb | 9:2836fc3d9ede | 7 | {1,1,1,1,1}, |
el18jgb | 9:2836fc3d9ede | 8 | {0,1,1,1,0}, |
el18jgb | 9:2836fc3d9ede | 9 | {0,0,1,0,0}, |
el18jgb | 9:2836fc3d9ede | 10 | }; |
el18jgb | 9:2836fc3d9ede | 11 | |
el18jgb | 18:c600a6545e81 | 12 | const int spike2 [5][5] = |
el18jgb | 18:c600a6545e81 | 13 | { |
el18jgb | 18:c600a6545e81 | 14 | {0,0,1,0,0}, |
el18jgb | 18:c600a6545e81 | 15 | {0,0,1,1,0}, |
el18jgb | 18:c600a6545e81 | 16 | {1,1,1,1,1}, |
el18jgb | 18:c600a6545e81 | 17 | {0,0,1,1,0}, |
el18jgb | 18:c600a6545e81 | 18 | {0,0,1,0,0}, |
el18jgb | 18:c600a6545e81 | 19 | }; |
el18jgb | 18:c600a6545e81 | 20 | |
el18jgb | 18:c600a6545e81 | 21 | const int spike3 [5][5] = |
el18jgb | 18:c600a6545e81 | 22 | { |
el18jgb | 18:c600a6545e81 | 23 | {0,0,1,0,0}, |
el18jgb | 18:c600a6545e81 | 24 | {0,1,1,0,0}, |
el18jgb | 18:c600a6545e81 | 25 | {1,1,1,1,1}, |
el18jgb | 18:c600a6545e81 | 26 | {0,1,1,0,0}, |
el18jgb | 18:c600a6545e81 | 27 | {0,0,1,0,0}, |
el18jgb | 18:c600a6545e81 | 28 | }; |
el18jgb | 18:c600a6545e81 | 29 | |
el18jgb | 9:2836fc3d9ede | 30 | Spikes::Spikes() |
el18jgb | 9:2836fc3d9ede | 31 | { |
el18jgb | 9:2836fc3d9ede | 32 | |
el18jgb | 9:2836fc3d9ede | 33 | } |
el18jgb | 9:2836fc3d9ede | 34 | |
el18jgb | 9:2836fc3d9ede | 35 | Spikes::~Spikes() |
el18jgb | 9:2836fc3d9ede | 36 | { |
el18jgb | 9:2836fc3d9ede | 37 | |
el18jgb | 9:2836fc3d9ede | 38 | } |
el18jgb | 9:2836fc3d9ede | 39 | |
el18jgb | 9:2836fc3d9ede | 40 | void Spikes::init(){ |
el18jgb | 9:2836fc3d9ede | 41 | _x = 0; |
el18jgb | 9:2836fc3d9ede | 42 | _y = 0; |
el18jgb | 9:2836fc3d9ede | 43 | _height = 5; |
el18jgb | 9:2836fc3d9ede | 44 | _width = 5; |
el18jgb | 9:2836fc3d9ede | 45 | |
el18jgb | 9:2836fc3d9ede | 46 | _speed = 3; |
el18jgb | 9:2836fc3d9ede | 47 | } |
el18jgb | 9:2836fc3d9ede | 48 | |
el18jgb | 9:2836fc3d9ede | 49 | |
el18jgb | 9:2836fc3d9ede | 50 | void Spikes::draw(N5110 &lcd) |
el18jgb | 9:2836fc3d9ede | 51 | { |
el18jgb | 9:2836fc3d9ede | 52 | // draw spike |
el18jgb | 9:2836fc3d9ede | 53 | lcd.drawSprite(_x,_y,5,5,(int*)spike); |
el18jgb | 9:2836fc3d9ede | 54 | |
el18jgb | 9:2836fc3d9ede | 55 | } |
el18jgb | 18:c600a6545e81 | 56 | void Spikes::draw2(N5110 &lcd) |
el18jgb | 18:c600a6545e81 | 57 | { |
el18jgb | 18:c600a6545e81 | 58 | // draw spike |
el18jgb | 18:c600a6545e81 | 59 | lcd.drawSprite(_x,_y,5,5,(int*)spike2); |
el18jgb | 18:c600a6545e81 | 60 | |
el18jgb | 18:c600a6545e81 | 61 | } |
el18jgb | 18:c600a6545e81 | 62 | void Spikes::draw3(N5110 &lcd) |
el18jgb | 18:c600a6545e81 | 63 | { |
el18jgb | 18:c600a6545e81 | 64 | // draw spike |
el18jgb | 18:c600a6545e81 | 65 | lcd.drawSprite(_x,_y,5,5,(int*)spike3); |
el18jgb | 18:c600a6545e81 | 66 | |
el18jgb | 18:c600a6545e81 | 67 | } |
el18jgb | 9:2836fc3d9ede | 68 | |
el18jgb | 9:2836fc3d9ede | 69 | void Spikes::position(int x) |
el18jgb | 9:2836fc3d9ede | 70 | { |
el18jgb | 9:2836fc3d9ede | 71 | if (x == 1){ |
el18jgb | 9:2836fc3d9ede | 72 | _x = rand() % 37 + 1; |
el18jgb | 9:2836fc3d9ede | 73 | _y = 1; |
el18jgb | 9:2836fc3d9ede | 74 | } |
el18jgb | 9:2836fc3d9ede | 75 | if (x == 2){ |
el18jgb | 10:6c574b8524df | 76 | _x = rand() % 37 + 42; |
el18jgb | 9:2836fc3d9ede | 77 | _y = 1; |
el18jgb | 9:2836fc3d9ede | 78 | } |
el18jgb | 17:18ae81180853 | 79 | if (x == 3){ |
el18jgb | 17:18ae81180853 | 80 | _y = rand() % 19 + 1; |
el18jgb | 18:c600a6545e81 | 81 | _x = 84; |
el18jgb | 17:18ae81180853 | 82 | } |
el18jgb | 17:18ae81180853 | 83 | if (x == 4){ |
el18jgb | 17:18ae81180853 | 84 | _y = rand() % 19 + 24; |
el18jgb | 17:18ae81180853 | 85 | _x = 1; |
el18jgb | 17:18ae81180853 | 86 | } |
el18jgb | 9:2836fc3d9ede | 87 | } |
el18jgb | 9:2836fc3d9ede | 88 | |
el18jgb | 17:18ae81180853 | 89 | void Spikes::updatey() |
el18jgb | 9:2836fc3d9ede | 90 | { |
el18jgb | 9:2836fc3d9ede | 91 | _y = _y + 3; |
el18jgb | 9:2836fc3d9ede | 92 | } |
el18jgb | 9:2836fc3d9ede | 93 | |
el18jgb | 17:18ae81180853 | 94 | void Spikes::updatex() |
el18jgb | 17:18ae81180853 | 95 | { |
el18jgb | 17:18ae81180853 | 96 | _x = _x + 3; |
el18jgb | 17:18ae81180853 | 97 | } |
el18jgb | 17:18ae81180853 | 98 | |
el18jgb | 18:c600a6545e81 | 99 | void Spikes::updatexn() |
el18jgb | 18:c600a6545e81 | 100 | { |
el18jgb | 18:c600a6545e81 | 101 | _x = _x - 3; |
el18jgb | 18:c600a6545e81 | 102 | } |
el18jgb | 18:c600a6545e81 | 103 | |
el18jgb | 17:18ae81180853 | 104 | |
el18jgb | 9:2836fc3d9ede | 105 | Vector2D Spikes::get_pos() { |
el18jgb | 9:2836fc3d9ede | 106 | Vector2D p = {_x,_y}; |
el18jgb | 9:2836fc3d9ede | 107 | return p; |
el18jgb | 10:6c574b8524df | 108 | } |
el18jgb | 10:6c574b8524df | 109 | |
el18jgb | 10:6c574b8524df | 110 | void Spikes::hit(Gamepad &pad) |
el18jgb | 10:6c574b8524df | 111 | { |
el18jgb | 10:6c574b8524df | 112 | pad.led(1,1); |
el18jgb | 10:6c574b8524df | 113 | pad.led(4,1); |
el18jgb | 17:18ae81180853 | 114 | wait(0.2); |
el18jgb | 17:18ae81180853 | 115 | pad.leds_off(); |
el18jgb | 10:6c574b8524df | 116 | } |
el18jgb | 10:6c574b8524df | 117 | |
el18jgb | 10:6c574b8524df | 118 |