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
Diff: Animation/Animation.cpp
- Revision:
- 4:1f7f32f3e017
- Child:
- 5:158e2951654b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/Animation.cpp Mon Apr 24 22:32:40 2017 +0000 @@ -0,0 +1,189 @@ +#include "Animation.h" + +Animation::Animation() +{ + +} + +Animation::~Animation() +{ + +} + +void Animation::spawn(N5110 &lcd, intVector2D starting_position) +{ + if (spawnCycle == 0) + { + lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(starting_position.x, starting_position.y - 1, false); + lcd.setPixel(starting_position.x + 2, starting_position.y - 1, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(starting_position.x - 1, starting_position.y - 1, false); + lcd.setPixel(starting_position.x + 3, starting_position.y - 1, false); + lcd.setPixel(starting_position.x, starting_position.y - 1); + lcd.setPixel(starting_position.x + 2, starting_position.y - 1); + lcd.setPixel(starting_position.x + 1, starting_position.y - 1); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false); + lcd.setPixel(starting_position.x, starting_position.y); + lcd.setPixel(starting_position.x + 2, starting_position.y); + lcd.setPixel(starting_position.x + 1, starting_position.y); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(starting_position.x + 1, starting_position.y - 1); + lcd.setPixel(starting_position.x + 1, starting_position.y, false); + lcd.setPixel(starting_position.x, starting_position.y + 1); + lcd.setPixel(starting_position.x + 2, starting_position.y + 1); + lcd.setPixel(starting_position.x + 1, starting_position.y + 1); + lcd.refresh(); + wait(0.1); + + spawnCycle++; + } + else if (spawnCycle == 1) + { + lcd.setPixel(starting_position.x, starting_position.y - 1, false); + lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false); + lcd.setPixel(starting_position.x + 2, starting_position.y - 1, false); + spawnCycle++; + } + else if (spawnCycle == 2) + { + lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false); + spawnCycle++; + } +} + +void Animation::death(N5110 &lcd, intVector2D position, int frame) +{ + if (frame == 0) + { + lcd.setPixel(position.x + 1, position.y, false); + lcd.setPixel(position.x, position.y + 1, false); + lcd.setPixel(position.x + 1, position.y + 2, false); + lcd.setPixel(position.x + 2, position.y + 1, false); + lcd.setPixel(position.x + 1, position.y - 1); + lcd.setPixel(position.x - 1, position.y + 1); + lcd.setPixel(position.x + 1, position.y + 3); + lcd.setPixel(position.x + 3, position.y + 1); + } + else if (frame == 1) + { + lcd.setPixel(position.x + 1, position.y - 1, false); + lcd.setPixel(position.x - 1, position.y + 1, false); + lcd.setPixel(position.x + 1, position.y + 3, false); + lcd.setPixel(position.x + 3, position.y + 1, false); + lcd.setPixel(position.x, position.y, false); + lcd.setPixel(position.x + 2, position.y + 2, false); + lcd.setPixel(position.x + 2, position.y, false); + lcd.setPixel(position.x, position.y + 2, false); + lcd.setPixel(position.x, position.y - 1); + lcd.setPixel(position.x - 1, position.y); + lcd.setPixel(position.x + 3, position.y); + lcd.setPixel(position.x + 2, position.y - 1); + lcd.setPixel(position.x - 1, position.y + 2); + lcd.setPixel(position.x, position.y + 3); + lcd.setPixel(position.x + 3, position.y + 2); + lcd.setPixel(position.x + 2, position.y + 3); + } + else if (frame == 2) + { + lcd.setPixel(position.x, position.y - 1, false); + lcd.setPixel(position.x - 1, position.y, false); + lcd.setPixel(position.x + 3, position.y, false); + lcd.setPixel(position.x + 2, position.y - 1, false); + lcd.setPixel(position.x - 1, position.y + 2, false); + lcd.setPixel(position.x, position.y + 3, false); + lcd.setPixel(position.x + 3, position.y + 2, false); + lcd.setPixel(position.x + 2, position.y + 3, false); + lcd.setPixel(position.x, position.y - 2); + lcd.setPixel(position.x - 2, position.y); + lcd.setPixel(position.x + 4, position.y); + lcd.setPixel(position.x + 2, position.y - 2); + lcd.setPixel(position.x - 2, position.y + 2); + lcd.setPixel(position.x, position.y + 4); + lcd.setPixel(position.x + 4, position.y + 2); + lcd.setPixel(position.x + 2, position.y + 4); + } + else if (frame == 3) + { + lcd.setPixel(position.x, position.y - 2, false); + lcd.setPixel(position.x - 2, position.y, false); + lcd.setPixel(position.x + 4, position.y, false); + lcd.setPixel(position.x + 2, position.y - 2, false); + lcd.setPixel(position.x - 2, position.y + 2, false); + lcd.setPixel(position.x, position.y + 4, false); + lcd.setPixel(position.x + 4, position.y + 2, false); + lcd.setPixel(position.x + 2, position.y + 4, false); + } +} + +void Animation::finish(N5110 &lcd, intVector2D finish_position) +{ + lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y - 1, false); + lcd.setPixel(finish_position.x + 3, finish_position.y + 2); + lcd.setPixel(finish_position.x + 3, finish_position.y + 1); + lcd.setPixel(finish_position.x + 3, finish_position.y); + lcd.setPixel(finish_position.x + 2, finish_position.y + 1, false); + lcd.setPixel(finish_position.x + 1, finish_position.y + 1); + lcd.setPixel(finish_position.x, finish_position.y, false); + lcd.setPixel(finish_position.x, finish_position.y + 1, false); + lcd.setPixel(finish_position.x, finish_position.y + 2, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 1, finish_position.y, false); + lcd.setPixel(finish_position.x + 1, finish_position.y + 1, false); + lcd.setPixel(finish_position.x + 1, finish_position.y + 2, false); + lcd.setPixel(finish_position.x + 2, finish_position.y + 1); + lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 2, finish_position.y, false); + lcd.setPixel(finish_position.x + 2, finish_position.y + 1, false); + lcd.setPixel(finish_position.x + 2, finish_position.y + 2, false); + lcd.setPixel(finish_position.x + 3, finish_position.y + 1); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y, false); + lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false); + lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false); + lcd.setPixel(finish_position.x + 3, finish_position.y - 1); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y + 1); + lcd.refresh(); + wait(0.1); + + lcd.setPixel(finish_position.x + 3, finish_position.y + 2); + lcd.refresh(); + wait(0.1); +} +