Dependencies: mbed
SplashScreen/Splash.cpp@25:467d8fd0fec4, 2020-05-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |