Adam Baker 201166301
Dependencies: mbed Gamepad N5110
Diff: Animation/Animation.cpp
- Revision:
- 50:9fc8edf722a8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Animation/Animation.cpp Thu May 09 12:10:41 2019 +0000 @@ -0,0 +1,624 @@ +#include "Animation.h" + +// nothing doing in the constructor and destructor +Animation::Animation() +{ + +} + + + +Animation::~Animation() +{ + +} + + + +void Animation::standing(int x, int y, N5110 &lcd) //displays standing sprite +{ + + const int standing[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {1,0,1,1,1,1,1,0,1}, + {1,0,1,1,1,1,1,0,1}, + {1,0,1,1,1,1,1,0,1}, + {1,0,1,1,1,1,1,0,1}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)standing); + +} + + + +void Animation::runRightOne(int x, int y, N5110 &lcd) //displays running right sprite one +{ + + const int runRightOne[12][9] = { + + {0,0,0,0,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0}, + {1,1,1,0,0,0,0,0,0}, + {1,0,1,1,1,1,1,0,0}, + {1,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,1,1}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,0,0,0,0,1,0}, + {0,0,1,0,0,0,0,1,0}, + {1,1,0,0,0,0,0,0,1}, + {0,0,0,0,0,0,0,0,1}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)runRightOne); + +} + + + +void Animation::runRightTwo(int x, int y, N5110 &lcd) //displays running right sprite two +{ + + const int runRightTwo[12][9] = { + + {0,0,0,0,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)runRightTwo); + +} + + + +void Animation::runLeftOne(int x, int y, N5110 &lcd) //display running left sprite one +{ + + const int runLeftOne[12][9] = { + + {0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,1,1,1}, + {0,0,1,1,1,1,1,0,1}, + {0,0,1,1,1,1,1,0,1}, + {1,1,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,1,0,0,0,0,1,0,0}, + {0,1,0,0,0,0,1,0,0}, + {1,0,0,0,0,0,0,1,1}, + {1,0,0,0,0,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)runLeftOne); + +} + + + +void Animation::runLeftTwo(int x, int y, N5110 &lcd) //displays running left sprite two +{ + + const int runLeftTwo[12][9] = { + + {0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,0,1,1,1,1,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)runLeftTwo); + +} + + + +void Animation::walkRightOne(int x, int y, N5110 &lcd) //displays walking right sprite one +{ + + const int walkRightOne[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,1,0,0,0,0,1,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkRightOne); + +} + + + +void Animation::walkRightTwo(int x, int y, N5110 &lcd) //displays walking right sprite two +{ + + const int walkRightTwo[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,0,0}, + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,0,1,0,0,0}, + {0,1,1,0,0,1,0,0,0}, + {0,0,0,0,0,1,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkRightTwo); + +} + + + +void Animation::walkRightThree(int x, int y, N5110 &lcd) //displays walking right sprite three +{ + + const int walkRightThree[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,0,0,1,1,0,0,0}, + {0,0,0,0,1,1,0,0,0}, + {0,0,0,1,1,0,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkRightThree); + +} + + + +void Animation::walkRightFour(int x, int y, N5110 &lcd) //displays walking right sprite four +{ + + const int walkRightFour[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,0,1,0,0,1,0,0}, + {0,0,0,1,0,0,1,0,0}, + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,0,1,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkRightFour); + +} + + + +void Animation::walkLeftOne(int x, int y, N5110 &lcd) //displays walking left sprite one +{ + + const int walkLeftOne[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,0}, + {0,0,1,1,1,1,1,1,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,0,1,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkLeftOne); + +} + + + +void Animation::walkLeftTwo(int x, int y, N5110 &lcd) //displays walking left sprite two +{ + + const int walkLeftTwo[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,0}, + {0,0,1,1,1,1,1,1,0}, + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,0,0,1,1,0}, + {0,0,0,1,0,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkLeftTwo); + +} + + + +void Animation::walkLeftThree(int x, int y, N5110 &lcd) //displays walking left sprite three +{ + + const int walkLeftThree[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,0,1,1,0,0,0,0}, + {0,0,0,1,1,0,0,0,0}, + {0,0,0,0,1,1,0,0,0}, + {0,0,0,0,1,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkLeftThree); + +} + + + +void Animation::walkLeftFour(int x, int y, N5110 &lcd) //displays walking left sprte four +{ + + const int walkLeftFour[12][9] = { + + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,0,0,1,0,0,0}, + {0,0,1,0,0,1,0,0,0}, + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,0,1,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)walkLeftFour); + +} + + + +void Animation::falling(int x, int y, N5110 &lcd) //displays falling sprite +{ + + const int falling[12][9] = { + {1,0,0,1,1,1,0,0,1}, + {1,0,0,1,1,1,0,0,1}, + {1,0,0,1,1,1,0,0,1}, + {1,0,0,0,0,0,0,0,1}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)falling); + +} + + + +void Animation::fallingLeft(int x, int y, N5110 &lcd) //displays falling left sprite +{ + + const int fallingLeft[12][9] = { + {1,0,1,1,1,0,0,0,1}, + {1,0,1,1,1,0,0,0,1}, + {1,0,1,1,1,0,0,0,1}, + {1,0,0,0,0,0,0,0,1}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,1,0,0,0,1,0,0,0}, + {0,1,0,0,0,1,0,0,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,0,1,0,0,0,1,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)fallingLeft); + +} + + + +void Animation::fallingRight(int x, int y, N5110 &lcd) //displays falling right sprite +{ + + const int fallingRight[12][9] = { + {1,0,0,0,1,1,1,0,1}, + {1,0,0,0,1,1,1,0,1}, + {1,0,0,0,1,1,1,0,1}, + {1,0,0,0,0,0,0,0,1}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,0}, + {0,0,0,1,0,0,0,1,0}, + {0,0,0,1,0,0,0,1,0}, + {0,0,1,0,0,0,1,0,0}, + {0,0,1,0,0,0,1,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)fallingRight); + +} + + + +void Animation::wallclingLeft(int x, int y, N5110 &lcd) //displays wall cligh left sprite +{ + + const int wallclingLeft[12][9] = { + {1,0,1,1,1,0,0,0,0}, + {1,0,1,1,1,0,0,0,0}, + {1,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0}, + {1,1,1,1,1,0,0,0,0}, + {1,1,1,1,1,0,0,0,0}, + {1,1,1,1,1,0,1,0,0}, + {1,1,1,1,1,0,1,0,0}, + {0,1,0,1,0,0,0,0,0}, + {1,0,0,1,0,0,0,0,0}, + {1,0,1,0,0,0,0,0,0}, + {1,1,0,0,0,0,0,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)wallclingLeft); + +} + + + +void Animation::wallclingRight(int x, int y, N5110 &lcd) //displays wall cling right sprite +{ + + const int wallclingLeft[12][9] = { + {0,0,0,0,1,1,1,0,1}, + {0,0,0,0,1,1,1,0,1}, + {0,0,0,0,1,1,1,0,1}, + {0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,1,1}, + {0,0,0,0,1,1,1,1,1}, + {0,0,1,0,1,1,1,1,1}, + {0,0,1,0,1,1,1,1,1}, + {0,0,0,0,0,1,0,1,0}, + {0,0,0,0,0,1,0,0,1}, + {0,0,0,0,0,0,1,0,1}, + {0,0,0,0,0,0,0,1,1}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)wallclingLeft); + +} + + + +void Animation::deathOne(int x, int y, N5110 &lcd) //displays death sprite one +{ + + const int deathOne[12][9] = { + + {0,0,0,1,0,1,0,0,0}, + {0,0,0,1,1,1,0,0,0}, + {0,1,0,0,1,1,0,0,0}, + {1,0,0,0,0,0,0,0,1}, + {0,0,1,1,1,1,1,0,1}, + {1,0,0,1,1,1,1,0,0}, + {1,0,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,0,1}, + {0,0,1,0,0,0,1,0,0}, + {0,0,0,0,0,0,0,0,0}, + {0,0,1,0,0,0,0,0,0}, + {0,0,0,0,0,0,1,0,0}, + + }; + + lcd.drawSprite(x,y,12,9,(int *)deathOne); + +} + + + +void Animation::deathTwo(int x, int y, N5110 &lcd) //displays death sprite two +{ + + const int deathTwo[10][8] = { + + {0,0,0,0,0,1,0,0,}, + {0,0,1,1,1,0,0,0,}, + {0,0,0,0,1,0,0,1,}, + {0,0,0,0,0,0,0,0,}, + {0,0,1,1,1,1,0,0,}, + {0,0,0,1,1,1,1,0,}, + {0,1,1,1,1,1,1,0,}, + {0,0,1,1,0,1,1,1,}, + {0,0,1,0,0,0,1,0,}, + {0,0,0,1,0,0,0,0,}, + + + }; + + lcd.drawSprite(x,y,10,8,(int *)deathTwo); + +} + + + +void Animation::deathThree(int x, int y, N5110 &lcd) //displays death sprite three +{ + + const int deathThree[9][7] = { + + {0,0,0,0,0,0,0,}, + {0,0,0,1,0,0,0,}, + {0,0,0,0,1,0,0,}, + {0,0,0,0,0,0,0,}, + {0,0,0,1,1,1,0,}, + {0,0,0,1,0,1,1,}, + {0,0,1,1,1,0,1,}, + {0,0,0,1,0,1,0,}, + {0,0,1,0,0,0,0,}, + + + }; + + lcd.drawSprite(x,y,9,7,(int *)deathThree); + +} + + + +void Animation::deathFour(int x, int y, N5110 &lcd) //displays death sprite four +{ + + const int deathFour[8][6] = { + + {0,0,0,0,0,0,}, + {0,0,0,0,0,0,}, + {0,0,0,0,0,0,}, + {0,0,0,0,0,0,}, + {0,0,0,1,0,0,}, + {0,0,0,0,0,1,}, + {0,0,0,1,1,0,}, + {0,0,0,1,0,1,}, + + + }; + + lcd.drawSprite(x,y,8,6,(int *)deathFour); + +} + + +//output true if pixels beneath runner +bool Animation::pixelsDown(int x, int y, N5110 &lcd) +{ + + if (lcd.getPixel(x,y+12) || lcd.getPixel(x+1,y+12) || lcd.getPixel(x+2,y+12) || lcd.getPixel(x+3,y+12) || lcd.getPixel(x+4,y+12) || lcd.getPixel(x+5,y+12) || lcd.getPixel(x+6,y+12) || lcd.getPixel(x+7,y+12) || lcd.getPixel(x+8,y+12)) { + return true; + } else { + return false; + } + +} + + +//output true if pixels above runner +bool Animation::pixelsUp(int x, int y, N5110 &lcd) +{ + + if (lcd.getPixel(x,y-1) || lcd.getPixel(x+1,y-1) || lcd.getPixel(x+2,y-1) || lcd.getPixel(x+3,y-1) || lcd.getPixel(x+4,y-1) || lcd.getPixel(x+5,y-1) || lcd.getPixel(x+6,y-1) || lcd.getPixel(x+7,y-1) || lcd.getPixel(x+8,y-1)) { + return true; + } else { + return false; + } +} + + +//output true if pixels left of runner +bool Animation::pixelsLeft(int x, int y, N5110 &lcd) +{ + + if (lcd.getPixel(x-1,y) || lcd.getPixel(x-1,y+1) || lcd.getPixel(x-1,y+2) || lcd.getPixel(x-1,y+3) || lcd.getPixel(x-1,y+4) || lcd.getPixel(x-1,y+5) || lcd.getPixel(x-1,y+6) || lcd.getPixel(x-1,y+7) || lcd.getPixel(x-1,y+8) || lcd.getPixel(x-1,y+9) || lcd.getPixel(x-1,y+10) || lcd.getPixel(x-1,y+11)) { + return true; + } else { + return false; + } +} + + +//output true if pixels right of runner +bool Animation::pixelsRight(int x, int y, N5110 &lcd) +{ + + if (lcd.getPixel(x+9,y) || lcd.getPixel(x+9,y+1) || lcd.getPixel(x+9,y+2) || lcd.getPixel(x+9,y+3) || lcd.getPixel(x+9,y+4) || lcd.getPixel(x+9,y+5) || lcd.getPixel(x+9,y+6) || lcd.getPixel(x+9,y+7) || lcd.getPixel(x+9,y+8) || lcd.getPixel(x+9,y+9) || lcd.getPixel(x+9,y+10) || lcd.getPixel(x+9,y+11)) { + return true; + } else { + return false; + } +}