Пример #1
0
    /// <summary>
    /// Liikutetaan kisua
    /// </summary>
    /// <param name="hahmo">Kisu</param>
    /// <param name="NOPEUS">Kisun NOPEUS</param>
    /// <returns>Kisun liikkeen</returns>
    public void Liikuta(PlatformCharacter hahmo, double NOPEUS)
    {
        hahmo.Walk(NOPEUS);

        if (PowerUp == true)
        {
            hahmo.Walk(POWER_US_NOPEUS);
        }
    }
Пример #2
0
    /// <summary>
    /// Asetetaan ohjaimet.
    /// </summary>
    private void AsetaOhjaimet()
    {
        Keyboard.Listen(Key.Up, ButtonState.Down, delegate { pelaaja.Jump(nopeus); }, "Pelaaja hyppää ylöspäin");
        Keyboard.Listen(Key.Right, ButtonState.Down, delegate { pelaaja.Walk(nopeus); }, "Pelaaja liikkuu oikealle");
        Keyboard.Listen(Key.Left, ButtonState.Down, delegate { pelaaja.Walk(-nopeus); }, "Pelaaja liikkuu vasemmalle");

        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
    }
Пример #3
0
 void Liikuta(PlatformCharacter hahmo, double nopeus)
 {
     Angle kulma = hahmo.Angle;
     kulma.Degrees -= 15;
     hahmo.Angle = kulma;
     hahmo.Walk(nopeus);
 }
Пример #4
0
 /// <summary>
 /// Liikuttaa pelaajaa, kun pelaaja ei ole kumartunut.
 /// </summary>
 /// <param name="hahmo">Pelaajahahmo</param>
 /// <param name="nopeus">Liikkumisnopeus</param>
 private void Liikuta(PlatformCharacter hahmo, double nopeus)
 {
     if (pelaaja1.Image == pelaajanKuva)
     {
         hahmo.Walk(nopeus);
     }
 }
Пример #5
0
    /// <summary>
    /// Pistetään PlatformCharacter kävelemään haluttuun suuntaan.
    /// </summary>
    /// <param name="liikuteltavaOlio">liikuteltava olio.</param>
    /// <param name="suunta">Olion nopeus (suunta).</param>
    private void PelaajaWalk(PlatformCharacter liikuteltavaOlio, Vector suunta)
    {
        #region Reunatarkistukset
        //tässä jos sattuu tarviimaan.
        //if (suunta.X < 0 && (liikuteltavaOlio.X < Level.Left + (liikuteltavaOlio.Width / 2)))
        //{
        //    liikuteltavaOlio.Velocity = Vector.Zero;
        //    return;
        //}

        //if (suunta.X > 0 && (liikuteltavaOlio.X > Level.Right - (liikuteltavaOlio.Width / 2)))
        //{
        //    liikuteltavaOlio.Velocity = Vector.Zero;
        //    return;
        //}

        //if (suunta.Y < 0 && (liikuteltavaOlio.Y < Level.Bottom + (liikuteltavaOlio.Height / 2)))
        //{
        //    liikuteltavaOlio.Velocity = Vector.Zero;
        //    return;
        //}

        //if (suunta.Y > 0 && (liikuteltavaOlio.Y > Level.Top - (liikuteltavaOlio.Height / 2)))
        //{
        //    liikuteltavaOlio.Velocity = Vector.Zero;
        //    return;
        //}
        #endregion

        liikuteltavaOlio.Walk(suunta.X);
    }
Пример #6
0
        /// <inheritdoc/>
        protected override void Update(Time time)
        {
            if (!(this.Owner is PlatformCharacter))
            {
                return;
            }

            //Calculate from Speed later?
            double yTolerance = 10.0;
            double xTolerance = 10.0;

            PlatformCharacter pc = this.Owner as PlatformCharacter;

            if (_triesToJump)
            {
                //Brains are walking against a wall:
                if (Math.Abs(pc.Velocity.X) < 5)
                {
                    //If position hasn't changed since last jump, change direction.
                    if ((pc.Position - lastJumpingPosition).Magnitude < 1)
                    {
                        pc.Stop();
                        this.Speed *= -1;
                    }
                    else
                    {
                        pc.Jump(JumpSpeed);
                        lastJumpingPosition = pc.Position;

                        //Brains don't change direction in mid-air while jumping:
                        if (!_fallsOffPlatforms)
                        {
                            _fallsOffPlatforms = true;
                            Timer.SingleShot(0.5, delegate
                                             { _fallsOffPlatforms = false; });
                        }
                    }
                }
            }

            //Changes direction if it's about to fall off a platform:
            if (!_fallsOffPlatforms && pc.IsAboutToFall() && Math.Abs(pc.Velocity.Y) < yTolerance)
            {
                pc.Stop();

                if (_triesToJump && Math.Abs(pc.Velocity.X) < xTolerance)
                {
                    this.Speed *= -1;
                }
            }

            if (!_triesToJump && Math.Abs(pc.Velocity.X) < xTolerance)
            {
                this.Speed *= -1;
            }

            pc.Walk(this.Speed);

            base.Update(time);
        }
Пример #7
0
 void LiikutaPelaajaa(int suunta)
 {
     Steve.Walk(suunta);
     if (!Steve.Animation.IsPlaying)
     {
         Steve.Animation.Start();
     }
 }
Пример #8
0
        private void LuoPelaaja(Vector position, double width, double height)
        {
            PlatformCharacter hahmo = new PlatformCharacter(40, 80);

            hahmo.Position = position;
            Add(hahmo);

            AssaultRifle ase = new AssaultRifle(60, 15);

            hahmo.Weapon = ase;

            //PlatformCharacter apu = new PlatformCharacter( 20, 20, Shape.Circle );
            PhysicsObject apu   = new PhysicsObject(20, 20, Shape.Circle);
            FollowerBrain aivot = new FollowerBrain(hahmo);

            aivot.DistanceClose       = 80;
            aivot.StopWhenTargetClose = true;
            apu.Brain          = aivot;
            apu.IgnoresGravity = true;
            Add(apu);

            AddCollisionHandler(apu, "ammus", delegate(PhysicsObject a, PhysicsObject b) { a.Destroy(); b.Destroy(); });

            Label hahmonNimi = new Label(RandomGen.NextLetter(true).ToString() + RandomGen.NextLetter(false).ToString());

            hahmonNimi.Bottom = hahmo.Height;
            hahmo.Add(hahmonNimi);

            Keyboard.Listen(Key.Space, ButtonState.Down, delegate { var ammus = ase.Shoot(); if (ammus != null)
                                                                    {
                                                                        ammus.Tag = "ammus";
                                                                    }
                            }, null);
            Keyboard.Listen(Key.Right, ButtonState.Down, () => hahmo.Walk(200), null);
            Keyboard.Listen(Key.Left, ButtonState.Down, () => hahmo.Walk(-200), null);
            Keyboard.Listen(Key.Up, ButtonState.Down, () => hahmo.Jump(600), null);
            Keyboard.Listen(Key.Enter, ButtonState.Pressed, delegate { if (!apu.IsDestroyed)
                                                                       {
                                                                           MessageDisplay.Add("boop!");
                                                                       }
                            }, null);
        }
Пример #9
0
    void laskeutunutAmpuu(PlatformCharacter ampuja, Timer sender)
    {
        if (ampuja != null && !ampuja.IsDestroyed)
        {
            double suunta = LaskeAmpujanSuunta(ampuja);
            ampuja.Walk(suunta);

            ampuja.Weapon.Angle = LaskeAmpujanKulma(ampuja, suunta);

            PhysicsObject ammus = ampuja.Weapon.Shoot();
            if (ammus != null)
            {
                ammus.Size = new Vector(10, 10);
                ammus.IgnoresCollisionResponse = true;
                AddCollisionHandler(ammus, laskeutuneenLuotiOsui);
            }

            ampuja.Walk(suunta * 200);
        }
        else
        {
            sender.Stop();
        }
    }
 /// <summary>
 /// Määritellään pelaajan liike.
 /// </summary>
 /// <param name="pelaaja">Pelaajan hahmo</param>
 /// <param name="nopeus">Hahmon nopeus liikuttaessa</param>
 // Lähde: Jypelin tasohyppelypelin pohja.
 private void LiikutaPelaajaa(PlatformCharacter pelaaja, double nopeus)
 {
     pelaaja.Walk(nopeus);
 }
Пример #11
0
 /// <summary>
 /// Aliohjelma toteuttaa pelaajan kävelyn oikealle.
 /// </summary>
 /// <param name="player"></param>
 private void Kaveleoikea(PlatformCharacter player)
 {
     player.Walk(300);
     player.FacingDirection = Direction.Left;
 }
Пример #12
0
 /// <summary>
 /// Aliohjelma toteuttaa pelaajan kävelyn vasemmalle.
 /// </summary>
 /// <param name="player"></param>
 private void Kavelevasen(PlatformCharacter player)
 {
     player.Walk(-300);
     player.FacingDirection = Direction.Right;
 }
Пример #13
0
 /// <summary>
 /// Tasohyppelijä kävelee
 /// </summary>
 /// <param name="pelaaja">tasohyppelijä</param>
 /// <param name="nopeus">sysäys jolla th halutaan hyppäävän</param>
 void Kavely(PlatformCharacter pelaaja, double nopeus)
 {
     pelaaja.Walk(nopeus);
 }
Пример #14
0
 /// <summary>
 /// Liikuttaa hahmoa annatuilla parametereillä oikealle ja vasemmall
 /// </summary>
 /// <param name="sankari">Pelin sankari</param>
 /// <param name="suunta">Pääohjelmasta tuotu kävelysuunta</param>
 public void LiikutaHahmoa(PlatformCharacter sankari, double suunta)
 {
     sankari.Walk(suunta);
 }
Пример #15
0
 void Liikuta(PlatformCharacter hahmo, double kerroin)
 {
     hahmo.Walk(Nopeus * kerroin);
 }
Пример #16
0
 void LiikutaHahmoa(double nopeus)
 {
     pelaaja.Walk(nopeus);
 }
Пример #17
0
 /// <summary>
 /// Pelihahmo liikkuu annettuun suuntaan.
 /// </summary>
 /// <param name="hahmo">Pelihahmo.</param>
 public void HahmoVasemalle(PlatformCharacter hahmo)
 {
     hahmo.Walk(-liikeNopeus);
 }
Пример #18
0
 void Liikuta(PlatformCharacter hahmo, double nopeus)
 {
     hahmo.Walk(nopeus);
 }
Пример #19
0
 void LiikutaPelaajaa(double nopeus)
 {
     ToistaTehoste(Tapahtuma.Liikkuu);
     Pelaaja.Walk(nopeus);
 }
Пример #20
0
 void Liikuta(PlatformCharacter hahmo, double nopeus)
 {
     hahmo.Walk(nopeus);
 }
Пример #21
0
 /// <summary>
 /// Pelihahmo liikkuu annettuun suuntaan.
 /// </summary>
 /// <param name="hahmo">Pelihahmo.</param>
 public void HahmoOikealle(PlatformCharacter hahmo)
 {
     hahmo.Walk(liikeNopeus);
 }