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
Animation/Animation.cpp
- Committer:
- el15as
- Date:
- 2017-05-02
- Revision:
- 7:b54323241435
- Parent:
- 6:33fd1797beb4
- Child:
- 8:c3cf8d1057bb
File content as of revision 7:b54323241435:
#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, Gamepad &pad, bool soundOn) { lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false); lcd.refresh(); if (soundOn) pad.tone(523.25f,0.1f); wait(0.1); lcd.setPixel(finish_position.x + 3, finish_position.y + 1, false); lcd.refresh(); if (soundOn) pad.tone(659.25f,0.1f); wait(0.1); lcd.setPixel(finish_position.x + 3, finish_position.y, false); lcd.refresh(); if (soundOn) pad.tone(784.0f,0.1f); 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(); if (soundOn) pad.tone(1046.5f,0.1f); 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); } /* void GameEngine::draw_death_animation(N5110 &lcd) { int y = 0; int animation_width = 84; int animation_height = 48; for (int x = 0; x < 23; x++) { lcd.drawRect(x, y, animation_width, animation_height, FILL_TRANSPARENT); lcd.refresh(); y++; animation_width = animation_width - 2; animation_height = animation_height - 2; wait(0.03); } } */