[sdl/c++] jeu simple pour commencer dans la programmation des jeux

Description

Principe :
Le Hero doit pousser 2 personnages qui tournent chacun en rond pour que ceux-ci puissent manger leur champignon respectif et ainsi débloquer une clé et une porte pour passer au niveau suivant.

But recherché lors du développement :
Je souhaitais créer un jeu modulable et ouvert.
J'ai concrétisé ce souhait avec 2 "principes" :
--> Les niveaux sont chargés à partir de fichiers texte. Le plateau de jeu constitue 25 lignes et 25 colonnes.
à quoi correspond chaque caractère un fichier :
x -> vide
b -> brique
k -> cle
d -> porte
h -> hero
1 -> ennemi 1
2 -> ennemi 2
G -> objet 1
R -> objet 2
Elements indispensables -> k, d, h, 1, 2, G, R
Au démarrage du jeu, le fichier "1" est chargé. Quand le premier niveau est terminé, le fichier "2" est chargé et ainsi de suite tant qu'il existe le fichier suivant.
--> Les images sont facilement changeables. Pour les changer, il suffit de déposer votre image (32x32) dans le répertoire "images" et de la renommer correctement.

Les petits challenges ont été de découpé l'écran en un tableau afin qu'il corresponde aux fichiers textes, la gestion de collision, la gestion des FPS, la conception objet (l'héritage et l'utilisation d'une classe dans une autre).
J'ai négligé la partie gestion des erreurs.

J'ai créé ce projet au départ pour Windows et je l'ai porté sous Linux. Cela m'a permit d'apprendre l'utilisation de gcc et make. Je ne peux pas poster les 2 versions ici car zip trop volumineux.
J'ai posté ici la version Linux. Si cela vous intéresse je vous envoi par mail la version Windows.

PS : Lancer l'exe dans un terminal et vous aurez le choix entre fenetre et plein écran et un petit mode debug.

Conclusion :


Ce projet m'a apporté beaucoup de connaissance.
J'attends vos critique pour son amélioration.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.