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 {
// Global Variables Declaration
//------------------------------------------------------------------------------------
static const int screenWidth = 800;
static const int screenHeight = 550;
static const int screenHeight = 500;
static int score= 0;
static int highScore = -50;
......@@ -108,14 +108,19 @@ int main(void)
// Module Functions Definitions (local)
//------------------------------------------------------------------------------------
// Définitions des thèmes
//------------------------------------------------------------------------------------
void themeCoeur(void){
//Cas coeur
//On entoure les coeurs de briques noires
for (int i=0; i<6; i++){
for (int j=2; j<9; j++){
brick[i][j].couleur=2;
brick[i][j+9].couleur=2;
}
}
//Création des coeurs
brick[4][5].couleur=3; brick[4][14].couleur=3;
brick[3][4].couleur=3; brick[3][13].couleur=3;
brick[3][6].couleur=3; brick[3][15].couleur=3;
......@@ -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[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;
//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[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;
//Soleil
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[3][10].couleur=3; brick[4][9].couleur=3; brick[5][8].couleur=3;
}
void themeAleatoire(void){
for (int i = 0; i < LINES_OF_BRICKS; i++)
{
......@@ -169,16 +175,19 @@ void themeAleatoire(void){
}
}
void themeLoveC(void){
void themeLoveC(void){
//Fond noir
for (int i=0; i<6; i++){
for (int j=0; j<20; j++){
brick[i][j].couleur=2;
}
}
//Le i
for (int k=1 ; k<5 ; k++){
brick[k][3].couleur=1;
}
//Le coeur
brick[4][8].couleur=3;
brick[3][7].couleur=3;
......@@ -202,6 +211,8 @@ void themeLoveC(void){
brick[4][14].couleur=1;brick[4][15].couleur=1;
}
//------------------------------------------------------------------------------------
// Initialize game variables
void InitGame(void)
......@@ -222,6 +233,7 @@ void InitGame(void)
// Initialize bricks
int initialDownPosition = 50;
//Initialize score
score=0;
highScore=highScore;
......@@ -234,6 +246,9 @@ void InitGame(void)
brick[i][j].couleur=0; //Valeur par défaut
}
}
//Choix du thème
choixTheme = GetRandomValue(0,3);
if (choixTheme==0){
themeAleatoire();
......@@ -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){
brick[i][j].active = false;
int k= i;
int l= j;
if (l==19 && k==0){
brick[k+1][l].active=false;
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;
}
}
else if (l==0 && k==0){
brick[k+1][l].active=false;
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;
}
}
else if (l==19 && k>0){
brick[k+1][l].active=false;
brick[k-1][l].active=false;
brick[k][l-1].active=false;
if (briqueEstEllePasCassee(k+1,l)){
brick[k+1][l].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){
brick[k+1][l].active=false;
brick[k-1][l].active=false;
brick[k][l+1].active=false;
if (briqueEstEllePasCassee(k+1,l)){
brick[k+1][l].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){
brick[k+1][l].active=false;
brick[k][l-1].active=false;
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;
}
}
else{
brick[k+1][l].active=false;
brick[k-1][l].active=false;
brick[k][l-1].active=false;
brick[k][l+1].active=false;
if (briqueEstEllePasCassee(k+1,l)){
brick[k+1][l].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;
}
if (briqueEstEllePasCassee(k,l+1)){
brick[k][l+1].active=false;
score+=1;
}
}
score+=4;
}
void briqueCouleurNoire(int i, int j){
......@@ -297,7 +373,10 @@ void briqueCouleurViolette(int i, int j){
void briqueGrise(int i, int j){
brick[i][j].active = false;
}
//------------------------------------------------------------------------------------
//Definition fonction de quelle couleur est la brique
//------------------------------------------------------------------------------------
void couleurBrique (int i, int j){
if ((brick[i][j].couleur== 0)){
briqueGrise(i,j);
......@@ -312,6 +391,9 @@ void couleurBrique (int i, int j){
briqueCouleurViolette(i,j);
}
}
//------------------------------------------------------------------------------------
// Update game (one frame)
void UpdateGame(void)
{
......@@ -528,4 +610,4 @@ void UpdateDrawFrame(void)
{
UpdateGame();
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