コード例 #1
0
ファイル: Afficheur.cs プロジェクト: MrLePlow/SweetRide
 // constructeur
 public Afficheur()
 {
     Localplayer = new Player(40, 40);
     carte = new Carre(32, 32);
     Walls = new List<Wall>();
     clickdown = false;
 }
コード例 #2
0
ファイル: Map.cs プロジェクト: MrLePlow/SweetRide
        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++;
            }
        }