Commit 33b8857c authored by MESLIN Léa's avatar MESLIN Léa

Update arkanoid_lea_meslin.c

parent 429fe0ec
...@@ -45,7 +45,7 @@ typedef struct Brick { ...@@ -45,7 +45,7 @@ typedef struct Brick {
// Global Variables Declaration // Global Variables Declaration
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
static const int screenWidth = 800; static const int screenWidth = 800;
static const int screenHeight = 550; static const int screenHeight = 500;
static int score= 0; static int score= 0;
static int highScore = -50; static int highScore = -50;
...@@ -108,14 +108,19 @@ int main(void) ...@@ -108,14 +108,19 @@ int main(void)
// Module Functions Definitions (local) // Module Functions Definitions (local)
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// Définitions des thèmes
//------------------------------------------------------------------------------------
void themeCoeur(void){ void themeCoeur(void){
//Cas coeur //On entoure les coeurs de briques noires
for (int i=0; i<6; i++){ for (int i=0; i<6; i++){
for (int j=2; j<9; j++){ for (int j=2; j<9; j++){
brick[i][j].couleur=2; brick[i][j].couleur=2;
brick[i][j+9].couleur=2; brick[i][j+9].couleur=2;
} }
} }
//Création des coeurs
brick[4][5].couleur=3; brick[4][14].couleur=3; brick[4][5].couleur=3; brick[4][14].couleur=3;
brick[3][4].couleur=3; brick[3][13].couleur=3; brick[3][4].couleur=3; brick[3][13].couleur=3;
brick[3][6].couleur=3; brick[3][15].couleur=3; brick[3][6].couleur=3; brick[3][15].couleur=3;
...@@ -141,18 +146,19 @@ void themeTempete(void){ ...@@ -141,18 +146,19 @@ void themeTempete(void){
brick[3][1].couleur=2;brick[3][2].couleur=2;brick[3][3].couleur=2;brick[3][4].couleur=2;brick[3][5].couleur=2; brick[3][1].couleur=2;brick[3][2].couleur=2;brick[3][3].couleur=2;brick[3][4].couleur=2;brick[3][5].couleur=2;
brick[2][2].couleur=2;brick[2][3].couleur=2; brick[2][4].couleur=2; brick[2][2].couleur=2;brick[2][3].couleur=2; brick[2][4].couleur=2;
brick[4][2].couleur=2;brick[4][3].couleur=2; brick[4][4].couleur=2; brick[4][2].couleur=2;brick[4][3].couleur=2; brick[4][4].couleur=2;
//2e nuage //2e nuage
brick[2][14].couleur=2;brick[2][15].couleur=2;brick[2][16].couleur=2;brick[2][17].couleur=2;brick[2][18].couleur=2; brick[2][14].couleur=2;brick[2][15].couleur=2;brick[2][16].couleur=2;brick[2][17].couleur=2;brick[2][18].couleur=2;
brick[1][15].couleur=2;brick[1][16].couleur=2; brick[1][17].couleur=2; brick[1][15].couleur=2;brick[1][16].couleur=2; brick[1][17].couleur=2;
brick[3][15].couleur=2;brick[3][16].couleur=2; brick[3][17].couleur=2; brick[3][15].couleur=2;brick[3][16].couleur=2; brick[3][17].couleur=2;
//Soleil //Soleil
brick[0][10].couleur=3; brick[1][9].couleur=3; brick[0][10].couleur=3; brick[1][9].couleur=3;
brick[2][8].couleur=3; brick[2][9].couleur=3; brick[2][10].couleur=3; brick[2][11].couleur=3; brick[2][8].couleur=3; brick[2][9].couleur=3; brick[2][10].couleur=3; brick[2][11].couleur=3;
brick[3][10].couleur=3; brick[4][9].couleur=3; brick[5][8].couleur=3; brick[3][10].couleur=3; brick[4][9].couleur=3; brick[5][8].couleur=3;
} }
void themeAleatoire(void){ void themeAleatoire(void){
for (int i = 0; i < LINES_OF_BRICKS; i++) for (int i = 0; i < LINES_OF_BRICKS; i++)
{ {
...@@ -169,16 +175,19 @@ void themeAleatoire(void){ ...@@ -169,16 +175,19 @@ void themeAleatoire(void){
} }
} }
void themeLoveC(void){ void themeLoveC(void){
//Fond noir
for (int i=0; i<6; i++){ for (int i=0; i<6; i++){
for (int j=0; j<20; j++){ for (int j=0; j<20; j++){
brick[i][j].couleur=2; brick[i][j].couleur=2;
} }
} }
//Le i //Le i
for (int k=1 ; k<5 ; k++){ for (int k=1 ; k<5 ; k++){
brick[k][3].couleur=1; brick[k][3].couleur=1;
} }
//Le coeur //Le coeur
brick[4][8].couleur=3; brick[4][8].couleur=3;
brick[3][7].couleur=3; brick[3][7].couleur=3;
...@@ -202,6 +211,8 @@ void themeLoveC(void){ ...@@ -202,6 +211,8 @@ void themeLoveC(void){
brick[4][14].couleur=1;brick[4][15].couleur=1; brick[4][14].couleur=1;brick[4][15].couleur=1;
} }
//------------------------------------------------------------------------------------
// Initialize game variables // Initialize game variables
void InitGame(void) void InitGame(void)
...@@ -222,6 +233,7 @@ void InitGame(void) ...@@ -222,6 +233,7 @@ void InitGame(void)
// Initialize bricks // Initialize bricks
int initialDownPosition = 50; int initialDownPosition = 50;
//Initialize score
score=0; score=0;
highScore=highScore; highScore=highScore;
...@@ -234,6 +246,9 @@ void InitGame(void) ...@@ -234,6 +246,9 @@ void InitGame(void)
brick[i][j].couleur=0; //Valeur par défaut brick[i][j].couleur=0; //Valeur par défaut
} }
} }
//Choix du thème
choixTheme = GetRandomValue(0,3); choixTheme = GetRandomValue(0,3);
if (choixTheme==0){ if (choixTheme==0){
themeAleatoire(); themeAleatoire();
...@@ -249,40 +264,101 @@ void InitGame(void) ...@@ -249,40 +264,101 @@ void InitGame(void)
} }
} }
//Définition des fonctions de briques de couleur
//------------------------------------------------------------------------------------
bool briqueEstEllePasCassee(int i, int j){
if (brick[i][j].active){
return true;
}
else {
return false;
}
}
void briqueCouleurBleue(int i, int j){ void briqueCouleurBleue(int i, int j){
brick[i][j].active = false; brick[i][j].active = false;
int k= i; int k= i;
int l= j; int l= j;
if (l==19 && k==0){ if (l==19 && k==0){
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k][l-1].active=false; brick[k+1][l].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l-1)){
brick[k][l-1].active=false;
score+=1;
}
} }
else if (l==0 && k==0){ else if (l==0 && k==0){
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k][l+1].active=false; brick[k+1][l].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l+1)){
brick[k][l+1].active=false;
score+=1;
}
} }
else if (l==19 && k>0){ else if (l==19 && k>0){
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k-1][l].active=false; brick[k+1][l].active=false;
brick[k][l-1].active=false; score+=1;
}
if (briqueEstEllePasCassee(k-1,l)){
brick[k-1][l].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l-1)){
brick[k][l-1].active=false;
score+=1;
}
} }
else if (l==0 && k>0){ else if (l==0 && k>0){
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k-1][l].active=false; brick[k+1][l].active=false;
brick[k][l+1].active=false; score+=1;
}
if (briqueEstEllePasCassee(k-1,l)){
brick[k-1][l].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l+1)){
brick[k][l+1].active=false;
score+=1;
}
} }
else if (k==0){ else if (k==0){
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k][l-1].active=false; brick[k+1][l].active=false;
brick[k][l+1].active=false; score+=1;
}
if (briqueEstEllePasCassee(k,l-1)){
brick[k][l-1].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l+1)){
brick[k][l+1].active=false;
score+=1;
}
} }
else{ else{
brick[k+1][l].active=false; if (briqueEstEllePasCassee(k+1,l)){
brick[k-1][l].active=false; brick[k+1][l].active=false;
brick[k][l-1].active=false; score+=1;
brick[k][l+1].active=false; }
if (briqueEstEllePasCassee(k-1,l)){
brick[k-1][l].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l-1)){
brick[k][l-1].active=false;
score+=1;
}
if (briqueEstEllePasCassee(k,l+1)){
brick[k][l+1].active=false;
score+=1;
}
} }
score+=4;
} }
void briqueCouleurNoire(int i, int j){ void briqueCouleurNoire(int i, int j){
...@@ -297,7 +373,10 @@ void briqueCouleurViolette(int i, int j){ ...@@ -297,7 +373,10 @@ void briqueCouleurViolette(int i, int j){
void briqueGrise(int i, int j){ void briqueGrise(int i, int j){
brick[i][j].active = false; brick[i][j].active = false;
} }
//------------------------------------------------------------------------------------
//Definition fonction de quelle couleur est la brique
//------------------------------------------------------------------------------------
void couleurBrique (int i, int j){ void couleurBrique (int i, int j){
if ((brick[i][j].couleur== 0)){ if ((brick[i][j].couleur== 0)){
briqueGrise(i,j); briqueGrise(i,j);
...@@ -312,6 +391,9 @@ void couleurBrique (int i, int j){ ...@@ -312,6 +391,9 @@ void couleurBrique (int i, int j){
briqueCouleurViolette(i,j); briqueCouleurViolette(i,j);
} }
} }
//------------------------------------------------------------------------------------
// Update game (one frame) // Update game (one frame)
void UpdateGame(void) void UpdateGame(void)
{ {
...@@ -528,4 +610,4 @@ void UpdateDrawFrame(void) ...@@ -528,4 +610,4 @@ void UpdateDrawFrame(void)
{ {
UpdateGame(); UpdateGame();
DrawGame(); DrawGame();
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment