// constructeur public Afficheur() { Localplayer = new Player(40, 40); carte = new Carre(32, 32); Walls = new List<Wall>(); clickdown = false; }
public void draw(SpriteBatch sol) { int[] constructor = new int[] { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}; //Taille 22 // 3 dimensions : texture, abscisse de la tuile, ordonnée de la tuile, le point 0 est en haut, les x orienté vers la droite et les y vers le bas. int hauteur = 22; // a ne pas spécifier int largeur = 22; // plus grand que la longueur du tableau ! Carre[,] map = new Carre[hauteur, largeur]; // on laisse 2 dimensions au cas ou, futurs modifs... Texture2D carre = ressource.base_herbe; // Indice servant à dessiner une ligne de carrés int draw_line = 1; // On affiche la carte à partir de (0,0) Vector2 position = new Vector2(0.0f, 0.0f); // On affichage d'abord la longueur for (int l = 0; l < map.GetLength(0); l++) { // Puis la largeur de la map for (int larg = 0; larg < map.GetLength(1); larg++) { map[l, larg] = new Carre(carre, position); if ((constructor[larg] == 0))//&&(larg == l)) sol.Draw(ressource.pelouse, map[l, larg].Coordonnees, Color.White); else if (constructor[larg] == 1) sol.Draw(ressource.base_herbe, map[l, larg].Coordonnees, Color.White); // On incrémente la position pour la prochaine tile position.X += (carre.Width / 2); position.Y += (carre.Height / 2); } // Une fois la première ligne faite, on retourne à la case départ, // et on calcule la position de la ligne suivante position.X = -carre.Width / 2 * draw_line; position.Y = (carre.Height) / 2 * draw_line; draw_line++; } }