ShellSnake_minimalistic
 
Loading...
Searching...
No Matches
shellsnake.h File Reference

jeu de snake More...

#include <curses.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  Tab2
 coordonnées d'une case du tableau à double entrée plateau More...
 

Macros

#define TAILLEX   31
 
#define TAILLEY   19
 
#define INTERVALLE   1.3
 

Functions

void affichPlateau (char plateau[][TAILLEX])
 affiche le plateau de jeu représentant l'état de la partie
 
void initPlateau (char plateau[][TAILLEX])
 initialise le plateau avant le démarrage de la partie(contours,fond et serpent)
 
void placerPomme (char plateau[][TAILLEX], int cellulesVides[][2], int tlogCellulesVides)
 placer une pomme aléatoirement sur le plateau
 
void creerTableauSansSerpent (char plateau[][TAILLEX], int cellulesVides[][2], int *tlogCellulesVides)
 creer un tableau de toutes les positions disponibles pour placer une pomme
 
Tab2 deplacementTete (char plateau[][TAILLEX], Tab2 tete, Tab2 dir)
 détermine les nouvelles coordonnées de la tête
 
void majPlateau (char plateau[][TAILLEX], Tab2 corps[], Tab2 tete, int taille, Tab2 dir)
 met à jour la position du serpent sur le tableau plateau
 
void testCollisions (char plateau[][TAILLEX], Tab2 tete, int *surPomme, int *collision)
 vérifie si la tête est en collision avec un mur, sa queue ou une pomme
 

Detailed Description

jeu de snake

Author
tristan.gnl
Date
28/02/2025

Function Documentation

◆ affichPlateau()

void affichPlateau ( char plateau[][TAILLEX])

affiche le plateau de jeu représentant l'état de la partie

Parameters
[in]plateautableau à double entrée contenant des charactères

◆ creerTableauSansSerpent()

void creerTableauSansSerpent ( char plateau[][TAILLEX],
int cellulesVides[][2],
int * tlogCellulesVides )

creer un tableau de toutes les positions disponibles pour placer une pomme

Parameters
[in]plateautableau à double entrée du jeu
[out]cellulesVidestableau contenant les coordonnées disponibles pour placer une pomme
[out]tlogCellulesVidestaille logique du tableau cellulesVides

◆ deplacementTete()

Tab2 deplacementTete ( char plateau[][TAILLEX],
Tab2 tete,
Tab2 dir )

détermine les nouvelles coordonnées de la tête

Parameters
[in]plateautableau à double entrée du jeu
[out]teteles coordonnées de la tête du serpent
[in]dirla direction dans laquelle le joueur souhaite se diriger
Returns
les nouvelles coordonées de la tête du serpent

◆ initPlateau()

void initPlateau ( char plateau[][TAILLEX])

initialise le plateau avant le démarrage de la partie(contours,fond et serpent)

Parameters
[out]plateaule tableau à initialiser

◆ majPlateau()

void majPlateau ( char plateau[][TAILLEX],
Tab2 corps[],
Tab2 tete,
int taille,
Tab2 dir )

met à jour la position du serpent sur le tableau plateau

Parameters
[in,out]plateautableau à double entrée du jeu
[in,out]corpstableau contenant les coordonnées de chaque segment du serpent et de la tete
[in]teteles coordonnées de la tête du serpent
[in]tailletaille du serpent et taille logique de corps[]
[in]dirla direction dans laquelle le joueur souhaite se diriger

◆ placerPomme()

void placerPomme ( char plateau[][TAILLEX],
int cellulesVides[][2],
int tlogCellulesVides )

placer une pomme aléatoirement sur le plateau

Parameters
[out]plateautableau à double entrée du jeu
[in]cellulesVidestableau contenant les coordonnées disponibles pour placer une pomme
[in]tlogCellulesVidestaille logique du tableau cellulesVides

◆ testCollisions()

void testCollisions ( char plateau[][TAILLEX],
Tab2 tete,
int * surPomme,
int * collision )

vérifie si la tête est en collision avec un mur, sa queue ou une pomme

Parameters
[in]plateautableau à double entrée du jeu
[in]teteles coordonnées de la tête du serpent
[out]surPommeégal à 1 si le serpent est sur une pomme 0 sinon
[out]collisionégal à 1 si le serpent est sur sa queue ou un mur 0 sinon