コード例 #1
0
ファイル: Hero.cs プロジェクト: JohnHumble/MemeGame
 public void drop(WeaponCollection weapons)
 {
     if (weapon != null)
     {
         weapons.Add(weapon);
         weapon = null;
     }
 }
コード例 #2
0
ファイル: Game1.cs プロジェクト: JohnHumble/MemeGame
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);


            fill = loadColorTexture(Color.White);
            sans = Content.Load <SpriteFont>("sans");

            // load in the textures for heros
            List <Texture2D> heroTextures = new List <Texture2D>();

            // load textures into the list
            Texture2D heroTex = Content.Load <Texture2D>("newBasic");

            heroTextures.Add(heroTex);
            Texture2D chungTex = Content.Load <Texture2D>("chungus");

            heroTextures.Add(chungTex);
            Texture2D dogeTex = Content.Load <Texture2D>("doge");

            heroTextures.Add(dogeTex);
            Texture2D blockTex   = Content.Load <Texture2D>("blocks");
            Texture2D weaponsTex = Content.Load <Texture2D>("weapons");

            players = new PlayerCollection(heroTextures, UNIT_SIZE / 3 * 2, UNIT_SIZE, sans, fill);

            Texture2D wallTexture = loadColorTexture(Color.DarkGreen);

            walls = new WallCollection(wallTexture, TILE_SIZE);
            //walls.createBlock(0, 200, screenWidth, screenHeight);

            builder = new Builder(walls, sans, fill, heroTex, UNIT_SIZE / 3 * 2, UNIT_SIZE, weaponsTex, UNIT_SIZE, UNIT_SIZE / 2);

            builder.loadMap("last.gmd");

            // delete this sometime
            players.AddPlayer(new Point(100, 100), Heros.Chungus, "player 1", Color.Red, Keys.Left, Keys.Right, Keys.Up, Keys.Space);
            players.AddPlayer(new Point(200, 100), Heros.Doge, "Player 2", Color.Blue, Keys.A, Keys.D, Keys.W, Keys.LeftShift);


            weapons = new WeaponCollection();

            Gun gun = new Gun(new Rectangle(0, 0, UNIT_SIZE, UNIT_SIZE / 2), weaponsTex, fill, 2);

            weapons.Add(gun);

            mainMenu = new Menus(sans, fill);
            // TODO: use this.Content to load your game content here
        }
コード例 #3
0
        public Screen Update(int gravity, WallCollection walls, PlayerCollection players, WeaponCollection weapons, MouseState mouse)
        {
            if (menu.IsPressed(mouse))
            {
                return(Screen.Menu);
            }

            foreach (var player in this)
            {
                player.Update(gravity, walls, players, weapons, jump, speed);
            }

            return(Screen.Play);
        }
コード例 #4
0
ファイル: Player.cs プロジェクト: JohnHumble/MemeGame
        public void Update(int gravity, WallCollection walls, PlayerCollection players, WeaponCollection weapons, int jump_force, int speed)
        {
            if (Live)
            {
                TestInput(jump_force, speed);

                if (hero.weapon == null)
                {
                    foreach (var weapon in weapons)
                    {
                        int dis = Tool.distance(hero.GetPoint(), weapon.GetPoint());
                        if (dis < 100)
                        {
                            hero.pickup(weapon);
                            weapons.Remove(weapon);
                            break;
                        }
                    }
                }
            }
            else
            {
                hero.stop();
                hero.drop(weapons);
            }

            Live = hero.Update(gravity, walls, players);
        }