jeu de snake pour terminal More...
#include <ncurses.h>#include <unistd.h>#include <stdlib.h>#include <time.h>#include <stdio.h>#include <string.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, int largeur, int hauteur) |
| affiche le plateau de jeu représentant l'état de la partie | |
| void | initPlateau (char **plateau, int largeur, int hauteur) |
| initialise le plateau avant le démarrage de la partie(contours,fond et serpent) | |
| void | placerPomme (char **plateau, int largeur, int hauteur, int cellulesVides[][2], int tlogCellulesVides) |
| placer une pomme aléatoirement sur le plateau | |
| void | creerTableauSansSerpent (char **plateau, int largeur, int hauteur, int cellulesVides[][2], int *tlogCellulesVides) |
| creer un tableau contenant toutes les positions disponibles pour placer une pomme | |
| Tab2 | deplacementTete (char **plateau, int largeur, int hauteur, Tab2 tete, Tab2 dir) |
| détermine les nouvelles coordonnées de la tête | |
| void | majPlateau (char **plateau, int largeur, int hauteur, Tab2 corps[], Tab2 tete, int taille, Tab2 dir) |
| met à jour la position du serpent sur le tableau plateau de jeu | |
| void | testCollisions (char **plateau, int largeur, int hauteur, Tab2 tete, int *surPomme, int *collision) |
| vérifie si la tête est en collision avec un mur, sa queue ou une pomme | |
| int | lancerPartie (int largeur, int hauteur, float vitesse, int nbPommes) |
| lance une partie de snake | |
| char ** | allouerPlateau (int hauteur, int largeur) |
| alloue le plateau de jeu sur le tas | |
| void | libererPlateau (char **plateau, int hauteur) |
| libère le plateau de jeu alloué en début de partie | |
| void | afficheMenu (WINDOW *win1, WINDOW *win2, char colorTab[][10], char sizeTab[][10], char speedTab[][10], int pos, int itSize, int itSpeed, int itColor, int nbPommes, int score) |
| affiche le Menu du jeu | |
| void | menu (void) |
| menu du jeu qui permet de parametrer sa partie | |
| int | customMenuSize (int tailleCustom, int vitesseCustom, int *largeur, int *hauteur, float *vitesse, int itColor) |
| affiche des sous fenêtres pour que le joueur choisisse ses préférences | |
jeu de snake pour terminal
| void afficheMenu | ( | WINDOW * | win1, |
| WINDOW * | win2, | ||
| char | colorTab[][10], | ||
| char | sizeTab[][10], | ||
| char | speedTab[][10], | ||
| int | pos, | ||
| int | itSize, | ||
| int | itSpeed, | ||
| int | itColor, | ||
| int | nbPommes, | ||
| int | score ) |
affiche le Menu du jeu
| [in] | win1 | fenêtre principale du menu |
| [in] | win2 | fenêtre secondaire du menu |
| [in] | colorTab | tableau des options de couleur |
| [in] | sizeTab | tableau des options de taille |
| [in] | speedTab | tableau des options de vitesse |
| [in] | pos | position verticale du curseur du joueur sur le menu |
| [in] | itSize | itérateur sur l'indice du sizeTab |
| [in] | itSpeed | itérateur sur l'indice du speedTab |
| [in] | itColor | itérateur sur l'indice du colorTab |
| [in] | nbPommes | nombre de pommes choisi |
| [in] | score | score du joueur de la dernière partie |
| void affichPlateau | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur ) |
affiche le plateau de jeu représentant l'état de la partie
| [in] | plateau | tableau à double entrée contenant des charactères |
| [in] | largeur | largeur du plateau à afficher |
| [in] | hauteur | hauteur du plateau à afficher |
| char ** allouerPlateau | ( | int | hauteur, |
| int | largeur ) |
alloue le plateau de jeu sur le tas
| [in] | hauteur | hauteur du plateau à allouer |
| [in] | largeur | largeur du plateau à allouer |
| void creerTableauSansSerpent | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur, | ||
| int | cellulesVides[][2], | ||
| int * | tlogCellulesVides ) |
creer un tableau contenant toutes les positions disponibles pour placer une pomme
| [in] | plateau | tableau à double entrée du jeu |
| [in] | largeur | largeur du plateau |
| [in] | hauteur | hauteur du plateau |
| [out] | cellulesVides | tableau contenant les coordonnées disponibles pour placer une pomme |
| [out] | tlogCellulesVides | taille logique du tableau cellulesVides |
| int customMenuSize | ( | int | tailleCustom, |
| int | vitesseCustom, | ||
| int * | largeur, | ||
| int * | hauteur, | ||
| float * | vitesse, | ||
| int | itColor ) |
affiche des sous fenêtres pour que le joueur choisisse ses préférences
| [in] | tailleCustom | vrai si le joueur à choisi de customiser la taille du plateau, faux sinon |
| [in] | vitesseCustom | vrai si le joueur à choisi de customiser la vitesse du jeu, faux sinon |
| [in,out] | largeur | largeur du plateau |
| [in,out] | hauteur | hauteur du plateau |
| [in,out] | vitesse | intervalle entre chaque affichage du plateau |
| [in] | itColor | itérateur sur l'indice du colorTab pour connaître la couleur à afficher |
détermine les nouvelles coordonnées de la tête
| [in] | plateau | tableau à double entrée du jeu |
| [in] | largeur | largeur du plateau de jeu |
| [in] | hauteur | hauteur du plateau de jeu |
| [out] | tete | les coordonnées de la tête du serpent |
| [in] | dir | la direction dans laquelle le joueur souhaite se diriger |
| void initPlateau | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur ) |
initialise le plateau avant le démarrage de la partie(contours,fond et serpent)
| [out] | plateau | le tableau à initialiser |
| [in] | largeur | largeur du tableau à initialiser |
| [in] | hauteur | hauteur du tableau à initialiser |
| int lancerPartie | ( | int | largeur, |
| int | hauteur, | ||
| float | vitesse, | ||
| int | nbPommes ) |
lance une partie de snake
| [in] | hauteur | hauteur du plateau |
| [in] | largeur | largeur du plateau |
| [in] | vitesse | intervalle entre chaque affichage du plateau |
| [in] | nbPommes | le nombre de pommes à positionner sur le plateau |
| void libererPlateau | ( | char ** | plateau, |
| int | hauteur ) |
libère le plateau de jeu alloué en début de partie
| [in] | plateau | le tableau à libérer |
| [in] | hauteur | hauteur du plateau à libérer |
| void majPlateau | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur, | ||
| Tab2 | corps[], | ||
| Tab2 | tete, | ||
| int | taille, | ||
| Tab2 | dir ) |
met à jour la position du serpent sur le tableau plateau de jeu
| [in,out] | plateau | tableau à double entrée du jeu |
| [in] | largeur | largeur du plateau |
| [in] | hauteur | hauteur du plateau |
| [in,out] | corps | tableau contenant les coordonnées de chaque segment du serpent et de la tete |
| [in] | tete | les coordonnées de la tête du serpent |
| [in] | taille | taille du serpent et taille logique de corps[] |
| [in] | dir | la direction dans laquelle le joueur souhaite se diriger |
| void placerPomme | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur, | ||
| int | cellulesVides[][2], | ||
| int | tlogCellulesVides ) |
placer une pomme aléatoirement sur le plateau
| [out] | plateau | tableau à double entrée du jeu |
| [in] | largeur | largeur du plateau |
| [in] | hauteur | hauteur du plateau |
| [in] | cellulesVides | tableau contenant les coordonnées disponibles pour placer une pomme |
| [in] | tlogCellulesVides | taille logique du tableau cellulesVides |
| void testCollisions | ( | char ** | plateau, |
| int | largeur, | ||
| int | hauteur, | ||
| Tab2 | tete, | ||
| int * | surPomme, | ||
| int * | collision ) |
vérifie si la tête est en collision avec un mur, sa queue ou une pomme
| [in] | plateau | tableau à double entrée du jeu |
| [in] | largeur | largeur du plateau de jeu |
| [in] | hauteur | hauteur du plateau de jeu |
| [in] | tete | les 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 |