Labyrinthe
adventuretime
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
adventuretime Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
adventuretime Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour j'ai fais un labyrinthe dans une matrice en 1 et 0 le représente un mur (etoiles)
et 0 vide
je voudrais que quand mon carré rencontre un mur il s'arrête comment faire ? une idée ?
et 0 vide
je voudrais que quand mon carré rencontre un mur il s'arrête comment faire ? une idée ?
A voir également:
- Le labyrinthe 2 film complet en français - youtube gratuit
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Telechargement film d'action complet en francais - Télécharger - TV & Vidéo
- Telecharger film complet sur mobile gratuit - Télécharger - TV & Vidéo
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
1 réponse
Déjà, faudrait voir comment tu as géré le déplacement ?
Mais algorithmiquement parlant c'est assez simple.
Si flèche droite et case à droite = 1 alors se déplacer à droite
Si flèche gauche et case à gauche = 1 alors se déplacer à gauche
etc.
Ainsi tu te déplaceras pas si la case visée est un mur.
Cdlt,
Mais algorithmiquement parlant c'est assez simple.
Si flèche droite et case à droite = 1 alors se déplacer à droite
Si flèche gauche et case à gauche = 1 alors se déplacer à gauche
etc.
Ainsi tu te déplaceras pas si la case visée est un mur.
Cdlt,
je dois surement ajouter une condition avant le déplacement mais laquelle ?
case 77 ? Ca serait plus clair de mettre case RIGHT: en mettant un #define RIGHT 77. Qu'en penses-tu ?
La remarque s'applique également aux autres cases.
GotoXY(posx=posx+1,posy);
Faudrait vérifier que tu n'es pas tout à droite avant... Sinon tu sors du tableau.
La remarque s'applique également aux autres cases.
je dois surement ajouter une condition avant le déplacement mais laquelle ?
Tout à fait. C'est celle que je t'ai indiquée dans mon 1er post.
Si flèche droite : case RIGHT:
Si je peux me déplacer à droite : if (posx+1<COLONNE_MAX && tableau[posx+1] != MUR)
Alors je me déplace à droite : GotoXY(...)
Idem pour les autres directions.
Dans les autres cas, tu ne fais rien. Ainsi pas de déplacement.
Attention à l'indentation irrégulière.
Cdlt,
Quelle taille fait ton tableau ?
if ((posy-1 >5 )&& (mat[posy-1][posx]!=1))
Pourquoi > 5 ? Et pas >= 0 ?
if ((posx==1)&&(posy==6))
A quoi ça sert ?
mat[posy][posx]...
GotoXY(posx,posy=posy-1);
N'y aurait-il pas d'inversion entre les X et les Y ?
parceque mon labyrinthe est fais comme sa
et le if ((posx==1)&&(posy==6))
sert a : quand le carre arrive a (1.6) le joueur auras gagner
et non c'est pas l'inverse :(