Probleme pour faire communiquer des winforms

cs_oupepasa Messages postés 4 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 7 mars 2008 - 6 mars 2008 à 23:28
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 7 mars 2008 à 10:05
bonjour,
voila je suis en train de creer un petit jeu d'un bonhomme qui se ballade dans un labyrinthe ,
au debut j'affiche une premiere form ou je choisis un personnage(mage ...)je crée donc 4 pictureBox avec 4 radioButton en dessous ,j'aurais besoinde recuperer quel bouton a été choisi pour savoir quel image(mage , voleur ...) j'affiche dans mon petit labyrinthe que je cree dans ma deuxieme Form.

j'ai un autre probleme, je crée une nouvelle form quand j'ai un combat a faire mais je n'arrive pas a me mettre en tete comment intéragir avec une classe Fightmanager(Player p, Ennemi e) et cette form puisque je propose au joueur a chaque tour s'il veut attaquer ou s'echapper

Merci d'avance pour votre aide

3 réponses

bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
7 mars 2008 à 02:23
Modifie le constructeur de ta 2ème form pour qu'il accepte les paramètres que tu veux, ou alors passe lui la form1 entière.

public class form2 : Form
{
       private form1 _form1;

       public maform(form1 f1)
      {
          _form1 = f1;
       }
}
0
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
7 mars 2008 à 08:20
Hello,
Une structure pas mal je pense pour implémenter ca, c'est en faite de créer une Class Controller.
C'est cette Class qui instancie chaque Form de ton appli.

Pour chaque Form, tu modifie le constructeur (comme l'a dit bubbathmaster) afin qu'il recoive comme paramètre le controller:

Controller.cs:
Form1 f = newForm1(this);

Form1.cs:
PrivateController controller;

public Form1(Controller c)
{
         this.controller = c;
}

Ensuite dans ton controller, tu créer des attributs, par exemple:
public string playerName = "";

Maintenant dans Form1, lorsque le player clique sur jouer, tu envoie le nom du player dans la variable playerName du controller:

Form1.cs
this.controller.playerName = this.textBoxName.Text;

Enfin, je ferai comme ca.
Regarde aussi du coté du Design Pattern State
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 mars 2008 à 10:05
0
Rejoignez-nous