Breakzen : Un casse brique en C grâce à la librairie allegro

Breakzen : Un casse brique en C grâce à la librairie allegro - C - Programmation

Marsh Posté le 30-08-2006 à 15:24:36    

C'est mon tout premier programme en C. Nous l'avons fait a deux avec un pote de promo dans le cadre du cycle prépa de mon école d'ingénieur.
Nous devions juste faire un programme en pascal ou en C avec minimum une 40 aine d'heures de travail dessus.
Voici le cassebrique que nous avons programmé !
 
Connaissance en C au départ : Aucune.
Pour lui: base en turbo-pascal
Pour moi: HTML, php, turbo-pascal et delphi
 
Alors oui, le code peut etre déguelasse à certains endroits mais on est quand meme super content de ce que l'on a réussi à pondre.
Je remercie également tous les forumeurs de developpez.com et hardware.fr qui ont passé du temps à m'expliquer des trucs parfois bidons.
 
 
Ca lag sur certains ordi et ca ne dépend pas de la puissance du processeur.
J'ai pas trouvé pourquoi.
 
la version compilée et donc executable est téléchargeable ici : http://4lhorizons.free.fr/breakzen/breakzen.rar
 
Laissez vos commentaires ce qu'il faut changer, les bugs, ce que vous en avez pensé.
 
Merci d'avance
 
Ps: une intro est disponible en enlevant le // devant intro(); dans le main.c
 
une capture : http://4lhorizons.free.fr/breakzen/breakzen.jpg
 
 
La version compilée et executable
Les sources


Message édité par piloud le 30-08-2006 à 15:26:03
Reply

Marsh Posté le 30-08-2006 à 15:24:36   

Reply

Marsh Posté le 30-08-2006 à 15:29:50    

Bravo pour votre travail.
 
Remarques : Beaucoup de choses en dur, pas de ifndef/endif dans les .h, des .o dans l'archive des sources, pas ou peu de commentaires, de la duplication de code ...


---------------
Töp of the plöp
Reply

Marsh Posté le 31-08-2006 à 00:08:53    

je trouve le système de l'environnement torique un peu étrange, mais bon c'est un choix :)
 
Sinon ça me rappelle fortement le jeu LBreakout qu'on trouve sous linux, il y a le meme système de bonus.

Reply

Marsh Posté le 31-08-2006 à 03:20:50    

Je voudrais pas paraitre ignare mais c´est quoi l´environnement torique ?
 
Je me suis meme pas inspiré de LBreakout puisque je ne le conais pas :D

Reply

Marsh Posté le 31-08-2006 à 14:12:56    

piloud a écrit :

Je voudrais pas paraitre ignare mais c´est quoi l´environnement torique ?


 
L'environnement torique c'est le fait que quand la balle arrive à gauche de l'écran elle passe du côté droit. En fait c'est juste cylindrique, pas torique (j'imagine que quand la balle arrive tout en haut elle réapparait pas en bas  :pt1cable: )
 
http://upload.wikimedia.org/wikipedia/fr/1/19/Tore.png
 
http://upload.wikimedia.org/wikipedia/commons/b/bd/Cylinder_comp.jpg
 

Reply

Marsh Posté le 01-09-2006 à 03:03:42    

:) ca c´est juste une sorte de bonus mechant appelé "Téléportation"
c´est très destabilisant , surtout quand la balle va vite.
Mais c´est jamais actif tout le temps... c' est quand tu choppe la boule orange avec un "T" dessus.
C´est actif uniquement pendant un certain temps affiché en bas à droite.

Reply

Marsh Posté le 01-09-2006 à 07:46:15    

Salut, pour détecter les lags, tu pux essayer d'utiliser un profiler sur certaines parties de ton code. Sinon, j'ai pas regardé en profondeur, mais jouer_son est correctement géré ? Il ne relit pas les fichiers de son à chaque fois j'espère ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 03-09-2006 à 22:28:40    

en gros, pour les sons ( pas la musique, juste les sons) , ya 2 procedures:  
-son_de_base() qui charge les 2 sons les plus communs dans la ram (explosions de brique) et après ya juste à les jouer quand necessaire.
-Jouer_son qui va chercher le .wav, le charge dans la ram, trouve un canal  de son non utilisé par un autre son en cours, joue le son, décharge la ram quand la lecture du son est finie.
 
Jouer_son me permet de jouer plusieurs son a la fois, avant j'utilisais la fonction de base d'allegro mais lancer un nouveau son remplacait le son en cours donc j'ai trouvé cette bidouille pour avoir plusieurs simultanément

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed