|
| While, do, Boucle infinie... | |
| | Auteur | Message |
---|
keïtchi Utilisateur confirmé: Rang **
Messages : 366 Localisation : Don't Follow me, I'm lost too!
| Sujet: While, do, Boucle infinie... Jeu 22 Nov 2007 - 20:44 | |
| Voila, je voudrais utiliser une boucle pour le deplacement de mes monstre, pour qu'il s'arrete a 1 pixel du decord donc j'avez penser utilser while ou do exemple: while (place_free(x,y+1)) { y+=1; } else { y=yprevious; } je penser "il vas faire y+1 en boucle jusqu'a ce que ca place ne soit plus free" Bha non, monsieur il me fait une boucle infinie qui fait bugé le pc. xD En plus avec while else marche pas =/ Quelqu'un pourais m'aidez s'il vous plais. |
| | | Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: While, do, Boucle infinie... Jeu 22 Nov 2007 - 20:55 | |
| Mmhh, les while ce n'est pas ce qu'il y a de plus décent ... Je crois que ton else n'a rien à faire là, essaye : - Code:
-
while (place_free(x,y+1)) { y+=1; } if(place_free(x,y+1)) { y=yprevious; }
Je ne suis pas un pro des place_free(), donc j'ai juste corrigé le code ... |
| | | Innoson Utilisateur confirmé: Rang ****
Messages : 927 Projet Actuel : Aller voir la bas si jy suis.
| Sujet: Re: While, do, Boucle infinie... Ven 23 Nov 2007 - 20:02 | |
| Bien, place_free(x,y) estune fonction qui permet de vérifier si, l'objet courant se place a x et y et qu'il y a un objet solid en collision (true = aucun objet solid a la position). Je croit qe le code de Damnator est juste mais les boucle sont toujour mauvais signe si elle sont mal utiliser : méfiance ! |
| | | master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: While, do, Boucle infinie... Ven 23 Nov 2007 - 21:31 | |
| non le code de damator est pas bon. ca bouffe du memory pour rien tu bouge jusqu'a ce que tu arrives en position au dessus d'un object tu retourne a ta pos d'origine, l'interêt je le voit pas mais un cnseil n'utilise pas de while pour faire ce genre de calculs, ca bouffe 2x + qu'un for et ca rend pas le resultat immédiat donc ca rend la demarche de ton bonhomme moche. Car une fois tu verras ton bonhomme en l'air et le step après direc sur le sol donc ca donne rien EDIT : voila une petite correction de ton code : - Code:
-
if place_free(x,y+2) { y += 1 }
il va s'aretter au dessus de ton sol EDIT 2 :voila ce que tu aurais obtenu avec un while mais avec un for - Code:
-
for(i=0;place_free(x,y+i+1);i+=1) { y+=i ; }
|
| | | Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: While, do, Boucle infinie... Ven 23 Nov 2007 - 22:13 | |
| Désolé, je n'ai pas répondu à la question mais juste corrigé le code, je ne sais pas utiliser les place_free() ( ou du moins cela ne me sert pas pour les jeux que je fait ... ) |
| | | keïtchi Utilisateur confirmé: Rang **
Messages : 366 Localisation : Don't Follow me, I'm lost too!
| Sujet: Re: While, do, Boucle infinie... Ven 23 Nov 2007 - 23:02 | |
| en faite c'était un exemple, car en faite le vrais problem c'est de faire reculer les ennemis dans mon jeux, J'utilise un system de path et de grille ce qui rend la chose encor moins facile j'avais pensser utiliser une boucle plutôt que: - Code:
-
if (place_free(x,y-16)) { path_start(path_recule,5,0,true); if (!mp_grid_path(global.grid,path_recule,x,y,x,y-16,true)) { path_delete(path_recule); } } else { if (place_free(x,y-15)) { path_start(path_recule,5,0,true); if (!mp_grid_path(global.grid,path_recule,x,y,x,y-15,true)) { path_delete(path_recule); } } else { if (place_free(x,y-14)) { path_start(path_recule,5,0,true); if (!mp_grid_path(global.grid,path_recule,x,y,x,y-14,true)) { path_delete(path_recule); } } else { ................. else { if (place_free(x,y-1)) { path_start(path_recule,5,0,true); if (!mp_grid_path(global.grid,path_recule,x,y,x,y-1,true)) { path_delete(path_recule); } } } } } ..... }
vous voyer le truc quoi... si je pouver éviter d'avoir a m'arquer ca pour les 4 directions en faisant une boucle ca rendrez mon code plus propre, moins gourmand,baucoup moins long et plus compréensible ^^ |
| | | Scheb Utilisateur confirmé: Rang *
Messages : 176 Localisation : Dans une galaxie lointaine, très lointaine... vers Nice^^(France,côte d'azur) Projet Actuel : GAIA v2.0
| Sujet: Re: While, do, Boucle infinie... Sam 24 Nov 2007 - 19:24 | |
| je viens de decouvrir un truc important sur les boucles:
si on utilise une boucle disant "fait ça jusqu'à ce que ça soit = 2 (par exemple)" et que si c'est deja = 2 au commencement de la boucle, ça plente!
donc il faut bien verifier que l'on soit sûr que la "condition" n'est pas "vrai" des le debut!
(même si ça ne resoud pas la question donné, certain cbnateur ou cbnatrice qui ont des probleme a ce niveau la, le saurons) |
| | | Contenu sponsorisé
| Sujet: Re: While, do, Boucle infinie... | |
| |
| | | | While, do, Boucle infinie... | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |