begin process at 2012 02 07 09:28:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > SNAKE (EN OPENGL)

SNAKE (EN OPENGL)


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Niveau :Débutant Date de création :18/04/2005 Date de mise à jour :21/04/2005 19:10:19 Vu / téléchargé :4 707 / 798

Auteur : feanor11

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Snake créé en C++ à l'aide d'OpenGL et du compilateur Dev-C++. (Mon tout premier jeu ; soyez indulgent !)



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • drawing.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 016 octets
  • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier8 601 octets
  • snake.devTélécharger ce fichier [Réservé aux membres club]1 002 octets
  • snake.exeTélécharger ce fichier [Réservé aux membres club]1 313 448 octets

Télécharger le zip


 Historique

20 avril 2005 19:15:16 :
Merci à vous (ceux qui ont posté les commentaires en réponse à ma question) ! Grâce à vous, les cibles s'éditent désormais à des positions différentes à chaque exécution !
21 avril 2005 19:10:19 :
Ca y est, le diamant ne peut désormais plus apparaître dans le serpent. J'ai aussi rajouté un petit complément : désormais, les diamants en bordure, plus difficiles à attraper, rapportent plus de points. Je transformerais plus tards les GL_TRIANGLES en GL_QUADS (je ne sais pas encore comment s'utilise ce dernier).

 Sources du même auteur

Source avec Zip Source avec une capture MISSILE COMMAND AVEC GDI
Source avec Zip Source avec une capture PONG AVEC GDI
Source avec Zip Source avec une capture JEU DE MISSILE

 Sources de la même categorie

Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79
Source avec Zip AUTRE GRILLE DE SUDOKU par Eneur
Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika

Commentaires et avis

Commentaire de Bloutiouf le 18/04/2005 18:07:31

Je crois qu'il faudrait initialiser le générateur de nombre aléatoires mais c'est tout ce que je peux te dire désolé... faudrait que je pense à ça aussi un de ces jours !

Commentaire de cosmobob le 18/04/2005 18:08:15

salut,
"Vous observerez que les lieux d'apparition des cibles vertes à avaler se font toujours aux mêmes endroits à chaque exécution (alors que le jeu les édite aléatoirement avec la fonction rand). Si quelqu'un à une explication, qu'il la donne !"

> fais un srand(time(0)) une seule fois avant que ton jeu ne se démarre. Les rands sont les memes qd la graine de ton generateur aléatoire est toujours la meme ou n'est pas mise (l'entier a l'interieur du srand).

a+ ;)

Commentaire de Kirua le 19/04/2005 17:00:03

je vais quand même expliciter un peu cela.

tu dois passer un 'seed' à ton générateur de nombres pseudo-aléatoires. en réalité, ce 'seed' détermine la suite quelque peu chaotique (d'où son intérêt pr le pseudo-aléatoire) de nombres que tu récupères un à un en appelant rand(). bien entendu, pour un même seed, tu as une même liste, et donc, tu dois trouver un moyen d'affecter un seed chaque fois différent à ton générateur à chaque exécution. tu as compris que lui passer un nombre aléatoire n'était pas une option :p donc, comme on n'a besoin que d'un nombre, on lui passe l'heure en cours, au moment du lancement du programme (en réalité, time() renvoie le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit, ce qu'on appelle communément l'heure Unix, et tu retrouveras cette date partout, quand on parle de timestamps)).

détail des prototypes:

time() prend un paramètre: un pointeur sur une structure time_t dans laquelle stocker le temps => t'en n'as pas besoin, tu mets donc 0 ou NULL (en C++, c'est équivalent).

srand() prend en paramètre un entier: le seed du générateur.

on fait donc communément ceci:

srand(time(NULL)); //initialise le générateur de nombres pseudo-aléatoires

Note: logiquement, tu n'appelles ceci qu'une seule fois, au démarrage du programme, plus JAMAIS après. n'essaye pas non plus de changer le seed avec un facteur, du style srand(time(0) * 5); -> ça n'améliore pas le "hasard".

Commentaire de Arnaud16022 le 20/04/2005 21:08:06

un .exe d'1Mo?? tu pourrais mettre ton projet en release
sinon
un bon point pour toi: pas de glut, 100% api win32
tu ne testes pas si le nouveau point que tu crées se trouve sur le serpent
pour dessiner: déja tu utilises des triangles alors qu'il y a GL_QUADS, mais en plus tu fais 2 fois glBegin(gl_triangles)
il y a un 's' a gl_triangles...
Sinon c'est bien, le fps est meme regulé
pas mal pour un 1er essai

Commentaire de feanor11 le 20/04/2005 22:53:00

A merci, je le cherchais PARTOUT ce GL_QUADS (vous connaissez un endroit ou sont référencés tous ces trucs ?)

Ca gêne si le point vert se trouve sur le serpent ?

Commentaire de Kirua le 20/04/2005 23:15:21

ben ça gêne euh, c'est à dire qu'on peut pas le manger quoi :p

des références y en a partout, cherche GL_QUADS GL_TRIANGLES GL_LINE(S) etc... tu verras bien des tableaux.

Commentaire de Arnaud16022 le 20/04/2005 23:42:32

c'est dans les #define, dans opengl.h
yen a un bon paquet... t'es pas obligé de tout lire (d'ailleurs C chiant a mourrir) mais ya quelques trucs dans cette longue liste qui sont intéressants
d'ailleurs ca m'étonne que tu sachs faire deds triangles et pas deds carres, en general on commence par apprendre a dessiner un cube...
enfin bon

Commentaire de Kirua le 20/04/2005 23:47:30

non, on commence par apprendre le triangel, tjs :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales