Bonjour à tous.
Je suis en train d'apprendre le c# en autodidacte, je me suis fixé pour but d'arriver à écrire une application dans le genre du "snake" (le jeu).
Je viens du delphi, je ne suis pas débutant en programmation, mais j'ai parfois du mal à mettre en code c# ce que je faisais en delphi, je bute sur des choses simples et je perds beaucoup de temps
Et faire un copier-coller des nombreux codes du genre présents sur le net n'est pas très formateur ...
Bref voila pour la courte présentation.
Pour mon projet, j'ai défini 2 classes :
- une qui contient la définition d'une coordonnée
- une qui contient la définition du corps du serpent, en utilisant la classe coordonnée
Ca nous donne donc
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 namespace Snake { class Coordonnee { public int X; public int Y; } }
Ensuite arrive le moment où je veux utiliser ces classes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 namespace Snake { class Serpent { public List<Coordonnee> CorpsSerpent = new List<Coordonnee>(); } }
Les deux éléments de la liste sont bien crées, mais ils ne sont pas initialisés correctement.
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
22
23
24
25
26
27 namespace Snake { public partial class Form1 : Form { Serpent UnSerpent = new Serpent(); // Création du serpent Coordonnee UneCoordonnee = new Coordonnee(); // Création d'une coordonnée public Form1() { InitializeComponent(); CreerNouveauJeu(); // Initialisation d'un nouveau jeu } ... private void CreerNouveauJeu() { UnSerpent.CorpsSerpent.Clear(); // Nettoyage du corps du serpent UneCoordonnee.X = 16; // Initialisation coordonnée X UneCoordonnee.Y = 1; // Initialisation coordonnée Y UnSerpent.CorpsSerpent.Add(UneCoordonnee); // Ajout de ces coordonnées au corps du serpent UneCoordonnee.X = 1; // Initialisation coordonnée X UneCoordonnee.Y = 1; // Initialisation coordonnée Y UnSerpent.CorpsSerpent.Add(UneCoordonnee); // Ajout de ces coordonnées au corps du serpent } } }
Le deuxième ajout de coordonnées semble écrasé les valeur du premier, le couple de valeur (x,y)=(16,1) disparait de la liste.
C'est peut être une incompréhension sur le fonctionnement des List, ou une partie du code mal placé (j'ai du mal avec ça aussi), ou autre chose ...
J'ai besoin d'aide.
Partager