Files
SAE11_2023/snake/fenetre.c
2023-12-11 16:19:17 +01:00

150 lines
2.4 KiB
C
Executable File

/* Affichage de la fenêtre de jeu avec plateau de jeu, temps écoulé, score, actions des touches
written by Yann KERAUDREN and Titouan LERICHE */
#include <stdlib.h>
#include <graph.h>
#include "plateau_init.h"
#include "ajout_score.c"
#define CYCLE 1000000L
void start (void) {
couleur green, grey, yellow, red, black, white;
int** tableau = plateau_init();
int i, j;
char* texte1 = "espace = lancer";
char* texte2 = "espace = pause";
char* texte3 = "echap = quitter";
int score=0;
InitialiserGraphique();
/*initialisation de la taille de la fenetre de jeux*/
CreerFenetre(10,10,1450,840);
/* remplisage du fond d'écran */
grey = CouleurParComposante(35,35,35);
ChoisirCouleurDessin(grey);
RemplirRectangle(0,0,1450,840);
/* affichage des contours */
black = CouleurParComposante(0,0,0);
ChoisirCouleurDessin(black);
RemplirRectangle( 17, 17, 1206, 3);
RemplirRectangle( 17, 17, 3, 806);
RemplirRectangle( 17, 820, 1206, 3);
RemplirRectangle( 1220, 17, 3, 806);
/*affichage du score */
RemplirRectangle( 1241, 17, 195, 3);
RemplirRectangle( 1241, 17, 3, 806);
RemplirRectangle( 1241, 820, 195, 3);
RemplirRectangle( 1433, 17, 3, 806);
/*affichage fonction des touches*/
white = CouleurParComposante(255,255,255);
ChoisirCouleurDessin(white);
EcrireTexte(1250, 300, texte1, 1);
EcrireTexte(1250, 345, texte2, 1);
EcrireTexte(1250, 390, texte3, 1);
/*affichage compteur pomme (score)*/
/*EcrireTexte(1250, 600, num_score, 2);*/
/* remplissage du plateau de jeux avec les couleur adéquate */
for (i = 0; i < LIGNES; i++) {
for (j = 0; j < COLONNES; j++) {
if ( tableau[i][j] == 0) {
green = CouleurParComposante(50,205,50);
ChoisirCouleurDessin(green);
RemplirRectangle(20*(j+1),20*(i+1),20,20);
}
if ( tableau[i][j] == 1 || tableau[i][j] == -1 || tableau[i][j] == -2) {
yellow = CouleurParComposante(255,255,0);
ChoisirCouleurDessin(yellow);
RemplirRectangle(20*(j+1),20*(i+1),20,20);
}
if ( tableau[i][j] == 2) {
red = CouleurParComposante(255,0,0);
ChoisirCouleurDessin(red);
RemplirRectangle(20*(j+1),20*(i+1),20,20);
}
}
}
/* déallocation du tableau */
for ( i = 0; i < LIGNES; i++) {
free(tableau[i]);
}
free(tableau);
Touche();
FermerGraphique();
}