Example #1
0
        public Spinning(GenerateObstacles obs, Map map, Bomberman player, GraphicsContext g, Vector2 scale) :
            base(obs, map, player, g, scale)
        {
            this.position.Width  = 12 * scale.X;
            this.position.Height = 14 * scale.Y;
            this.health          = 10;
            this.score           = 1000;

            this.sl = new SpriteLoader();
            this.sl.cargarImagen(ANIMATION);
            this.sl.setImage(sl.getImage().Resize(new ImageSize((int)(sl.getImage().Size.Width *scale.X),
                                                                (int)(sl.getImage().Size.Height *scale.Y))));
            this.ss = new SpriteSheet(this.sl.getImage());

            Sprite[] mov = { ss.obtenerSprite((int)(0 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(1 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(2 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(3 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g) };
            Sprite[] die = { ss.obtenerSprite((int)(4 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(5 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(6 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(7 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(8 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             ss.obtenerSprite((int)(9 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.Y), g),
                             new Score(score,                         w, h,                  g,                  scale).getImage() };

            this.down  = new Animation(mov, 8, Animation.Direction.DOWN);
            this.death = new Animation(die, 14, Animation.Direction.DOWN);

            // Animacion inicial
            animation = down;
            animation.start();
        }
Example #2
0
        public Enemy(GenerateObstacles obs, Map map, Bomberman player, GraphicsContext g, Vector2 scale) : base(g, scale)
        {
            this.obs    = obs;
            this.player = player;
            this.speed  = (int)(1 * scale.X / 2);
            while (!located)
            {
                findStartPos(map);
            }

            switch (r.Next(3))
            {
            case 0:
                xdir = speed;
                ydir = 0;
                break;

            case 1:
                xdir = -speed;
                ydir = 0;
                break;

            case 2:
                xdir = 0;
                ydir = speed;
                break;

            case 3:
                xdir = 0;
                ydir = -speed;
                break;
            }
        }
Example #3
0
        public SnakeHead(GenerateObstacles obs, Map map, Bomberman player, GraphicsContext g, Vector2 scale) :
            base(obs, map, player, g, scale)
        {
            this.position.Width  = 12 * scale.X;
            this.position.Height = 14 * scale.Y;
            this.health          = 80;
            this.score           = 100;

            this.sl = new SpriteLoader();
            this.sl.cargarImagen(ANIMATION);
            this.sl.setImage(sl.getImage().Resize(new ImageSize((int)(sl.getImage().Size.Width *scale.X),
                                                                (int)(sl.getImage().Size.Height *scale.Y))));
            this.ss = new SpriteSheet(this.sl.getImage());

            up    = new Animation[4];
            down  = new Animation[4];
            left  = new Animation[4];
            right = new Animation[4];
            for (int i = 0; i < 4; i++)
            {
                Sprite[] u = { ss.obtenerSprite((int)(0 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g),
                               ss.obtenerSprite((int)(1 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g) };

                Sprite[] d = { ss.obtenerSprite((int)(6 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g),
                               ss.obtenerSprite((int)(7 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g) };

                Sprite[] l = { ss.obtenerSprite((int)(8 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g),
                               ss.obtenerSprite((int)(9 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g) };

                Sprite[] r = { ss.obtenerSprite((int)(2 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g),
                               ss.obtenerSprite((int)(3 * w * scale.X), (int)((2 * i + 1) * h * scale.Y + (i + 1) * scale.Y), (int)(w * scale.X), (int)(h * scale.X), g) };

                up[i]    = new Animation(u, 20, Animation.Direction.UP);
                down[i]  = new Animation(d, 20, Animation.Direction.DOWN);
                left[i]  = new Animation(l, 20, Animation.Direction.LEFT);
                right[i] = new Animation(r, 20, Animation.Direction.RIGHT);
            }

            Sprite[] die = { ss.obtenerSprite((int)(0 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(1 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(2 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(3 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(4 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(5 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(6 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             ss.obtenerSprite((int)(7 * w * scale.X), 0, (int)(w * scale.X), (int)(h * scale.X), g),
                             new Score(score,                         w, h,                  g,                  scale).getImage() };

            this.death = new Animation(die, 14, Animation.Direction.DOWN);
            animation  = down[0];
            animation.start();
        }
Example #4
0
        public static void initLevel()
        {
            bool dead         = (player != null) ? player.removed : false;
            int  powerupssize = powerups.Count;

            clear();

            StreamReader sr = new StreamReader(File.OpenRead("/Application/res/maps/definitions/"
                                                             + level + "/" + level + "_" + levelmap + ".txt"));

            map = new Map(sr.ReadLine(), Map.TILESIZE, scales, graphics);
            // obstacles = new GenerateObstacles(map, true);

            PowerUps powerup = null;

            if (levelmap != 8)
            {
                obstacles = new GenerateObstacles(map, true, graphics);
                powerup   = new PowerUps(Convert.ToInt32(sr.ReadLine()), obstacles.getList(), graphics, scales);
            }
            else
            {
                obstacles = new GenerateObstacles(map, false, graphics);
            }

            if (levelmap != 8)
            {
                if (level == 4 || level == 7)
                {
                    keymusic = "bgm_03";
                }
                else if (level == 6 || level == 8)
                {
                    keymusic = "bgm_02";
                }
                else
                {
                    keymusic = "bgm_01";
                }
            }
            else
            {
                keymusic = "bgm_boss";
            }

            while (sr.Peek() >= 0)
            {
                String[] line  = sr.ReadLine().Split();
                int      type  = Convert.ToInt32(line[0]);
                int      count = Convert.ToInt32(line[1]);
                switch (type)
                {
                case 6:                 // blue snake

//					for (int x = 0; x < count; x++) {
//
//						SnakeHead head = new SnakeHead(obstacles, map, player);
//						SnakeBody body = new SnakeBody(obstacles, map, player, head);
//
//						for (int i = 0; i < 4; i++) {
//							head.setChild(body);
//							enemies.Add(head);
//							enemies.Add(body);
//							head = body;
//							body = new SnakeBody(obstacles, map, player, head);
//						}
//					}

                    break;

                default:
                    for (int i = 0; i < count; i++)
                    {
                        enemies.Add(Enemy.createEnemy(type, obstacles, map, player, graphics, scales));
                    }
                    break;
                }
            }
            // in.close();

            if (powerup != null && levelmap != 8 && !dead)
            {
                powerups.Add(powerup);
            }
            else if (powerup != null && levelmap != 8 && dead && powerupssize > 0)
            {
                powerups.Add(powerup);
            }

            if (levelmap != 8)
            {
                do
                {
                    exit = new Exit(obstacles.getList(), enemies, graphics, scales);
                } while (exit.intersects(powerup));
            }
            else
            {
                exit = new Exit(null, enemies, graphics, scales);
            }
            sr.Dispose();
        }
Example #5
0
 public Boss(GenerateObstacles obs, Map map, Bomberman player, GraphicsContext g, Vector2 scale) : base(obs, map, player, g, scale)
 {
     this.speed = (int)(1 * scale.X / 2);
 }
Example #6
0
        public static Enemy createEnemy(int type, GenerateObstacles obs, Map map, Bomberman player, GraphicsContext g, Vector2 scale)
        {
            switch (type)
            {
            case 0:
                return(new Balloon(obs, map, player, g, scale));

            case 1:
                return(new BalloonPurple(obs, map, player, g, scale));

            case 2:
                return(new BalloonBlue(obs, map, player, g, scale));

            case 3:
                return(new BalloonRed(obs, map, player, g, scale));

            case 4:
                return(new DragonPurple(obs, map, player, g, scale));

            case 5:
                return(new GhostYellow(obs, map, player, g, scale));

//			case 6:
//				return new SnakeHead(obs, map, player);
            case 7:
                return(new CrocodileGreen(obs, map, player, g, scale));

            case 8:
                return(new GarlicBlue(obs, map, player, g, scale));

            case 9:
                return(new FishGreen(obs, map, player, g, scale));

            case 10:
                return(new GhostBlue(obs, map, player, g, scale));

            case 11:
                return(new CoinYellow(obs, map, player, g, scale));

            case 12:
                return(new GhostPink(obs, map, player, g, scale));

            case 13:
                return(new Flame(obs, map, player, g, scale));

            case 14:
                return(new DuckPurple(obs, map, player, g, scale));

            case 15:
                return(new GhostWhite(obs, map, player, g, scale));

            case 16:
                return(new Spinning(obs, map, player, g, scale));

            case 17:
                return(new FrogYellow(obs, map, player, g, scale));

            case 18:
                return(new GhostGreen(obs, map, player, g, scale));
            }
            return(null);
        }