示例#1
0
 public AlienSprite(ImageSprite sprite, SpaceRocketsInSpaceGame game, double xSpeed, double ySpeed, RocketSprite target) :
     base(sprite: sprite, xSpeed: xSpeed, ySpeed: ySpeed)
 {
     gameValue   = game;
     originalX   = sprite.X;
     originalY   = sprite.Y;
     rocketValue = target;
 }
 public ChasingAlien(ImageSprite sprite, RocketSprite target,
                     double xAcceleration, double yAcceleration, double friction) :
     base(sprite: sprite, xSpeed: 0, ySpeed: 0, target: target)
 {
     rocketValue        = target;
     xAccelerationValue = xAcceleration;
     yAccelerationValue = yAcceleration;
     frictionValue      = friction;
 }
    public void StartProgram()
    {
        SnapsEngine.SetBackgroundColor(SnapsColor.Black);

        SnapsEngine.StartGameEngine(fullScreen: false, framesPerSecond: 60);

        List <MovingSprite> sprites = new List <MovingSprite>();

        for (int i = 0; i < 100; i++)
        {
            ImageSprite starImage = new ImageSprite(imageURL: "ms-appx:///Images/star.png");
            SnapsEngine.AddSpriteToGame(starImage);
            starImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 75);
            FallingSprite star = new FallingSprite(sprite: starImage,
                                                   ySpeed: 15);
            sprites.Add(star);
        }

        ImageSprite rocketImage = new ImageSprite(imageURL: "ms-appx:///Images/SpaceRocket.png");

        SnapsEngine.AddSpriteToGame(rocketImage);
        rocketImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 15);
        rocketImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
        rocketImage.CenterY = SnapsEngine.GameViewportHeight / 2.0;

        RocketSprite rocket = new RocketSprite(sprite: rocketImage, xSpeed: 10, ySpeed: 10);

        sprites.Add(rocket);

        ImageSprite chasingAlienImage = new ImageSprite(imageURL: "ms-appx:///Images/purpleAlien.png");

        SnapsEngine.AddSpriteToGame(chasingAlienImage);
        chasingAlienImage.Top = 10;
        chasingAlienImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 20);
        chasingAlienImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
        chasingAlienImage.Top     = 0;
        ChasingAlien chaser = new ChasingAlien(sprite: chasingAlienImage, target: rocket, xAcceleration: .3, yAcceleration: .3, friction: 0.99);

        sprites.Add(chaser);

        while (true)
        {
            foreach (MovingSprite sprite in sprites)
            {
                sprite.Update();
            }
            SnapsEngine.DrawGamePage();
        }
    }
示例#4
0
        public Rocket(PointF location, Force force, Acceleration acceleration, Speed speed,
                      Angle angle, float thrustPercentage, RocketInformation rocketInf) : base(location, new Mass(rocketInf.Weight), force, acceleration, speed, rocketInf.DragProperties)
        {
            _angle            = angle;
            targetAngle       = angle;
            _rocketInf        = rocketInf;
            _thrustPercentage = thrustPercentage;
            _restFuelWeight   = rocketInf.FuelWeight;
            _sprite           = rocketInf.GetRocketSprite();
            _engineRunning    = true;

            lastCheck = TimeKeeper.Now();

            var rnd = new Random();
            var r   = rnd.Next(rocketInf.Names.Count);

            _name = rocketInf.Names[r];
        }
    public void StartProgram()
    {
        SnapsEngine.SetBackgroundColor(SnapsColor.Black);

        SnapsEngine.StartGameEngine(fullScreen: false, framesPerSecond: 60);

        List <MovingSprite> sprites = new List <MovingSprite>();

        List <AlienSprite> aliens = new List <AlienSprite>();

        for (int i = 0; i < 100; i++)
        {
            ImageSprite starImage = new ImageSprite(imageURL: "ms-appx:///Images/star.png");
            SnapsEngine.AddSpriteToGame(starImage);
            starImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 75);
            FallingSprite star = new FallingSprite(sprite: starImage,
                                                   xSpeed: 0, ySpeed: 15,
                                                   viewportWidth: SnapsEngine.GameViewportWidth,
                                                   viewportHeight: SnapsEngine.GameViewportHeight);
            sprites.Add(star);
        }

        ImageSprite rocketImage = new ImageSprite(imageURL: "ms-appx:///Images/SpaceRocket.png");

        SnapsEngine.AddSpriteToGame(rocketImage);
        rocketImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 15);
        rocketImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
        rocketImage.CenterY = SnapsEngine.GameViewportHeight / 2.0;

        RocketSprite rocket = new RocketSprite(sprite: rocketImage, xSpeed: 10, ySpeed: 10);

        sprites.Add(rocket);

        ImageSprite chasingAlienImage = new ImageSprite(imageURL: "ms-appx:///Images/purpleAlien.png");

        SnapsEngine.AddSpriteToGame(chasingAlienImage);
        chasingAlienImage.Top = 10;
        chasingAlienImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 20);
        chasingAlienImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
        chasingAlienImage.Top     = 0;
        ChasingAlien chaser = new ChasingAlien(sprite: chasingAlienImage, target: rocket, xAcceleration: .3, yAcceleration: .3, friction: 0.99);

        sprites.Add(chaser);
        aliens.Add(chaser);

        int noOfAliens = 10;

        double alienWidth   = SnapsEngine.GameViewportWidth / (noOfAliens * 2);
        double alienSpacing = (SnapsEngine.GameViewportWidth - alienWidth) / noOfAliens;
        double alienX       = 0;
        double alienY       = 100;

        for (int i = 0; i < noOfAliens; i = i + 1)
        {
            ImageSprite alienImage = new ImageSprite(imageURL: "ms-appx:///Images/greenAlien.png");
            SnapsEngine.AddSpriteToGame(alienImage);
            alienImage.ScaleSpriteWidth(alienWidth);
            alienImage.CenterX = alienX;
            alienImage.Top     = alienY;
            double    xMin  = alienX;
            double    xMax  = alienX + alienSpacing;
            LineAlien alien = new LineAlien(sprite: alienImage, xSpeed: 2, ySpeed: 0, target: rocket, xMax: xMax, xMin: xMin);
            sprites.Add(alien);
            aliens.Add(alien);
            alienX = alienX + alienSpacing;
        }

        ImageSprite missileImage = new ImageSprite(imageURL: "ms-appx:///Images/Missile.png");

        missileImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 200);
        SnapsEngine.AddSpriteToGame(missileImage);
        MissileSprite missile = new MissileSprite(sprite: missileImage, rocket: rocket, xSpeed: 0, ySpeed: -15, aliens: aliens);

        sprites.Add(missile);

        rocket.Missiles.Add(missile);

        while (true)
        {
            foreach (MovingSprite sprite in sprites)
            {
                sprite.Update();
            }
            SnapsEngine.DrawGamePage();
        }
    }
 public MissileSprite(ImageSprite sprite, RocketSprite rocket, double xSpeed, double ySpeed, List <AlienSprite> aliens) : base(sprite: sprite, xSpeed: xSpeed, ySpeed: ySpeed)
 {
     rocketValue = rocket;
     aliensValue = aliens;
     spriteValue.Hide();
 }
 public LineAlien(ImageSprite sprite, double xSpeed, double ySpeed, RocketSprite target, double xMax, double xMin) :
     base(sprite: sprite, xSpeed: xSpeed, ySpeed: ySpeed, target: target)
 {
     xMinValue = xMin;
     xMaxValue = xMax;
 }
 public AlienSprite(ImageSprite sprite, double xSpeed, double ySpeed, RocketSprite target) :
     base(sprite: sprite, xSpeed: xSpeed, ySpeed: ySpeed)
 {
     rocketValue = target;
 }
示例#9
0
        void setupGame()
        {
            SnapsEngine.SetBackgroundColor(SnapsColor.Black);

            SnapsEngine.StartGameEngine(fullScreen: false, framesPerSecond: 60);

            for (int i = 0; i < 100; i++)
            {
                ImageSprite starImage = new ImageSprite(imageURL: "ms-appx:///Images/star.png");
                SnapsEngine.AddSpriteToGame(starImage);
                starImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 75);
                FallingSprite star = new FallingSprite(sprite: starImage,
                                                       xSpeed: 0, ySpeed: 15,
                                                       viewportWidth: SnapsEngine.GameViewportWidth,
                                                       viewportHeight: SnapsEngine.GameViewportHeight);
                sprites.Add(star);
            }

            ImageSprite rocketImage = new ImageSprite(imageURL: "ms-appx:///Images/SpaceRocket.png");

            SnapsEngine.AddSpriteToGame(rocketImage);
            rocketImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 15);
            rocketImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
            rocketImage.CenterY = SnapsEngine.GameViewportHeight / 2.0;

            rocket = new RocketSprite(sprite: rocketImage, game: this, xSpeed: 10, ySpeed: 10);
            sprites.Add(rocket);

            ImageSprite chasingAlienImage = new ImageSprite(imageURL: "ms-appx:///Images/purpleAlien.png");

            SnapsEngine.AddSpriteToGame(chasingAlienImage);
            chasingAlienImage.Top = 10;
            chasingAlienImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 20);
            chasingAlienImage.CenterX = SnapsEngine.GameViewportWidth / 2.0;
            chasingAlienImage.Top     = 0;
            chaser = new ChasingAlien(sprite: chasingAlienImage, game: this, target: rocket, xAcceleration: .3, yAcceleration: .3, friction: 0.99);
            sprites.Add(chaser);
            aliens.Add(chaser);

            int noOfAliens = 10;

            double alienWidth   = SnapsEngine.GameViewportWidth / (noOfAliens * 2);
            double alienSpacing = (SnapsEngine.GameViewportWidth - alienWidth) / noOfAliens;
            double alienX       = 0;
            double alienY       = 100;

            for (int i = 0; i < noOfAliens; i = i + 1)
            {
                ImageSprite alienImage = new ImageSprite(imageURL: "ms-appx:///Images/greenAlien.png");
                SnapsEngine.AddSpriteToGame(alienImage);
                alienImage.ScaleSpriteWidth(alienWidth);
                alienImage.CenterX = alienX;
                alienImage.Top     = alienY;
                double    xMin  = alienX;
                double    xMax  = alienX + alienSpacing;
                LineAlien alien = new LineAlien(sprite: alienImage, game: this, xSpeed: 2, ySpeed: 0, target: rocket, xMax: xMax, xMin: xMin);
                sprites.Add(alien);
                aliens.Add(alien);
                alienX = alienX + alienSpacing;
            }

            ImageSprite missileImage = new ImageSprite(imageURL: "ms-appx:///Images/Missile.png");

            missileImage.ScaleSpriteWidth(SnapsEngine.GameViewportWidth / 200);
            SnapsEngine.AddSpriteToGame(missileImage);
            MissileSprite missile = new MissileSprite(sprite: missileImage, rocket: rocket, xSpeed: 0, ySpeed: -15, aliens: aliens);

            sprites.Add(missile);

            rocket.Missiles.Add(missile);

            gameOverScreen = new ImageSprite(imageURL: "ms-appx:///Images/SpaceRocketsInSpaceGameOverScreen.png");
            gameOverScreen.Hide();
            SnapsEngine.AddSpriteToGame(gameOverScreen);
            gameOverScreen.Width  = SnapsEngine.GameViewportWidth;
            gameOverScreen.Height = SnapsEngine.GameViewportHeight;

            messageBack = new TextBlockSprite(text: "", fontSize: 60,
                                              fontFamily: "Impact", color: SnapsColor.Black);
            SnapsEngine.AddSpriteToGame(messageBack);
            message = new TextBlockSprite(text: "", fontSize: 60,
                                          fontFamily: "Impact", color: SnapsColor.Red);
            SnapsEngine.AddSpriteToGame(message);

            titleScreen = new ImageSprite(imageURL: "ms-appx:///Images/SpaceRocketsInSpaceTitleScreen.png");
            titleScreen.Hide();
            SnapsEngine.AddSpriteToGame(titleScreen);
            titleScreen.Width  = SnapsEngine.GameViewportWidth;
            titleScreen.Height = SnapsEngine.GameViewportHeight;
        }