Projet Pong en language C
TD : Projet Pong en language C. Recherche parmi 300 000+ dissertationsPar Raihan Khelifa • 29 Novembre 2017 • TD • 3 255 Mots (14 Pages) • 2 034 Vues
KHELIFA Raihan TS SN1
Projet Pong
Sommaire
- Introduction
1)Présentation de pong
2)Présentation du projet
- Les Algorithmes
1)Balle
2)Raquette
- Code source
1)Balle
2)Raquette
I) Introduction
1) Présentation de pong :
Pong est le tout premier jeu vidéo grand-public, apparu en 1972, est un succès commercial. Il a été imaginé par l'Américain Nolan Bushnell et développé par Allan Alcorn, et la société Atari le commercialise à partir de novembre 1972.
Le concept original de Pong est un simulateur simple de ping-pong (tennis de table), reprenant le nom du jeu.
Au tennis de table, les joueurs se tiennent de chaque côté d'une table de ping-pong et manient une raquette pour frapper une petite boule entre eux dans les deux sens.
Ce concept de base est celui de Pong. Une petite « boule », se déplace à travers l'écran, rebondissant sur les rebords du haut et du bas,
et le joueur commande un « paddle », qui glisse de en haut en bas à travers les extrémités de l'écran. Si la boule frappe la palette,
elle rebondit vers l'autre joueur. Si elle manque la palette, l'ordinateur marque un point. La « boule » rebondit de différentes manières
selon la façon dont la boule touche la palette.
2)Présentation du projet :
Notre projet était de réaliser le jeu Pong dans le langage C a l'aide principalement de la fonction ncurses qui permet de changer la maniere d'utiliser le terminal cette fonction permet entre autre de :
Ø Utiliser tout l’écran du terminal,
Ø Créer et gérer des fenêtres,
Ø Utiliser 8 couleurs différentes,
Ø Pouvoir prendre le contrôle du programme par la souris,
Ø Utiliser les touches de fonction du clavier.
II)Les algorithmes
1)algorithme de la balle :
[pic 1]
2)algorithme de la raquette :
[pic 2]
III)Code source
#include
#include
#include
#include
int kbhit(void)
{
struct timeval tv = { 0, 0 };
fd_set readfds;
FD_ZERO(&readfds);
FD_SET(STDIN_FILENO, &readfds);
return select(STDIN_FILENO + 1, &readfds, NULL, NULL, &tv) == 1;
}
// Balle :
#define MONTEEXPLUS 0
#define MONTEEXMOINS 1
#define DESCENTEXPLUS 2
#define DESCENTEXMOINS 3
// Raquette :
#define POSX_RAQ 2
#define DEBUT_RAQ 3
#define MONTEE 'z'
#define DESCENTE 's'
int TAILLE_RAQ=5;
int PAUSE=70000;
int main(void)
{
// Balle :
double dimy,dimx,curseur;
int deplacement,x,y;
// Raquette :
int pos_y_debut,pos_y_fin,taille;
char touche;
int score=0,bestscore=0;
initscr(); //ncurses
curseur=curs_set(0);
noecho();
...