JEU DE LABYRINTHE ALÉATOIRE (VC++,MFC, SDI)

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 3 janv. 2004 à 13:49
CausPupus Messages postés 32 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 31 décembre 2005 - 25 juin 2005 à 14:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19176-jeu-de-labyrinthe-aleatoire-vc-mfc-sdi

CausPupus Messages postés 32 Date d'inscription vendredi 13 décembre 2002 Statut Membre Dernière intervention 31 décembre 2005
25 juin 2005 à 14:21
Ca me rapelle un morceau de code que j'avais fais en vb à mes début de programmation.
Enfin ça doit moins lagger, c'est sûr.
Je vais jetter un coup d'oeil par curiosité.
sylvero Messages postés 1 Date d'inscription dimanche 21 décembre 2003 Statut Membre Dernière intervention 8 janvier 2004
8 janv. 2004 à 22:06
Salut,
Merci de vos commentaires, ca fait plaisir que le code soit essayé.

>Kirua
Pour la vue du labyrinthe c'est assez classique de ne pas voir tout d'un coup. C'est rare qu'on est le plan d'un nioveau d'un coup.

Le bug de la sortie est résolu. Je ne m'attarde pas trop sur le smooth, mon but est plus d'utiliser cette partie du code comme carte pour un labyrinthe en 3D. Je suis déjà en train de l'améliorer, j'ai presque fini le scrolling, et j'ai ajouté une fonction de zoom + - pour augùmenter et diminuer la taille des murs et couloirs. Je mettrai bientôt le code.

>Saros
Merci bcp 10/10 c'est sans doute bcp pour ce petit bout de code :o)

>LordBob
J'avais cru lire que les exe était interdit...mais bon si ca passe je le mettrai dans la prochaine version...
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
4 janv. 2004 à 19:39
j'ai pas encore pu compiler ta source, car je n'ai pas mon compilateur sous la main, ca serait bien si tu pouvais rajouter l'exe avec ta source... et ton jeu il est en 2 ou 3 dimensions?
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
3 janv. 2004 à 19:03
Marrant... J'ai changé la couleur d'effacement en la mettant au noir, et ça rend un peu mieux, avant j'arrivais pas tellement à distinguer le blanc du labyrinthe du blanc de la fenêtre... Sinon, c'est parfait (un peu chiant quand on se rend compte après une heure de recherche que la sortie était à 3 cases du départ...)
10/10
Saros
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
3 janv. 2004 à 13:58
j'ajoute juste un truc, j'ai pas encore coté ce code (j'ai encore fait qq niveaux :-P ça doit en faire 5 a utotal c marrant), si tu ajoutes les modifs je mets 8, sinon 7 ;-) t'as probablement rien à f*** de mon avis mais vala, j'aime bien coter les code que je regarde, et pr moi ça vaut bien 8 si tu modifies ;-)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
3 janv. 2004 à 13:49
j'aim ton jeu, je viens de finir un niveau, ça m'a pris blindé de temps O_o c original de ne pas afficher tout le labyrinthe dès le départ, c'est bien pensé, c'est de toi cette idée ou tu as vu ça ailleurs?

je vais commencer le niveau 2, ce serait cool un chrono oui, avec système de points, peut-être des objets à ramasser mais qui ne sont pas forcément sur le chemin le plus court vers la sortie.

ah puis aussi, essaie de "smoother" le déplacement du carré rouge, càd de lisser ses mouvements, qui pr l'instant sont de plusieurs pixels d'un coup. évidemment ça complique pas mal puisque déplacer d'une case d'un coup d très facile, mais regarde, tu fais un "flag" qui retient si le carré est en mouvement, et si oui ds quelle direction, par exemple ça donne ça avec un enum:

enum Mouvement
{
Arret = 1,
Gauche,
Droite,
Bas,
Haut
};

alors tu crées une variable (une propriété) Mouvement, et à chaque frame tu vérifies cette variable, si le carré est parfaitement sur une case, tu la mets à Arret, sinon tu le bouge ds la direction indiquée, de 1 pixel par exemple. Comme dès que tu appuies sur une touche tu modifies la direction et que tu déplaces immédiatement le carré de 1 pixel, à la prochaine frame le carré rouge ne sera pas parfaitement sur une case, et donc il sera déplacé à chaque frame un tout petit peu jusqu'à être parfaitement placé.

vala, j'espère que c t clair ;-)


PS: un truc, qd on essaye de sortir par l'entrée du labyrinthe, ça plante (je suppose que c à cause d'un accès à un indice non déclaré d'un tableau)
Rejoignez-nous