University project - accelerometer controlled Arkanoid

Dependencies:   KS0108 MMA8451Q mbed

Revision:
1:d08d63a7c50d
Parent:
0:9515d58c3408
--- a/backup2.cpp	Sun Jan 18 19:27:16 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-#include    "mbed.h"
-#include    "KS0108.h"
-#include    "Arial12.h"
-#include    "SystemFont5x7.h"
-#include    "stdbool.h"
-#include    "MMA8451Q.h"
- 
-#define step        (4)
-#define minX        (125)
-#define maxX        (39)
-#define minY        (2)
-#define maxY        (62)
-#define PadLength   (10)
-#define PadY        (59)
-#define LowSpeed    (2)
-#define HighSpeed   (4)
-#define XPadInit    ((unsigned char)(0.5*(minX+maxX-PadLength)))
-#define XBallInit   ((unsigned char)(XPadInit+0.5*PadLength))
-#define BallD       (1)
-#define YBallInit   ((unsigned char)(PadY-BallD))
-
-#define BrickH      (4)
-#define BrickW      (20)
-
-#define AccTres1    (0.12)
-#define AccTres2    (0.25)
-
-#define MMA8451_I2C_ADDRESS (0x1d<<1)
- 
-KS0108 display (PTE22,PTE23, PTE29, PTE30, PTE20, PTE21, PTC7, PTC0, PTC3, PTC4, PTC5, PTC6, PTC10, PTC11);
-
-void DrawBorder();
-void DrawBall(unsigned char* X, unsigned char* Y, char* dx, char* dy, unsigned char D, unsigned char PaddlePos, bool* Start, unsigned char* lives);
-//unsigned char MovePad(void);
-void MovePad(unsigned char* Pad_ptr, bool Start);
-void DrawLogo(void);
-void DrawTable(char sc, char liv);
-void reset(unsigned char* XBall, unsigned char* YBall, char* dxBall, char* dyBall, unsigned char* XPaddle, bool* Start, unsigned char score, unsigned char lives);
-void DrawBricks(void);
-
-MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
-
-int main() {
-                                
-    display.ClearScreen();  
-
-    unsigned char score = 0;
-    unsigned char lives = 3;
-    DrawLogo();
-    DrawTable(score,lives);
-    DrawBorder();
-    DrawBricks();
-    
-    unsigned char XBall = XBallInit;
-    unsigned char YBall = YBallInit;
-    char Balldx = 2;
-    char Balldy = -2;
-  
-    unsigned char PadPos = XPadInit;
-    bool StartFlag = true;  
-
-       
-    while(1) { 
-        display.TurnOn();
-        if (StartFlag){
-            reset(&XBall, &YBall, &Balldx, &Balldy, &PadPos, &StartFlag, score, lives);
-        }else{
-            display.FullCircle(2,2,2,WHITE);
-        }  
-        DrawBall(&XBall, &YBall, &Balldx, &Balldy, BallD, PadPos, &StartFlag, &lives);
-        MovePad(&PadPos, StartFlag); 
-        wait(0.05);       
-    }
- 
-}
-
-void DrawLogo(void){
-    display.SelectFont(Arial12,BLACK,ReadData);   
-    display.GotoXY(8,8);
-    display.PrintString("ARM"); 
-    display.GotoXY(4,24);
-    display.PrintString("kanoid"); 
-}
-
-void DrawTable(char sc, char liv){
-    static char score[5];
-    static char lives[5];
-    display.EmptyRectangle(4,38, (maxX-6),56, BLACK);
-    display.FullRectangle(20,39,(maxX-7), 55, WHITE);
-    display.SelectFont(System5x7,BLACK,ReadData);  
-    sprintf(score,"S:%2d",sc);
-    sprintf(lives,"L:%2d",liv);
-    display.GotoXY(8,40);
-    display.PrintString(score);
-    display.GotoXY(8,48);
-    display.PrintString(lives);
-}
-    
-void DrawBorder(void){
-    display.HLine(maxX-2, 127,0,BLACK);
-    display.VLine(maxX-2, 0,63,BLACK);
-    display.VLine(minX+2, 0,63,BLACK);
-}
-
-void DrawBall(unsigned char* X, unsigned char* Y, char* dx, char* dy, unsigned char D, unsigned char PaddlePos, bool* Start, unsigned char* lives){
-    
-    display.FullCircle(*X, *Y, D, WHITE);
-    
-    (*X) += (*dx);
-    (*Y) += (*dy);
-    display.FullCircle(*X, *Y, D, BLACK);
-    //if (!(*Start)){
-        if ((((unsigned char)(*X+D)) >= minX)||(((char)(*X-D)) <= maxX)){
-            *dx = -(*dx);
-        }
-    
-        if (((unsigned char)(*Y-D)) <= minY){
-            *dy = -(*dy);
-        }
-        if (((char)(*Y+D)) >= PadY){
-            if ((((unsigned char)(*X+D)) <= (PaddlePos+PadLength+2))&&(((unsigned char)(*X-D)) >= (PaddlePos-2))){
-                *dy = -(*dy);
-            }else{
-                if (*lives > 1){
-                    (*lives)--;
-                    *Start = true;
-                }else{
-                //doplnit kod na game over
-                }    
-            }
-        }
-    /*}else{
-        display.FullCircle(*X, *Y, D, WHITE);  
-    }
-}
-
-void MovePad(unsigned char* Pad_ptr, bool Start){
-    unsigned char PaddleDif;
-    if ((abs(acc.getAccY()))>AccTres1){
-    display.FullRectangle(*Pad_ptr, PadY, *Pad_ptr+PadLength ,PadY+2,WHITE);
-    if(Start){
-        *Pad_ptr = XPadInit;
-    }else{
-        if ((abs(acc.getAccY()))>AccTres2){
-            PaddleDif = HighSpeed;
-            }else{
-                PaddleDif = LowSpeed;
-            }
-            if ((acc.getAccY() > 0)&&((*Pad_ptr+PadLength) < (minX - 3))){
-                *Pad_ptr += PaddleDif;   
-            }
-            if ((acc.getAccY() < 0)&&(*Pad_ptr > (maxX + 1))){
-            *Pad_ptr -= PaddleDif;   
-            }
-        }
-    }
-    display.FullRectangle(*Pad_ptr, PadY, *Pad_ptr+PadLength ,PadY+2,BLACK);
-}
-
-void reset(unsigned char* XBall, unsigned char* YBall, char* dxBall, char* dyBall, unsigned char* XPaddle, bool* Start, unsigned char score, unsigned char lives){
-    display.FullCircle(*XBall, *YBall, BallD, WHITE);
-    *XBall = XBallInit;
-    *YBall = YBallInit;
-    display.FullRectangle(*XPaddle, PadY, *XPaddle+PadLength ,PadY+2,WHITE);
-    *XPaddle = XPadInit;
-    wait(1);
-    display.FullCircle(*XBall, *YBall, BallD, BLACK);
-    display.FullRectangle(*XPaddle, PadY, *XPaddle+PadLength ,PadY+2,BLACK);
-    DrawTable(score, lives);
-    *dxBall = 2;
-    *dyBall = -2;
-    *Start = false;
-    wait(1);
-}
-
-void DrawBricks(void){
-    struct brick {
-        unsigned char Xbrick;
-        unsigned char Ybrick;
-        bool exists;
-    }BrickArray[4][3], cihla;
-    
-    char i;
-    char j;
-    for (j = 0; j < 3; j++){
-        for (i = 0; i < 4; i++){
-            cihla.Xbrick = maxX + i*(BrickW + 2);
-            cihla.Ybrick = minY + j*(BrickH + 2);
-            cihla.exists = true;
-            BrickArray[i][j] = cihla;
-            display.EmptyRectangle(cihla.Xbrick,cihla.Ybrick, (cihla.Xbrick + BrickW), (cihla.Ybrick + BrickH) ,((cihla.exists)? BLACK:WHITE));
-        }
-    }
-}*/
\ No newline at end of file