ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_PROJECT_EL18KK

Dependencies:   mbed

Revision:
9:e6566d09f087
Parent:
8:5ede90f99a27
Child:
15:5bf3f951d337
--- a/SplashScreen/Splash.cpp	Sun May 17 17:59:30 2020 +0000
+++ b/SplashScreen/Splash.cpp	Sun May 17 23:00:04 2020 +0000
@@ -165,80 +165,83 @@
 int ball_x = 33;
 int ball_y = 17;
 
-Splash::Splash() {}
+Splash::Splash(N5110 &lcd, Ball &ball) {
+    _lcd = &lcd;
+    _ball = &ball;    
+}
 
 Splash::~Splash() {}
 
-void Splash::displayInfo(N5110 &lcd) {
-        lcd.clear(); //clear screen before starting animation
-        lcd.setContrast(0);
+void Splash::displayInfo() {
+        _lcd->clear(); //clear screen before starting animation
+        _lcd->setContrast(0);
         //print info
-        lcd.printString("Kaif Kutchwala",1,1);
-        lcd.printString("EL18KK",24,2);
-        lcd.printString("ELEC 2645",16,3);
-        lcd.printString("201267448",15,4);
-        lcd.refresh();
+        _lcd->printString("Kaif Kutchwala",1,1);
+        _lcd->printString("EL18KK",24,2);
+        _lcd->printString("ELEC 2645",16,3);
+        _lcd->printString("201267448",15,4);
+        _lcd->refresh();
         //slowly increase contrast to create fade-in animation
-        contrast_slide(lcd);
+        contrast_slide();
         wait(1); 
-        lcd.clear(); //clear screen after animation
+        _lcd->clear(); //clear screen after animation
     }
 
-void Splash::playIntro(N5110 &lcd, Ball &ball) {
-        lcd.clear();
-        lcd.setContrast(0);
-        draw_name(lcd,ball);
-        ball.setLocation(ball_x,ball_y,lcd);
-        contrast_slide(lcd);
+void Splash::playIntro() {
+        _lcd->clear();
+        _lcd->setContrast(0);
+        draw_name();
+        _ball->setLocation(ball_x,ball_y);
+        contrast_slide();
         wait(1);
-        player_enter_animation(lcd, ball);
-        kick_animation(lcd, ball);
-        shot_animation(lcd,ball);
-        lcd.refresh();
+        player_enter_animation();
+        kick_animation();
+        shot_animation();
+        _lcd->refresh();
         wait(2);
-        lcd.clear();
+        _lcd->clear();
     }
-void Splash::drawLogo(int x, int y, N5110 &lcd, Ball &ball) {
-        lcd.drawSprite(x,y,15,9,(int*)letter_S);
-        lcd.drawSprite((x+9),y,15,9,(int*)letter_h);//+9
-        ball.setLocation((x+18),(y+3),lcd);//+32 +3
-        ball.setLocation((x+32),(y+3),lcd);//+32 +3
-        lcd.drawSprite((x+47),y,15,9,(int*)letter_t);//+47
+void Splash::drawLogo(int x, int y) {
+        _lcd->drawSprite(x,y,15,9,(int*)letter_S);
+        _lcd->drawSprite((x+9),y,15,9,(int*)letter_h);//+9
+        _ball->setLocation((x+18),(y+3));//+32 +3
+        _ball->setLocation((x+32),(y+3));//+32 +3
+        _lcd->drawSprite((x+47),y,15,9,(int*)letter_t);//+47
     }   
-void draw_name(N5110 &lcd, Ball &ball) {
-        lcd.drawSprite(15,14,15,9,(int*)letter_S);
-        lcd.drawSprite(24,14,15,9,(int*)letter_h);
-        ball.setLocation(47,17,lcd);
-        lcd.drawSprite(62,14,15,9,(int*)letter_t);
-        lcd.printString("Game by",21,4);
-        lcd.printString("Kaif Kutchwala",0,5);    
+void Splash::draw_name() {
+        _lcd->drawSprite(15,14,15,9,(int*)letter_S);
+        _lcd->drawSprite(24,14,15,9,(int*)letter_h);
+        _ball->setLocation(47,17);
+        _lcd->drawSprite(62,14,15,9,(int*)letter_t);
+        _lcd->printString("Game by",21,4);
+        _lcd->printString("Kaif Kutchwala",0,5);    
     }
     
-void contrast_slide(N5110 &lcd){
-        for(float contrast = 0.40; contrast < 0.51; contrast += 0.01) {
-            lcd.setContrast(contrast);
+void Splash::contrast_slide(){
+        for(float contrast = 0.40f; contrast < 0.51f; contrast += 0.01f) {
+            _lcd->setContrast(contrast);
             //printf("Contrast = %.2f \n",contrast);
-            lcd.refresh();
+            _lcd->refresh();
             wait_ms(100);
         }
     }
-void player_enter_animation(N5110 &lcd, Ball &ball) {
+void Splash::player_enter_animation() {
     int sprite_X = 25;
     int sprite_Y = -10;
     while(sprite_X != 35 && sprite_Y != 0){
-        lcd.clear(); //clear screen before starting animation
-        lcd.drawSprite(sprite_X,sprite_Y,20,15,(int*)player_fsm[0]);
-        draw_name(lcd,ball);
-        ball.setLocation(ball_x,ball_y,lcd);
+        _lcd->clear(); //clear screen before starting animation
+        _lcd->drawSprite(sprite_X,sprite_Y,20,15,(int*)player_fsm[0]);
+        draw_name();
+        _ball->setLocation(ball_x,ball_y);
         //printf("%d \n",sprite_X);
         //printf("%d \n",sprite_Y);
-        lcd.refresh();
+        _lcd->refresh();
         sprite_X++;
         sprite_Y++;
         wait(0.1);
     }
 }
-void kick_animation(N5110 &lcd, Ball &ball) {
+void Splash::kick_animation() {
          int state = 0;
          while(state < 3) {
             switch(state) {
@@ -259,20 +262,20 @@
                     break; 
             }
         }
-        lcd.drawSprite(35,0,20,15,(int*)player_fsm[state]);
-        draw_name(lcd,ball);
-        ball.setLocation(ball_x,ball_y,lcd);
-        lcd.refresh();
-        lcd.clear();
+        _lcd->drawSprite(35,0,20,15,(int*)player_fsm[state]);
+        draw_name();
+        _ball->setLocation(ball_x,ball_y);
+        _lcd->refresh();
+        _lcd->clear();
         wait(0.1);
     }
-void shot_animation(N5110 &lcd, Ball &ball) {
+void Splash::shot_animation() {
         while(ball_x != -7 && ball_y != 48){
-                lcd.drawSprite(35,0,20,15,(int*)player_fsm[4]);
-                draw_name(lcd,ball);
-                ball.setLocation(ball_x, ball_y,lcd);
-                lcd.refresh();
-                lcd.clear();
+                _lcd->drawSprite(35,0,20,15,(int*)player_fsm[4]);
+                draw_name();
+                _ball->setLocation(ball_x, ball_y);
+                _lcd->refresh();
+                _lcd->clear();
                 ball_x--;
                 ball_y++;
                 wait_ms(30);