| Statégie tour par tour tout bête ^^ [Solution page 1 et 3] | |
|
+8Chlorodatafile bibi675 zebdal Vivi Mass Linky439 al_tanner Xander 12 participants |
|
Auteur | Message |
---|
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 14:30 | |
| [Première partie du Post résolu !]La solution a été apportée par Linky439, je me permet de réécrire le codage de son exemple en y apportant quelques explications pour les débutants en GM (comme moi :sourire: ). Le reste du Post contient pour l'instant mes essais et questions sur la suite de mon projet. Pour qu'une unité soit déplacée d'une distance limitée (ici sur une grille de 32 par 32), créer un objet unité et mettre dans le step le code suivant : - Code:
-
x1=x-159 //Pour stopper à droite x2=x+159 //Pour stopper à gauche y1=y-159 //Pour stopper en bas y2=y+159 //Pour stopper en haut if x1>xstart or x2<xstart then {x=xstart y=ystart} if y1>ystart or y2<ystart then {x=xstart y=ystart} xstart & ystart déterminent la position initiale en x et y, de l'unité au début du lancement du jeux. Par x1,x2,y1,y2 on indique la distance maximum que peut parcourir l'unité, ici elle est limité à sa position initiale indiqué par x,y plus ou moins la distance maximum où elle peut allez. Le code then {x=xstart y=ystart}, renvoit l'unité à sa position de départ si le joueur dépasse la distance que peut franchir l'unité, ceci indique au joueur qu'il ne peut allez plus loin. Dans l'événement de l'objet unité, rajouter l'icône "si le bouton gauche de souris est appuyé" et y mettre le code: - Code:
-
x=mouse_x y=mouse_y Ceci, fait que l'unité sélectionner avec le bouton gauche de souris suivra la direction indiquée par le déplacement de celle ci. Le fait de relâcher le bouton gauche terminera le déplacement de l'unité à la dernière position occupée par la souris. Ce code renverra systématiquement l'unité à une seule position, celle initiale, quoique vous fassiez. Pour qu'elle vienne à la dernière position décidée par le joueur à la fin d'un Tour de Jeux, voir le codage ci après. On reprend la même unité et la même programmation que décrite au dessus ... et on rajoute un événement " Create" où l'on met : - Code:
-
ok=0 global.tour=0 La variable global.tour indique si un Tour de Jeux est terminé ou non, la variable ok va permettre d'indiquer que le tour est effectivement terminer. On crée un autre événement qui est "si la touche Entrer du clavier est appuyé" : - Code:
-
if ok=0 then {global.tour+=1 xstart=x ystart=y ok=1} Par cette ligne de code, à chaque fin de tour la nouvelle position initiale déterminer par xstart & ystart devient la position où le joueur à laissé l'unité (au contraire de l'exemple précédent qui ne permettait pas cela), en indiquant que le x et y de cette unité à la position laissée par le joueur prennent la valeur de xstart & ystart, soit la nouvelle position initiale. La variable ok prend la valeur de 1, ce qui empêche de refaire cette action, et cloture le Tour de Jeux. Et pour finir, on peut rajouter un événement "si le bouton droit de la souris est appuyé" et mettre le code suivant : - Code:
-
ok=0; Ce qui a chaque fois que le bouton droit est appuyé reinitialisera le Tour de Jeux. Voilà pour ce début de Jeux de Stratégié au Tour par Tour ... je préparerais un Tutorial (après mes examens ) pour les débutants qui comme moi ne savaient pas par où commencé, une fois que j'aurais aboutis mon projet. Encore merci à Linky439 pour l'aide qu'il m'a apporté !!!
Dernière édition par Xander le Dim 26 Avr 2009 - 19:21, édité 4 fois |
|
| |
al_tanner Utilisateur confirmé: Rang ****
Messages : 1170 Localisation : Sur Terre Projet Actuel : Dimension at War
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 15:10 | |
| je peux pas te dire, mais as-tu essayer avec des variable ? c'est peut-etre par-la qui faut chercher et bienvenue :fete: |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 17:19 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:19, édité 1 fois |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 18:05 | |
| Essaie de faire : Au début du tour : - Code:
-
global.mov1=global.limitex1(le x limite (de la case))-perso.x-2 et - Code:
-
global.mov2=perso.x-global.limitex2(le x limite (de la case))-2 Dans ton perso : - Code:
-
if global.mov1<perso.x and global.mov2>perso.x then {Ton code} Rajoute aussi avec le y, combine les deux et regarde si ça marche. _________________ Cliquez pour accéder aux topics dédiés !
Dernière édition par Linky439 le Dim 12 Avr 2009 - 20:06, édité 1 fois |
|
| |
al_tanner Utilisateur confirmé: Rang ****
Messages : 1170 Localisation : Sur Terre Projet Actuel : Dimension at War
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 19:43 | |
| desole Xander je peux pas t'aider mais je pense que Linky439 à trouver la réponse |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 12 Avr 2009 - 20:07 | |
| Non, j'ai raconté un peu n'importe quoi : il faut jouer avec les id et les couts de déplacement. Ma technique est bonne sur un plan seulement. EDIT : Ou pas. Mets ton perso au centre de la case, l'origine des cases au centre, donc, si ta case fait 64x64, Perso, event - Code:
-
beginx=x beginy=y Perso, event Keyboard Up(?) - Code:
-
if y>beginy-63 then y-=2 Perso, event Keyboard Left(?) - Code:
-
if x>beginx-63 then x-=2 Etc. Pour lui interdire, repère l'id des cases interdites, et, Perso, event Keyboard Right - Code:
-
if instance_id()>instance_id(obj_case) then {if x<beginx+63 then x+=2} Voilà (Le passage avec les instances n'est pas sur.) EDIT n°2 : Cases roses = cases atteignables Cases grises = cases interdites _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Lun 13 Avr 2009 - 0:19 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:20, édité 1 fois |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Lun 13 Avr 2009 - 13:11 | |
| hum, ça sent le bon wargame, ça :oue: |
|
| |
Invité Invité
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Lun 13 Avr 2009 - 13:52 | |
| je crois que c'est toute bête |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Lun 13 Avr 2009 - 23:09 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:20, édité 1 fois |
|
| |
Vivi Utilisateur confirmé: Rang **
Messages : 321 Localisation : dans ma chambre Projet Actuel : ogc²
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Mar 14 Avr 2009 - 0:39 | |
| dans ton cas drag n'est pas une fonction mais une variable(définie par l'utilisateur et donc qui ne ce trouve pas dans l'aide Game Maker), drag = 1 quand l'utilisateur veux déplacer l'objet (quand il clique dessus). Si tu veux je peux te faire un ptit code pour ton truc (histoire que tu bosse un peux pour tes exam quand même :nah: ) - Code:
-
//event create : drag=0; //event mouse left pressed drag=1; //event mouse left released drag=0; //step if (drag) { x=floor(mouse_x/16)*16 y=floor(mouse_x/16)*16 //c'est pour déplacer l'objet sur une grille de 16*16 }
voila voila, tu devra faire ça pour chaque objet que tu veux bouger. |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Mar 14 Avr 2009 - 13:33 | |
| beginx et beginy sont des variables (en l'occurence, elles sont égales au x et y du perso à l'origine). Si le x est plus grand/plus petit que le beginx+63/-63, alors il ne peut plus se déplacer. Je peut te faire un exemple. _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Mar 14 Avr 2009 - 15:03 | |
| après faut savoir comment tu veux te déplacer. genre si tu veux pouvoir te déplacer en diagonale ou alors juste haut bas gauche droite comme un advance wars ou un fire emblem.
sinon, pour savoir si une case est atteignable ou pas: tu peux faire une fonction récursive qui permet de faire tous les parcours possibles pour voir si tu atteins ta case avant d'atteindre 0. si tu trouves la case, ca veut dire qu'elle est atteignable, sinon non. ensuite, tu as donc une map avec des cases dont on sait si elles sont atteignables ou pas, et donc lorsque tu cliques sur une case atteignable, ton perso va utiliser un des parcours possibles pour atteindre la case. |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Sam 18 Avr 2009 - 11:00 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:21, édité 1 fois |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Sam 18 Avr 2009 - 11:03 | |
| Salut,
Non, floor(x) renvoie l'entier inférieur donc : floor(0.9) = 0 floor(7.5) = 7 etc...
Et son opposé est ceil() qui renvoie l'entier supérieur.
@++ _________________ |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 17:09 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:22, édité 1 fois |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 17:37 | |
| C'est Linky(et non Linkin) Pour ton déplacement, je peux le faire horizontalement, verticalement, surement diagonalement, mais sinon...je vois pas. Désolé. _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 17:50 | |
| Désolé pour le nom :honte: Et bien si tu peux me le faire au plus simple (horizontale & verticale) ça me permettra de travailler avec, pour avoir une vue de comment m'y prendre ... ce sera déjà un bon début Merci !! |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 17:58 | |
| Y'a pas de problème. Alors, dans ton step - Code:
-
x1=x-159//Pour stopper à droite x2=x+159//Pour stopper à gauche y1=y-159//Pour stopper en bas y2=y+159//Pour stopper en haut if x1>xstart or x2<xstart then {x=xstart y=ystart} if y1>ystart or y2<ystart then {x=xstart y=ystart} Voilà l'exemple : http://dl.free.fr/vcYCFPPu2J'espère qu'il te sera utile. _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 18:22 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:22, édité 1 fois |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 18:37 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:22, édité 1 fois |
|
| |
al_tanner Utilisateur confirmé: Rang ****
Messages : 1170 Localisation : Sur Terre Projet Actuel : Dimension at War
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 18:39 | |
| pourquoi ppas rester sur ce post c'est une bonne idée |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 18:51 | |
| Parce que 32*5=160 donc x>159 donc x>ou=160. Et je comprends pas ton histoire du post. _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
al_tanner Utilisateur confirmé: Rang ****
Messages : 1170 Localisation : Sur Terre Projet Actuel : Dimension at War
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 18:55 | |
| il demande si c'est mieux de faire qu'un sujet pour tout ses probleme ou a chaque fois qu'il a un probleme il crée un nouveau sujet |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 19:07 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:23, édité 1 fois |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Dim 19 Avr 2009 - 20:55 | |
| De rien, quand on demande poliment... _________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Mer 22 Avr 2009 - 23:54 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:23, édité 1 fois |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Jeu 23 Avr 2009 - 0:01 | |
| (Message effacé pour un gain de place et de clarté )
Dernière édition par Xander le Ven 24 Avr 2009 - 22:23, édité 1 fois |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Jeu 23 Avr 2009 - 13:38 | |
| Alors : -1) j'ai créé une variable global.tour et ok dans le perso. -2)Global.tour, c'est le nombre de tour. -3)ok, c'est une variable locale qui me permet de bien faire éxecuter global.tour. Dans Keyboard Enter (par exemple), j'ai mis : - Code:
-
if ok=0 then {global.tour+=1 xstart=x ystart=y ok=1} Et tout marche. Ex : Au départ, le x du perso est égal à 64. Il se déplace de 32. Donc , x=96.Il passe un tour, il se déplace trop loin et revient à x=96. Voilà ton exemple_________________ Cliquez pour accéder aux topics dédiés ! |
|
| |
Xander Bavard
Messages : 92 Localisation : Nantes Projet Actuel : Monter un petit jeux de stratégie tout simple pour commencer à me faire la main ^^'
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] Ven 24 Avr 2009 - 12:50 | |
| Yop !!! Linky ... Un Grand Merci à Toi !!!J'ai enfin comprit comment manoeuvrer mes lignes de code pour en sortir quelque chose de viable Non seulement, je comprend mieux comment je vais organiser ma programmation mais en plus j'ai enfin capté comment redonner une valeur aux lignes de codes de GM !!! Ton exemple a eu un double effet kisscool sur moi :sourire: Là, je vais mettre au point un jeux bêta pour mettre tout ça en forme, que je posterais sur ce Post. Tu me diras ce que tu en penses ! A toute ! :fier: |
|
| |
Contenu sponsorisé
| Sujet: Re: Statégie tour par tour tout bête ^^ [Solution page 1 et 3] | |
| |
|
| |
| Statégie tour par tour tout bête ^^ [Solution page 1 et 3] | |
|