Пример #1
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            GameCode.Graphics.Tile.m_base      = Content.Load <Texture2D>("sheet");
            GameCode.Graphics.Tile.SpriteCount = new Point(19, 13);

            m_touch = new TouchInputManager();
            m_map   = new List <Level>();
            m_map.Add(new Town(Android.OS.Build.Serial.GetHashCode() + CurrentFloor));

            GeneratingFloor++;

            m_manager = new Thread(() => ThreadMap());
            m_manager.Start();

            m_cam        = new Camera(GraphicsDevice.Viewport);
            m_minimap    = new minimap(m_map[0].Map.GetLength(0));
            m_ui         = new Ui(new Vector2(graphics.PreferredBackBufferWidth / 6, graphics.PreferredBackBufferHeight - graphics.PreferredBackBufferHeight / 5), (graphics.PreferredBackBufferWidth / 20));
            m_p.Position = new Vector2(m_map[0].m_StartPos.X * TILESIZE, m_map[0].m_StartPos.Y * TILESIZE);

            m_p.VirtualPosition = m_map[0].m_StartPos;
            m_minimap.UpdateMap(m_map[0]);
            m_minimap.ShowAll();

            base.Initialize();
        }
Пример #2
0
        public override void DrawMe(SpriteBatch sb, minimap minimap, Point playerpos)
        {
            sb.Draw(Pixel, new Rectangle(0, 0, LayerSize.X * minimap.ActiveArea.GetLength(0), LayerSize.X * minimap.ActiveArea.GetLength(1)), Color.Black);

            for (int x = 0; x < Map.GetLength(0); x++)
            {
                for (int y = 0; y < Map.GetLength(1); y++)
                {
                    if (Map[x, y] == 0)
                    {
                        sb.Draw(Pixel, new Rectangle(x * LayerSize.X, y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.White);
                    }
                }
            }


            sb.Draw(Pixel, new Rectangle(m_StartPos.X * LayerSize.X, m_StartPos.Y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.Red);
            sb.Draw(Pixel, new Rectangle(m_WinPos.X * LayerSize.X, m_WinPos.Y * LayerSize.Y, LayerSize.X, LayerSize.Y), Color.Green);



            //base.DrawMe(sb, minimap, playerpos);
        }
Пример #3
0
        public void DrawMe(SpriteBatch sb, minimap MiniMap)
        {
            Map = m_mazeGen.MapInformation.Map;
            for (int x = 0; x < Map.GetLength(0); x++)
            {
                for (int y = 0; y < Map.GetLength(1); y++)
                {
                    if (Map[x, y] == 1)
                    {
                        sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Black);
                    }
                    //else if (Map[x, y] == 2 && MiniMap.IsVisible(new Point(x,y)))
                    //    sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green);
                    //else if (Map[x, y] == 3 && MiniMap.IsVisible(new Point(x, y)))
                    //    sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red);
                    VisualMap[x, y].Draw(sb, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y));
                }
            }

            for (int i = 0; i < m_chests.Count; i++)
            {
                if (MiniMap.IsVisible(new Point(m_chests[i].X, m_chests[i].Y)))
                {
                    sb.Draw(Pixel, new Rectangle(m_chests[i].X * m_LayerSize.X, m_chests[i].Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Blue);
                }
            }

            if (MiniMap.IsVisible(m_StartPos))
            {
                sb.Draw(Pixel, new Rectangle(m_StartPos.X * m_LayerSize.X, m_StartPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red);
            }
            else if (MiniMap.IsVisible(m_WinPos))
            {
                sb.Draw(Pixel, new Rectangle(m_WinPos.X * m_LayerSize.X, m_WinPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green);
            }
        }
Пример #4
0
        public virtual void DrawMe(SpriteBatch sb, minimap minimap, Point playerpos)
        {
            sb.Draw(Pixel, new Rectangle(0, 0, m_LayerSize.X * minimap.ActiveArea.GetLength(0), m_LayerSize.X * minimap.ActiveArea.GetLength(1)), Color.Black);



            for (int x = 0; x < Map.GetLength(0); x++)
            {
                for (int y = 0; y < Map.GetLength(1); y++)
                {
                    if (minimap.Terrain[x, y] == true)
                    {
                        if (Map[x, y] == 0)
                        {
                            sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.White);
                        }
                        else if (Map[x, y] == 2)
                        {
                            sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green);
                        }
                        else if (Map[x, y] == 3)
                        {
                            sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red);
                        }

                        VisualMap[x, y].Draw(sb, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y));
                    }
                }
            }

            for (int x = 0; x < minimap.ActiveArea.GetLength(0); x++)
            {
                for (int y = 0; y < minimap.ActiveArea.GetLength(1); y++)
                {
                    if (minimap.ActiveArea[x, y] == false)
                    {
                        sb.Draw(Pixel, new Rectangle(x * m_LayerSize.X, y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Black * 0.75f);
                    }
                }
            }

            for (int i = 0; i < m_chests.Count; i++)
            {
                if (minimap.ActiveArea[m_chests[i].X, m_chests[i].Y])
                {
                    sb.Draw(Pixel, new Rectangle(m_chests[i].X * m_LayerSize.X, m_chests[i].Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Blue);
                }
            }


            for (int i = 0; i < m_enemys.Count; i++)
            {
                if (minimap.ActiveArea[m_enemys[i].VirtualPosition.X, m_enemys[i].VirtualPosition.Y])
                {
                    m_enemys[i].DrawMe(sb);
                }
            }

            sb.Draw(Pixel, new Rectangle(m_StartPos.X * m_LayerSize.X, m_StartPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Red);
            sb.Draw(Pixel, new Rectangle(m_WinPos.X * m_LayerSize.X, m_WinPos.Y * m_LayerSize.Y, m_LayerSize.X, m_LayerSize.Y), Color.Green);
        }