SAE11_2023/JEUX_SERPENT/scene.c
2023-12-20 13:40:58 +01:00

91 lines
2.5 KiB
C

#include <stdlib.h>
#include <stdio.h>
#include <graph.h>
#include "fonction.h"
#define LIGNE 40
#define COLONNE 58
#define TAILLE_CASE 20
int i,j,posx=20, posy=20;
int p=0;
int i=0;
int pp=0;
int imageMenu;
void Terrain(){
if (pos_x[0] >1160 || pos_x[0]<20)
go_on=0;
if (pos_y[0]<20 || pos_y[0] >680)
go_on=0;
}
/*Fonction Pour créer la première scene du jeu*/
void DessinerScene(int segment, int serpent, int pomme){
for(i=0;i<LIGNE;i++){
for(j=0;j<COLONNE;j++){
ChoisirCouleurDessin(CouleurParComposante(0,0,0));
DessinerRectangle(posx,posy, TAILLE_CASE, TAILLE_CASE);
posx += 1;
posy += 1;
ChoisirCouleurDessin(CouleurParComposante(5,130,4));
RemplirRectangle(posx,posy, TAILLE_CASE, TAILLE_CASE);
posx += TAILLE_CASE;
posx -= 1;
posy -= 1;
}
posy += TAILLE_CASE;
posx = TAILLE_CASE;
}
snprintf(timer,6,"%02d:%02d", minute, seconde);
ChoisirCouleurDessin(CouleurParComposante(255,255,255));
EcrireTexte(10,760,timer,2);
for (i = 0; i < segment; i++){
AfficherSprite(serpent, 500-(i*20), 360);
pos_x[i]=500-(i*20);
pos_y[i]=360;
old_y[i]=pos_y[i];
old_x[i]=pos_x[i];
}
srand(time(NULL));
for (p = 0; p < 5; p++) {
pommex[p] = ((rand() % (58)+1)*20);
pommey[p] = ((rand() % (34)+1)*20);
AfficherSprite(pomme, pommex[p], pommey[p]);
}
}
/*création du menu d'accueil*/
void MenuDebut(){
imageMenu=ChargerSprite("IMG/menu1.png");
AfficherSprite(imageMenu,0,0);
EcrireTexte(450,100,"JEU DU SERPENT",2);
EcrireTexte(410,500,"Appuyer sur Q pour quitter",2);
EcrireTexte(290,400,"Appuyer sur Fleche de Droite pour lancer le jeu",2);
}
/*création du Menu de Fin*/
void MenuDeFin(int Nbr){
EffacerEcran(CouleurParComposante(0,0,0));
imageMenu=ChargerSprite("IMG/menu1.png");
AfficherSprite(imageMenu,0,0);
ChoisirCouleurDessin(CouleurParComposante(0,0,0));
EcrireTexte(500,100,"Game Over", 2);
snprintf(score,15,"Score : %04d", Nbr);
EcrireTexte(500,200,score,2);
snprintf(timer,14,"Temps : %02d:%02d", minute, seconde);
EcrireTexte(490,300,timer,2);
EcrireTexte(410,500,"Appuyer sur Q pour quitter",2);
/*EcrireTexte(350,600,"Appuyer sur R pour relancer une partie",2);*/
}
/*Apparition aléatoire des pommes*/
void Pomme(int pomme){
for (pp = 0; pp < 5; ++pp) {
AfficherSprite(pomme, pommex[pp], pommey[pp]);
}
}