Dependencies:   mbed

Committer:
KaifK
Date:
Mon May 25 18:25:00 2020 +0000
Revision:
25:467d8fd0fec4
Parent:
20:c697902b844f
code cleaned up

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KaifK 3:f86c1cf90d0d 1 #include "Splash.h"
KaifK 3:f86c1cf90d0d 2
KaifK 15:5bf3f951d337 3 int ball_x = 39;
KaifK 15:5bf3f951d337 4 int ball_y = 21;
KaifK 3:f86c1cf90d0d 5
KaifK 9:e6566d09f087 6 Splash::Splash(N5110 &lcd, Ball &ball) {
KaifK 9:e6566d09f087 7 _lcd = &lcd;
KaifK 25:467d8fd0fec4 8 _ball = &ball;
KaifK 9:e6566d09f087 9 }
KaifK 3:f86c1cf90d0d 10
KaifK 3:f86c1cf90d0d 11 Splash::~Splash() {}
KaifK 3:f86c1cf90d0d 12
KaifK 9:e6566d09f087 13 void Splash::displayInfo() {
KaifK 25:467d8fd0fec4 14 _lcd -> clear(); //clear screen before starting animation
KaifK 25:467d8fd0fec4 15 _lcd -> setContrast(0);
KaifK 25:467d8fd0fec4 16 //print info
KaifK 25:467d8fd0fec4 17 _lcd -> printString("Kaif Kutchwala", 1, 1);
KaifK 25:467d8fd0fec4 18 _lcd -> printString("EL18KK", 24, 2);
KaifK 25:467d8fd0fec4 19 _lcd -> printString("ELEC 2645", 16, 3);
KaifK 25:467d8fd0fec4 20 _lcd -> printString("201267448", 15, 4);
KaifK 25:467d8fd0fec4 21 _lcd -> refresh();
KaifK 25:467d8fd0fec4 22 //slowly increase contrast to create fade-in animation
KaifK 25:467d8fd0fec4 23 contrast_slide();
KaifK 25:467d8fd0fec4 24 wait(1);
KaifK 25:467d8fd0fec4 25 _lcd -> clear(); //clear screen after animation
KaifK 25:467d8fd0fec4 26 }
KaifK 3:f86c1cf90d0d 27
KaifK 9:e6566d09f087 28 void Splash::playIntro() {
KaifK 25:467d8fd0fec4 29 _lcd -> clear();
KaifK 25:467d8fd0fec4 30 _lcd -> setContrast(0);
KaifK 25:467d8fd0fec4 31 draw_name();
KaifK 25:467d8fd0fec4 32 _ball -> drawBall(ball_x, ball_y, 6);
KaifK 25:467d8fd0fec4 33 contrast_slide();
KaifK 25:467d8fd0fec4 34 wait(1);
KaifK 25:467d8fd0fec4 35 player_enter_animation();
KaifK 25:467d8fd0fec4 36 kick_animation();
KaifK 25:467d8fd0fec4 37 shot_animation();
KaifK 25:467d8fd0fec4 38 _lcd -> refresh();
KaifK 25:467d8fd0fec4 39 wait(1);
KaifK 25:467d8fd0fec4 40 _lcd -> clear();
KaifK 25:467d8fd0fec4 41 }
KaifK 9:e6566d09f087 42 void Splash::drawLogo(int x, int y) {
KaifK 25:467d8fd0fec4 43 _lcd -> drawSprite(x, y, 15, 9, (int * ) letter_S);
KaifK 25:467d8fd0fec4 44 _lcd -> drawSprite((x + 9), y, 15, 9, (int * ) letter_h); //+9
KaifK 25:467d8fd0fec4 45 _ball -> drawBall((x + 24), (y + 7), 6); //+9 +12
KaifK 25:467d8fd0fec4 46 _ball -> drawBall((x + 38), (y + 7), 6); //+32 +3
KaifK 25:467d8fd0fec4 47 _lcd -> drawSprite((x + 47), y, 15, 9, (int * ) letter_t); //+47
KaifK 25:467d8fd0fec4 48 }
KaifK 9:e6566d09f087 49 void Splash::draw_name() {
KaifK 25:467d8fd0fec4 50 _lcd -> drawSprite(15, 14, 15, 9, (int * ) letter_S);
KaifK 25:467d8fd0fec4 51 _lcd -> drawSprite(24, 14, 15, 9, (int * ) letter_h);
KaifK 25:467d8fd0fec4 52 _ball -> drawBall(53, 21, 6);
KaifK 25:467d8fd0fec4 53 _lcd -> drawSprite(62, 14, 15, 9, (int * ) letter_t);
KaifK 25:467d8fd0fec4 54 _lcd -> printString("Game by", 21, 4);
KaifK 25:467d8fd0fec4 55 _lcd -> printString("Kaif Kutchwala", 0, 5);
KaifK 25:467d8fd0fec4 56 }
KaifK 25:467d8fd0fec4 57
KaifK 25:467d8fd0fec4 58 void Splash::contrast_slide() {
KaifK 25:467d8fd0fec4 59 for (float contrast = 0.40f ; contrast < 0.51f ; contrast += 0.01f ) {
KaifK 25:467d8fd0fec4 60 _lcd -> setContrast(contrast);
KaifK 25:467d8fd0fec4 61 //printf("Contrast = %.2f \n",contrast);
KaifK 25:467d8fd0fec4 62 _lcd -> refresh();
KaifK 25:467d8fd0fec4 63 wait_ms(100);
KaifK 4:08a0ff6668df 64 }
KaifK 25:467d8fd0fec4 65 }
KaifK 9:e6566d09f087 66 void Splash::player_enter_animation() {
KaifK 8:5ede90f99a27 67 int sprite_X = 25;
KaifK 8:5ede90f99a27 68 int sprite_Y = -10;
KaifK 25:467d8fd0fec4 69 while (sprite_X != 35 && sprite_Y != 0) {
KaifK 25:467d8fd0fec4 70 _lcd -> clear(); //clear screen before starting animation
KaifK 25:467d8fd0fec4 71 _lcd -> drawSprite(sprite_X, sprite_Y, 20, 15, (int * ) player_fsm[0]);
KaifK 9:e6566d09f087 72 draw_name();
KaifK 25:467d8fd0fec4 73 _ball -> drawBall(ball_x, ball_y, 6);
KaifK 8:5ede90f99a27 74 //printf("%d \n",sprite_X);
KaifK 8:5ede90f99a27 75 //printf("%d \n",sprite_Y);
KaifK 25:467d8fd0fec4 76 _lcd -> refresh();
KaifK 8:5ede90f99a27 77 sprite_X++;
KaifK 8:5ede90f99a27 78 sprite_Y++;
KaifK 8:5ede90f99a27 79 wait(0.1);
KaifK 8:5ede90f99a27 80 }
KaifK 8:5ede90f99a27 81 }
KaifK 9:e6566d09f087 82 void Splash::kick_animation() {
KaifK 25:467d8fd0fec4 83 int state = 0;
KaifK 25:467d8fd0fec4 84 while (state < 3) {
KaifK 25:467d8fd0fec4 85 switch (state) {
KaifK 25:467d8fd0fec4 86 case 0:
KaifK 25:467d8fd0fec4 87 state = 1;
KaifK 25:467d8fd0fec4 88 break;
KaifK 25:467d8fd0fec4 89 case 1:
KaifK 25:467d8fd0fec4 90 state = 2;
KaifK 25:467d8fd0fec4 91 break;
KaifK 25:467d8fd0fec4 92 case 2:
KaifK 25:467d8fd0fec4 93 state = 3;
KaifK 25:467d8fd0fec4 94 break;
KaifK 25:467d8fd0fec4 95 case 3:
KaifK 25:467d8fd0fec4 96 state = 0;
KaifK 25:467d8fd0fec4 97 break;
KaifK 25:467d8fd0fec4 98 default:
KaifK 25:467d8fd0fec4 99 error("Invalid state");
KaifK 25:467d8fd0fec4 100 break;
KaifK 3:f86c1cf90d0d 101 }
KaifK 4:08a0ff6668df 102 }
KaifK 25:467d8fd0fec4 103 _lcd -> drawSprite(35, 0, 20, 15, (int * ) player_fsm[state]);
KaifK 25:467d8fd0fec4 104 draw_name();
KaifK 25:467d8fd0fec4 105 _ball -> drawBall(ball_x, ball_y, 6);
KaifK 25:467d8fd0fec4 106 _lcd -> refresh();
KaifK 25:467d8fd0fec4 107 _lcd -> clear();
KaifK 25:467d8fd0fec4 108 wait(0.1);
KaifK 25:467d8fd0fec4 109 }
KaifK 9:e6566d09f087 110 void Splash::shot_animation() {
KaifK 25:467d8fd0fec4 111 while (ball_x != -7 && ball_y != 48) {
KaifK 25:467d8fd0fec4 112 _lcd -> drawSprite(35, 0, 20, 15, (int * ) player_fsm[4]);
KaifK 25:467d8fd0fec4 113 draw_name();
KaifK 25:467d8fd0fec4 114 _ball -> drawBall(ball_x, ball_y, 6);
KaifK 25:467d8fd0fec4 115 _lcd -> refresh();
KaifK 25:467d8fd0fec4 116 _lcd -> clear();
KaifK 25:467d8fd0fec4 117 ball_x--;
KaifK 25:467d8fd0fec4 118 ball_y++;
KaifK 25:467d8fd0fec4 119 wait_ms(30);
KaifK 25:467d8fd0fec4 120 }
KaifK 25:467d8fd0fec4 121 }