ELEC2645 (2016/17) / Mbed 2 deprecated 2645_Project_el15as

Dependencies:   mbed

Committer:
el15as
Date:
Mon Apr 24 22:32:40 2017 +0000
Revision:
4:1f7f32f3e017
Child:
5:158e2951654b
Cleaned up the code and moved some of the code into a separate classes called Level and Animation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el15as 4:1f7f32f3e017 1 #include "Animation.h"
el15as 4:1f7f32f3e017 2
el15as 4:1f7f32f3e017 3 Animation::Animation()
el15as 4:1f7f32f3e017 4 {
el15as 4:1f7f32f3e017 5
el15as 4:1f7f32f3e017 6 }
el15as 4:1f7f32f3e017 7
el15as 4:1f7f32f3e017 8 Animation::~Animation()
el15as 4:1f7f32f3e017 9 {
el15as 4:1f7f32f3e017 10
el15as 4:1f7f32f3e017 11 }
el15as 4:1f7f32f3e017 12
el15as 4:1f7f32f3e017 13 void Animation::spawn(N5110 &lcd, intVector2D starting_position)
el15as 4:1f7f32f3e017 14 {
el15as 4:1f7f32f3e017 15 if (spawnCycle == 0)
el15as 4:1f7f32f3e017 16 {
el15as 4:1f7f32f3e017 17 lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 18 lcd.refresh();
el15as 4:1f7f32f3e017 19 wait(0.1);
el15as 4:1f7f32f3e017 20
el15as 4:1f7f32f3e017 21 lcd.setPixel(starting_position.x, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 22 lcd.setPixel(starting_position.x + 2, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 23 lcd.refresh();
el15as 4:1f7f32f3e017 24 wait(0.1);
el15as 4:1f7f32f3e017 25
el15as 4:1f7f32f3e017 26 lcd.setPixel(starting_position.x - 1, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 27 lcd.setPixel(starting_position.x + 3, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 28 lcd.setPixel(starting_position.x, starting_position.y - 1);
el15as 4:1f7f32f3e017 29 lcd.setPixel(starting_position.x + 2, starting_position.y - 1);
el15as 4:1f7f32f3e017 30 lcd.setPixel(starting_position.x + 1, starting_position.y - 1);
el15as 4:1f7f32f3e017 31 lcd.refresh();
el15as 4:1f7f32f3e017 32 wait(0.1);
el15as 4:1f7f32f3e017 33
el15as 4:1f7f32f3e017 34 lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 35 lcd.setPixel(starting_position.x, starting_position.y);
el15as 4:1f7f32f3e017 36 lcd.setPixel(starting_position.x + 2, starting_position.y);
el15as 4:1f7f32f3e017 37 lcd.setPixel(starting_position.x + 1, starting_position.y);
el15as 4:1f7f32f3e017 38 lcd.refresh();
el15as 4:1f7f32f3e017 39 wait(0.1);
el15as 4:1f7f32f3e017 40
el15as 4:1f7f32f3e017 41 lcd.setPixel(starting_position.x + 1, starting_position.y - 1);
el15as 4:1f7f32f3e017 42 lcd.setPixel(starting_position.x + 1, starting_position.y, false);
el15as 4:1f7f32f3e017 43 lcd.setPixel(starting_position.x, starting_position.y + 1);
el15as 4:1f7f32f3e017 44 lcd.setPixel(starting_position.x + 2, starting_position.y + 1);
el15as 4:1f7f32f3e017 45 lcd.setPixel(starting_position.x + 1, starting_position.y + 1);
el15as 4:1f7f32f3e017 46 lcd.refresh();
el15as 4:1f7f32f3e017 47 wait(0.1);
el15as 4:1f7f32f3e017 48
el15as 4:1f7f32f3e017 49 spawnCycle++;
el15as 4:1f7f32f3e017 50 }
el15as 4:1f7f32f3e017 51 else if (spawnCycle == 1)
el15as 4:1f7f32f3e017 52 {
el15as 4:1f7f32f3e017 53 lcd.setPixel(starting_position.x, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 54 lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 55 lcd.setPixel(starting_position.x + 2, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 56 spawnCycle++;
el15as 4:1f7f32f3e017 57 }
el15as 4:1f7f32f3e017 58 else if (spawnCycle == 2)
el15as 4:1f7f32f3e017 59 {
el15as 4:1f7f32f3e017 60 lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false);
el15as 4:1f7f32f3e017 61 spawnCycle++;
el15as 4:1f7f32f3e017 62 }
el15as 4:1f7f32f3e017 63 }
el15as 4:1f7f32f3e017 64
el15as 4:1f7f32f3e017 65 void Animation::death(N5110 &lcd, intVector2D position, int frame)
el15as 4:1f7f32f3e017 66 {
el15as 4:1f7f32f3e017 67 if (frame == 0)
el15as 4:1f7f32f3e017 68 {
el15as 4:1f7f32f3e017 69 lcd.setPixel(position.x + 1, position.y, false);
el15as 4:1f7f32f3e017 70 lcd.setPixel(position.x, position.y + 1, false);
el15as 4:1f7f32f3e017 71 lcd.setPixel(position.x + 1, position.y + 2, false);
el15as 4:1f7f32f3e017 72 lcd.setPixel(position.x + 2, position.y + 1, false);
el15as 4:1f7f32f3e017 73 lcd.setPixel(position.x + 1, position.y - 1);
el15as 4:1f7f32f3e017 74 lcd.setPixel(position.x - 1, position.y + 1);
el15as 4:1f7f32f3e017 75 lcd.setPixel(position.x + 1, position.y + 3);
el15as 4:1f7f32f3e017 76 lcd.setPixel(position.x + 3, position.y + 1);
el15as 4:1f7f32f3e017 77 }
el15as 4:1f7f32f3e017 78 else if (frame == 1)
el15as 4:1f7f32f3e017 79 {
el15as 4:1f7f32f3e017 80 lcd.setPixel(position.x + 1, position.y - 1, false);
el15as 4:1f7f32f3e017 81 lcd.setPixel(position.x - 1, position.y + 1, false);
el15as 4:1f7f32f3e017 82 lcd.setPixel(position.x + 1, position.y + 3, false);
el15as 4:1f7f32f3e017 83 lcd.setPixel(position.x + 3, position.y + 1, false);
el15as 4:1f7f32f3e017 84 lcd.setPixel(position.x, position.y, false);
el15as 4:1f7f32f3e017 85 lcd.setPixel(position.x + 2, position.y + 2, false);
el15as 4:1f7f32f3e017 86 lcd.setPixel(position.x + 2, position.y, false);
el15as 4:1f7f32f3e017 87 lcd.setPixel(position.x, position.y + 2, false);
el15as 4:1f7f32f3e017 88 lcd.setPixel(position.x, position.y - 1);
el15as 4:1f7f32f3e017 89 lcd.setPixel(position.x - 1, position.y);
el15as 4:1f7f32f3e017 90 lcd.setPixel(position.x + 3, position.y);
el15as 4:1f7f32f3e017 91 lcd.setPixel(position.x + 2, position.y - 1);
el15as 4:1f7f32f3e017 92 lcd.setPixel(position.x - 1, position.y + 2);
el15as 4:1f7f32f3e017 93 lcd.setPixel(position.x, position.y + 3);
el15as 4:1f7f32f3e017 94 lcd.setPixel(position.x + 3, position.y + 2);
el15as 4:1f7f32f3e017 95 lcd.setPixel(position.x + 2, position.y + 3);
el15as 4:1f7f32f3e017 96 }
el15as 4:1f7f32f3e017 97 else if (frame == 2)
el15as 4:1f7f32f3e017 98 {
el15as 4:1f7f32f3e017 99 lcd.setPixel(position.x, position.y - 1, false);
el15as 4:1f7f32f3e017 100 lcd.setPixel(position.x - 1, position.y, false);
el15as 4:1f7f32f3e017 101 lcd.setPixel(position.x + 3, position.y, false);
el15as 4:1f7f32f3e017 102 lcd.setPixel(position.x + 2, position.y - 1, false);
el15as 4:1f7f32f3e017 103 lcd.setPixel(position.x - 1, position.y + 2, false);
el15as 4:1f7f32f3e017 104 lcd.setPixel(position.x, position.y + 3, false);
el15as 4:1f7f32f3e017 105 lcd.setPixel(position.x + 3, position.y + 2, false);
el15as 4:1f7f32f3e017 106 lcd.setPixel(position.x + 2, position.y + 3, false);
el15as 4:1f7f32f3e017 107 lcd.setPixel(position.x, position.y - 2);
el15as 4:1f7f32f3e017 108 lcd.setPixel(position.x - 2, position.y);
el15as 4:1f7f32f3e017 109 lcd.setPixel(position.x + 4, position.y);
el15as 4:1f7f32f3e017 110 lcd.setPixel(position.x + 2, position.y - 2);
el15as 4:1f7f32f3e017 111 lcd.setPixel(position.x - 2, position.y + 2);
el15as 4:1f7f32f3e017 112 lcd.setPixel(position.x, position.y + 4);
el15as 4:1f7f32f3e017 113 lcd.setPixel(position.x + 4, position.y + 2);
el15as 4:1f7f32f3e017 114 lcd.setPixel(position.x + 2, position.y + 4);
el15as 4:1f7f32f3e017 115 }
el15as 4:1f7f32f3e017 116 else if (frame == 3)
el15as 4:1f7f32f3e017 117 {
el15as 4:1f7f32f3e017 118 lcd.setPixel(position.x, position.y - 2, false);
el15as 4:1f7f32f3e017 119 lcd.setPixel(position.x - 2, position.y, false);
el15as 4:1f7f32f3e017 120 lcd.setPixel(position.x + 4, position.y, false);
el15as 4:1f7f32f3e017 121 lcd.setPixel(position.x + 2, position.y - 2, false);
el15as 4:1f7f32f3e017 122 lcd.setPixel(position.x - 2, position.y + 2, false);
el15as 4:1f7f32f3e017 123 lcd.setPixel(position.x, position.y + 4, false);
el15as 4:1f7f32f3e017 124 lcd.setPixel(position.x + 4, position.y + 2, false);
el15as 4:1f7f32f3e017 125 lcd.setPixel(position.x + 2, position.y + 4, false);
el15as 4:1f7f32f3e017 126 }
el15as 4:1f7f32f3e017 127 }
el15as 4:1f7f32f3e017 128
el15as 4:1f7f32f3e017 129 void Animation::finish(N5110 &lcd, intVector2D finish_position)
el15as 4:1f7f32f3e017 130 {
el15as 4:1f7f32f3e017 131 lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false);
el15as 4:1f7f32f3e017 132 lcd.refresh();
el15as 4:1f7f32f3e017 133 wait(0.1);
el15as 4:1f7f32f3e017 134
el15as 4:1f7f32f3e017 135 lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 136 lcd.refresh();
el15as 4:1f7f32f3e017 137 wait(0.1);
el15as 4:1f7f32f3e017 138
el15as 4:1f7f32f3e017 139 lcd.setPixel(finish_position.x + 3, finish_position.y, false);
el15as 4:1f7f32f3e017 140 lcd.refresh();
el15as 4:1f7f32f3e017 141 wait(0.1);
el15as 4:1f7f32f3e017 142
el15as 4:1f7f32f3e017 143 lcd.setPixel(finish_position.x + 3, finish_position.y - 1, false);
el15as 4:1f7f32f3e017 144 lcd.setPixel(finish_position.x + 3, finish_position.y + 2);
el15as 4:1f7f32f3e017 145 lcd.setPixel(finish_position.x + 3, finish_position.y + 1);
el15as 4:1f7f32f3e017 146 lcd.setPixel(finish_position.x + 3, finish_position.y);
el15as 4:1f7f32f3e017 147 lcd.setPixel(finish_position.x + 2, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 148 lcd.setPixel(finish_position.x + 1, finish_position.y + 1);
el15as 4:1f7f32f3e017 149 lcd.setPixel(finish_position.x, finish_position.y, false);
el15as 4:1f7f32f3e017 150 lcd.setPixel(finish_position.x, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 151 lcd.setPixel(finish_position.x, finish_position.y + 2, false);
el15as 4:1f7f32f3e017 152 lcd.refresh();
el15as 4:1f7f32f3e017 153 wait(0.1);
el15as 4:1f7f32f3e017 154
el15as 4:1f7f32f3e017 155 lcd.setPixel(finish_position.x + 1, finish_position.y, false);
el15as 4:1f7f32f3e017 156 lcd.setPixel(finish_position.x + 1, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 157 lcd.setPixel(finish_position.x + 1, finish_position.y + 2, false);
el15as 4:1f7f32f3e017 158 lcd.setPixel(finish_position.x + 2, finish_position.y + 1);
el15as 4:1f7f32f3e017 159 lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 160 lcd.refresh();
el15as 4:1f7f32f3e017 161 wait(0.1);
el15as 4:1f7f32f3e017 162
el15as 4:1f7f32f3e017 163 lcd.setPixel(finish_position.x + 2, finish_position.y, false);
el15as 4:1f7f32f3e017 164 lcd.setPixel(finish_position.x + 2, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 165 lcd.setPixel(finish_position.x + 2, finish_position.y + 2, false);
el15as 4:1f7f32f3e017 166 lcd.setPixel(finish_position.x + 3, finish_position.y + 1);
el15as 4:1f7f32f3e017 167 lcd.refresh();
el15as 4:1f7f32f3e017 168 wait(0.1);
el15as 4:1f7f32f3e017 169
el15as 4:1f7f32f3e017 170 lcd.setPixel(finish_position.x + 3, finish_position.y, false);
el15as 4:1f7f32f3e017 171 lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false);
el15as 4:1f7f32f3e017 172 lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false);
el15as 4:1f7f32f3e017 173 lcd.setPixel(finish_position.x + 3, finish_position.y - 1);
el15as 4:1f7f32f3e017 174 lcd.refresh();
el15as 4:1f7f32f3e017 175 wait(0.1);
el15as 4:1f7f32f3e017 176
el15as 4:1f7f32f3e017 177 lcd.setPixel(finish_position.x + 3, finish_position.y);
el15as 4:1f7f32f3e017 178 lcd.refresh();
el15as 4:1f7f32f3e017 179 wait(0.1);
el15as 4:1f7f32f3e017 180
el15as 4:1f7f32f3e017 181 lcd.setPixel(finish_position.x + 3, finish_position.y + 1);
el15as 4:1f7f32f3e017 182 lcd.refresh();
el15as 4:1f7f32f3e017 183 wait(0.1);
el15as 4:1f7f32f3e017 184
el15as 4:1f7f32f3e017 185 lcd.setPixel(finish_position.x + 3, finish_position.y + 2);
el15as 4:1f7f32f3e017 186 lcd.refresh();
el15as 4:1f7f32f3e017 187 wait(0.1);
el15as 4:1f7f32f3e017 188 }
el15as 4:1f7f32f3e017 189