AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 probleme d'objets qui se poussent, style Sokoban

Aller en bas 
5 participants
AuteurMessage
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 13:53

Bonjour,

j'ai besoin, un peu comme dans un sokoban, que mon petit bonhomme pousse des caisses.
pour une caisse, ca marche impecc, elle s'arrette, comme le bonhomme, des qu'elle est alignée sur une grille...

mais le hic c'est que je veux que si il y a une caisse derrière la première, celle ci soit aussi poussée et ainsi de suite, quelque soit le nombre de caisses...

je fais donc en D&D un événement dans mon objet "caisse" : si collision avec une caisse, celle ci se déplace (jusqu'à être alignée sur la grille ou elle s'arrêtte)...

mais parfois, une caisse passe sur une autre et là je ne comprends plus rien, elle semble disparaitre, sans que je sache si elle est dessous ou non...

quelqu'un peut il m'aider???

Je précise que ce n'est que du Drag & Drop et de la gestion de collision entre le bohomme et la caisse puis inter caisse...
En outre, la caisse (et le bonhomme) avancent d'un diviseur de 32, taille de mes sprites, histoire qu'elles se calent bien sur la grille... (je n'y avais pas pensé de suite, mais ça m'a parru nécessaire à l'usage...)

merci d'avance
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro


Messages : 1483
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 15:40

Avec GM et en plus seulement en Drag and Drop ça va être chaud.
Mais pas impossible heureusement pour toi. (mais en GML par contre)

ça me rappelle un jeu que j'avais programmer il n'y a que quelques mois:
http://panigame.fr/?section=presentation&jeu=kasteet
Où le jeu reposait entièrement sur cette question.

Bon je vais essayer de te pondre un truc:

Chacun des tes bloc sont des enfants de l'objet bloc.
Tu créer aussi l'objet personnage
Tout ce beau monde en solid.

Premier script: init
Code:

with bloc
{
      x_save=x;
      y_save=y;
      verrouiller=false;
}
with personnage
{
      x_save=x;
      y_save=y;
}
Deuxième script: charger_position
Code:

with bloc
{
      x=x_save;
      y=y_save;
}
with personnage
{
      x=x_save;
      y=y_save;
}
troisième script: deplacement
Code:

x+=global.x_deplacement
y+=global.y_deplacement
verrouiller=true;
quatrième script : move_perso
Code:

if (dir=="gauche")
{
      global.x_deplacement=-1;
      global.y_deplacement=0;
}
else if (dir=="droite")
{
      global.x_deplacement=+1;
      global.y_deplacement=0;
}
else if (dir=="haut")
{
      global.x_deplacement=0;
      global.y_deplacement=-1;
}
else if (dir=="bas")
{
      global.x_deplacement=1;
      global.y_deplacement=0;
}
init();
for(i=0;i<vitesse;i+=1)
{
      x+=global.x_deplacement;
      y+=global.y_deplacement;

      nb_bouger=0;
      nb_prisonnier=0;
     
      with bloc
      {
              if (not place_free(x,y))
              {
                        if (verrouiller==false)
                        {
                                deplacement()
                                other.nb_bouger+=1
                        }
                        else
                        {
                                other.nb_prisonnier+=1
                        }
                }
      }
      if (nb_bouger==0 and nb_prisonnier!=0)  // on annule tout
      {
                charger_position();
                break;
        }
}

[Exemple d'utilisation]
Dans ton objet personnage dans l'event d'une touche pressé ( par exemple à gauche)
Code:

dir="gauche"
vitesse=4;
move_perso()

pour aller à droite , il faudra changer pour dir="droite" , etc ...


Attention, je n'ai jamais essayer ce code, il est probable qu'il y est 2-3 erreurs, ce n'est pas grave, tu m'enverra le problème est je le solverais tant qu'il restera une erreur. Mais n'abandonne pas.

_________________
probleme d'objets qui se poussent, style Sokoban Pochetteprobleme d'objets qui se poussent, style Sokoban Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2


Dernière édition par arthuro le Dim 9 Sep 2012 - 20:21, édité 2 fois
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 16:22

globalement, j'aurais dit (en pseudo-code, j'me souviens moyens de la syntaxe de GM)

Si y'a une collision entre deux boites, alors leurs vitesse s'ajoute.

En gros, ça pourrait donner :

Code:

var other_box = instance_place(x,y,la_boite);

if (other_box)
{
  x+= other_box.hspeed;
}

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 20:30

je vais essayer tout cela...

mais pourquoi y a t il ce soucis de boite qui "mange" une autre en passant par dessus?

est ce un prb de game maker?

est ce la collision qui est gérée dès qu'il y a supperposition et non contact?
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 23:02

Bah c'est surement une erreur du genre :
if place_free(x+1,y,all) x+=5
En gros tu vérifie si la place est libre en x+1 mais pas en x+5 donc si en x+5 c'est occupé, ton objet est bloqué.
Il faut faire une boucle :
for (i=1;i<5;i+=1)
{
if place_free(x+1,y,all) x+=1
}
Revenir en haut Aller en bas
Termite
Utilisateur confirmé: Rang ****
Termite


Messages : 1005
Localisation : Dans ta charpente !
Projet Actuel : RayEngine 5.0

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptySam 8 Sep 2012 - 23:36

Euh, la boucle n'a pas d'intérêt, là tu vérifie 5fois si y'a rien à l'endroit x+1,y, en plus tu vérifie chaque type d'instance, bref c'est pas bon gnii

_________________
Because these are not the words of God, the same God that burnt the knowing.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 7:52

Ben si, x+1 est différent a chaque itération puisqu'il avance de 1 à chaque fois...
Et j'ai mis all parce que je savais pas quoi mettre, normalement tu met un objet wall parent à tous les obstacles.

Donc normalement c'est bon clinoeuil
Revenir en haut Aller en bas
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 11:58

donc, en résumé, il faut éviter d'utiliser l'événement "collision"?
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 14:27

Ben ca dépend, si ton objet est un bonus ou un truc du genre tu utilise les event collision mais si ce sont des murs, tu fais en sorte qu'il n'y ai pas de collisions clinoeuil
Revenir en haut Aller en bas
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 15:46

donc on ne peut pas vraiement utiliser le D&D pour ce genre de truc... passer par le code est inévitable... ou existe t il des ruses de sioux?
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 16:23

Tu peux utiliser les losanges bleu pour les if et les carrés gris pour les variables ; mais c'est bien plus lisible en gml.
Mais tu peux le faire en D&D, et au moins ca t'aidera a comprendre les variables ; donc fait comme tu préfère.
Revenir en haut Aller en bas
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 19:49

ça j'avais bien compris (je débute mais quand meme ;fleche_d )

je me demandais juste si mon probleme de caisse est solvable en D&D (sans passer par le code)

J'avoue que je suis programmeur débutant mais que je ne connais pas du tout le GML et j'avais pensé que le logiciel était l'idéal pour initier qq'un à la prog. Ce que je voulais faire avec mon neveu, mais il bloquait sur ce soucis de caisses qui se poussent, et moi aussi de fait...

d'ou la question : est ce solvable uniquement en D&D ou non?

en fait, pour pousser une caisse (style Sokoban), c'était aisé, ça fonctionne pile...

le hic c'est la caisse qui pousse la caisse... il semblerait que ce soit fonction des id de chaque caisse... c'est étrange...

j'avoue ne faire aucun test de "case vide" puisque je pousse la caisse dans laquelle je rentre en collision qui pousse (theoriquement) elle meme une autre caisse (ou pas)...

des lors, je n'avais que deux événements (outre le déplacement du "heros") : si collision heros / caisse et si collision caisse / caisse...

je dois m'y prendre comme un manche en fait... snif...
Revenir en haut Aller en bas
arthuro
Utilisateur confirmé: Rang ****
arthuro


Messages : 1483
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 20:23

el_loco67, t'inquiète pas tu va passer peu à peu du D&D au GML. Mais seulement, tu en demande trop pour l'instant, ce qui te force à utiliser le GML.

Sinon, tu as testé? C'est juste 3 script à copier-coller. (+1 code à placé)

_________________
probleme d'objets qui se poussent, style Sokoban Pochetteprobleme d'objets qui se poussent, style Sokoban Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 21:07

Oups désolé j'avais mal compris...
Mais le problème, c'est que tu veux apprendre à ton neveu un truc que tu sais pas faire toi ; donc ca va être hard...
Si il veut apprendre, il vaut mieux qu'il le fasse tout seul : il retiendra mieux et sera bien plus motivé : il saura que c'est pas facile de programmer et il abandonnera pas sous prétexte que "avant tout marchait et maintenant que j'ai tout touché ca bug de partout ; je suis une *****" ; il aura plus confiance en lui. Moi et la plupart des utilisateurs régulier de GM avont appris tout seul et sans aucun tuto ; donc ton neveu devrait aussi y arriver clinoeuil
Revenir en haut Aller en bas
el_loco67
Débutant



Messages : 10

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 22:00

suite aux différents posts (surtout celui d'arthuro en fait), j'ai utilisé une ruse de sioux pour éviter le bug :

j'ai crée deux objets, une caisse immobile, une en mouvement.

ce qui fait qu'on n'a pas de multiples collisions entre caisses mais une entre casse en mouvement et entre caisse immobile... ça a l'air de fonctionner...

Un immense merci à tous et au vu des différents scripts proposés, le GML n'a pas nécessairement trop compliqué, faudra vraiment que je m'y penche!!!!

En fait, l'idée d'offrir GM à mon neuveu, c'est aussi un pretexte pour m'amuser avec... c'est vraiment amusant de faire de petits jeux plus ou moins facilement... c'est le genre de logiciel qui m'aurait rendu fou il y a quinze ans, et qui m'éclate pas mal aujourd'hui!

Merci à tous en tous cas!

Ah, tant que j'y suis : j'ai essayé un peu le GML pour récupérer des variables locales style heros.vitesse dans un autre objet... et ça générait une erreur... à quoi peut elle etre due?
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban EmptyDim 9 Sep 2012 - 22:23

montre comment tu as récupéré la variable dans quel objet a quel moment Surprised

_________________
probleme d'objets qui se poussent, style Sokoban Icone_114
Revenir en haut Aller en bas
http://www.brainwizz.fr
Contenu sponsorisé





probleme d'objets qui se poussent, style Sokoban Empty
MessageSujet: Re: probleme d'objets qui se poussent, style Sokoban   probleme d'objets qui se poussent, style Sokoban Empty

Revenir en haut Aller en bas
 
probleme d'objets qui se poussent, style Sokoban
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Zelda Sokoban
» Advanced Sokoban 3D - Android && Windows
» Jeu style StarCraft
» le jeu style
» Rotation style GTA ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: