IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Instanciation en chaîne


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 91
    Par défaut Instanciation en chaîne
    Bonsoir a tous ! Je suis depuis un petit bout de temps maintenant le forum, mais je n'ai jamais trouvé l'occasion de poster.

    Je débute en C# (j'ai fait un peu de fonctionnel par le passé), et la notion de POO se révèle peu a peu. Cependant, j'ai l'impression d'avoir loupé quelque chose sur certains point.

    Je suis en train (avec un groupe de 4 personnes en tout) de coder un shoot them up, et actuellement, je suis sur un os.

    Afin de rester le plus clair possible, j'évite le code dont vous n'avez pas besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Game1 : Microsoft.Xna.Framework.Game
    {
          int[] _tableproj = new int[1000];
          int _i;
     
         public override void Update(Gametime gametime)
         {
              if(_keystate.IsKeyDown(Keys.Space))
              {
                    for (_i;_i<1000;++_i)
                    {
                          if (_tableprojo[_i] = 0)
                          {
                               _tableprojo[_i]=1;
                               Projectile _projo[_i] = new Projectile;
                           }
                     }
               }
          }
    }
    Cependant, visual 2008 n'accepte apparemment pas l'instanciation de ma classe Projectile.
    Serait ce une grossière erreur de code ? C'est pas de cette facon qu'on peut avoir _projo1 pour _i = 1, _projo2 pour _i=2 ect ?

    Merci d'avance si jamais quelqu'un trouve le temps de me répondre

    Pimouss

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Serait ce une grossière erreur de code ?
    C'est possible ^^

    Déjà
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Projectile(param1, param2, ...)
    suivant que le constructeur possède des arguments ou non.

    Ensuite on ne peut pas créer les variables comme tu le fais. Tu veux réaliser une liste de projectiles ? A ce moment utilise un tableau (si le nombre d'élément est connu à l'avance, ce qui semble le cas) ou une collection dynamique comme une liste (List<T>).

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Game1 : Microsoft.Xna.Framework.Game
    {
         Projectile[] _tableproj = new Projectile[1000];
     
         public override void Update(Gametime gametime)
         {
              if(_keystate.IsKeyDown(Keys.Space))
              {
                    for (int i = 0; i < 1000; i++)
                    {
                         _tableproj[i] = new Projectile();
                    }
               }
          }
    }
    Tu auras ainsi plusieurs projectiles dans ton tableau, accessibles par

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 91
    Par défaut
    4 minutes, pour une réponse claire, et compréhensible, j'pouvais pas demander mieux , merci !

    Ps : Pour l'erreur de parenthèse, elles y sont, mais j'ai copié a la main mes lignes sur le forum en prenant que ce dont j'avais besoin, donc elles ont du sauter malheureusement :p

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pas de problème

    Un petit conseil au passage, utilise la longueur du tableau en passant par l'objet tableau, si tu as besoin. Ce que je n'ai d'ailleurs pas fait dans l'exemple, et c'est mal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int i = 0; i < _tableproj.Length; i++)
    {
    }
    Ca évite de devoir chercher où cette information est utilisée si jamais on doit changer la taille du tableau plus tard.

    Et n'oublie pas de cliquer sur à la fin

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 91
    Par défaut
    C'est noté, et ca sera fait ainsi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Chaînes de caractères
    Par Zazeglu dans le forum C
    Réponses: 3
    Dernier message: 28/08/2003, 16h20
  3. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  4. Comptage de mots dans une chaîne
    Par kikinou dans le forum Pascal
    Réponses: 10
    Dernier message: 01/01/2003, 02h27
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo