/// <summary>
    /// Luodaan aliohjelma KaikkiKeratty, joka luo kultahippusateen laskurin saavuttaessa maksimiarvonsa.
    /// </summary>
    private void KaikkiKeratty()
    {
        ClearAll();

        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");

        Level.Background.CreateGradient(Color.White, Color.Gold);

        MessageDisplay.Add("Onnistuit keräämään kaikki lantit jäämättä kiinni verokarhulle! Paina Esc poistuaksesi.");

        Gravity = new Vector(0, -500);
        int i     = 0;
        int maara = 2000;

        while (i < maara)
        {
            int           sade  = RandomGen.NextInt(20, 20);
            double        x     = RandomGen.NextDouble(Level.Left + sade, Level.Right - sade);
            double        y     = RandomGen.NextDouble(Level.Bottom + sade, Level.Top - sade);
            Color         vari  = Color.Gold;
            PhysicsObject hippu = LuoHippu(x, y, vari, sade);
            Add(hippu, 1);
            i++;
        }
    }
Exemple #2
0
    /// <summary>
    /// Aliohjelma määrittää, mitä tapahtuu, kun törmäät esteeseen.
    /// </summary>
    public void TormaaTasoon(PhysicsObject tormaaja, PhysicsObject kohde)
    {
        MessageDisplay.Add("Törmäsit esteeseen, joten hävisit pelin!");
        Keyboard.Disable(Key.Up);

        pelaaja1.Destroy();
    }
Exemple #3
0
 /// <summary>
 /// Kerätessä viisi karkkia saa yhden elämän lisää.
 /// </summary>
 private void ViisiKarkkia()
 {
     elamaLaskuri.Value += 1;
     karkkiLaskuri.Value = 0;
     karkkiAani.Play();
     MessageDisplay.Add("Sait yhden elämän lisää!");
 }
Exemple #4
0
    void KuunteleLiiketta2(AnalogState hiirenTila)
    {
        int kohtausNumero = 0;

        foreach (PhysicsObject sana in tuoteLista)
        {
            //string apu = sana.ToString();
            if (Mouse.IsCursorOn(sana))
            {
                kohtausNumero = tuoteLista.IndexOf(sana);
                break;
            }
        }
        switch (kohtausNumero)
        {
        case 0:
            elamansuola.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("Käytä ensi kerralla Himalajan suolaa");
            MessageDisplay.MaxMessageCount = 0;

            break;

        case 1:
            hksininen.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("Vähä kyrsää... Brus suomalaista!");
            MessageDisplay.MaxMessageCount = 0;
            break;
        }
    }
Exemple #5
0
 void TormaaEsteeseen(PhysicsObject hahmo, PhysicsObject Este)
 {
     /// To do: "play again" nappula
     maaliAani.Play();
     MessageDisplay.Add("Kuolit!!!");
     pelaaja1.Destroy();
 }
Exemple #6
0
    void A()
    {
        Gravity = new Vector(0, -1000);

        LuoKentta();
        LisaaNappaimet();

        pistelaskuri.MaxValue    = 1;
        pistelaskuri.UpperLimit += kaikki;

        Camera.Follow(pelaaja1);
        Camera.ZoomFactor  = 1.2;
        Camera.StayInLevel = true;

        l      = new Label("Vakiofontti");
        l.Font = new Font(25);
        //l.Font.SetFontSize(50);
        //l.TextScale = new Vector(0.5, 0.5);
        l.Y = 170;
        Add(l);

        Label l2 = new Label("Vakiofontti");

        l2.Font = new Font(25, true);
        l2.Y    = 150;
        Add(l2);

        MessageDisplay.Add("Kissa");

        Explosion e = new Explosion(200);
        //Add(e);
    }
Exemple #7
0
 private void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
 {
     maaliAani.Play();
     MessageDisplay.Add("Keräsit tähden!");
     tahti.Destroy();
     pistelaskuri.Value++;
 }
Exemple #8
0
    /// <summary>
    /// Lopettaa pelin ja jos pelaaja pääsee top-listalle, antaa kirjoittaa pelaajan nimen
    /// Näyttää toplistan ja antaa ilmoituksen mahdollisuudesta aloittaa uuden pelin
    /// </summary>
    void PeliLoppui()
    {
        ScoreList topLista = new ScoreList(LISTANPITUUS, false, LISTALLEMINPISTEET);

        topLista = DataStorage.TryLoad <ScoreList>(topLista, "pisteet.xml");

        HighScoreWindow topIkkuna = new HighScoreWindow(
            "Parhaat pisteet",
            "Onneksi olkoon, pääsit listalle pisteillä %p",
            topLista,
            Suurempi()
            );

        Add(topIkkuna);

        topIkkuna.Closed += delegate(Window ikkuna)
        {
            DataStorage.Save <ScoreList>(topLista, "pisteet.xml");
        };

        topIkkuna.Closed += delegate(Window ikkuna)
        {
            MessageDisplay.Add("Aloita uusi peli");
        };
    }
Exemple #9
0
    void Luoaalto()
    {
        int susia = 5 + aalto * 3;

        Timer ajastin = new Timer();

        ajastin.Interval = 1.5;
        ajastin.Timeout += delegate
        {
            if (susia > 0)
            {
                susia--;
                MessageDisplay.Add("Uusi susi energiamäärällä: " + 3 * (aalto / 2.0));
                LuoSusi(3 * (aalto / 2.0));
            }
            else
            {
                ajastin.Stop();
                MessageDisplay.Add("Aalto loppui, seuraava 10s kuluttua!");
                aalto++;
                Timer.SingleShot(10, Luoaalto);
            }
        };
        ajastin.Start();
    }
 /// <summary>
 /// Luodaan aliohjelma TormaaLanttiin, joka aiheuttaa aaniiefektin, lisaa nayttoon viestin seka kasvattaa pistelaskurin arvoa.
 /// </summary>
 /// <param name="hahmo">Hahmo, joka osuu lanttiin</param>
 /// <param name="lantti">Lantti, johon hahmo osuu</param>
 private void TormaaLanttiin(PhysicsObject hahmo, PhysicsObject lantti)
 {
     maaliAani.Play();
     MessageDisplay.Add("Röhröh sain lantin!");
     pisteLaskuri.Value += 1;
     lantti.Destroy();
 }
Exemple #11
0
    /// <summary>
    /// Aliohjelma määrittää, mitä tapahtuu, kun törmäät maaliin.
    /// </summary>
    public void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
    {
        maaliAani.Play();
        MessageDisplay.Add("Löysit kypsän kiivin!");
        tahti.Destroy();

        pisteLaskuri.Value += 1;
    }
Exemple #12
0
 void TormaaTahteen3(PhysicsObject hahmo, PhysicsObject tahti3)
 {
     maaliAani.Play();
     MessageDisplay.Add("Sateenkaari Tauti   D:");
     laskuri.Value      -= 5;
     elamaLaskuri.Value -= 5;
     tahti3.Destroy();
 }
Exemple #13
0
 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
 {
     maaliAani.Play();
     MessageDisplay.Add("SAIT ELÄMÄN    :D");
     laskuri.Value      += 1;
     elamaLaskuri.Value += 1;
     tahti.Destroy();
 }
Exemple #14
0
 /// <summary>
 /// Pelin loppumisen jälkeen kentältä katoaa kaikki ja 4 sekuntin kuluttua peli alkaa alusta.
 /// </summary>
 /// <param name="viesti">Viestii päättyikö peli voittoon vai häviöön</param>
 private void LoppuTulos(String viesti)
 {
     MessageDisplay.Add(viesti);
     Gravity = Vector.Zero;
     StopAll();
     Keyboard.Disable(Key.Right);
     Keyboard.Disable(Key.Left);
     Timer.SingleShot(3, Begin);
 }
Exemple #15
0
 /// <summary>
 /// Lopettaa pelin, kun ajastin pääsee nollaan.
 /// </summary>
 public void AikaLoppui()
 {
     alaspainLaskuri.Value -= 0.1;
     if (alaspainLaskuri.Value <= 0.0)
     {
         MessageDisplay.Add("Aika Loppui");
         GameOver("Aika loppui. Uusi peli?");
     }
 }
Exemple #16
0
    void TormaaTahteen2(PhysicsObject hahmo, PhysicsObject tahti2)
    {
        rajahdys.AddEffect(hahmo.X, hahmo.Y, 50);

        maaliAani.Play();
        MessageDisplay.Add("Otit Osuman   D:");
        laskuri.Value      -= 1;
        elamaLaskuri.Value -= 3;
        tahti2.Destroy();
    }
Exemple #17
0
 /// <summary>
 /// Tarkoituksena olisi tulostaa hetkellisiä korkeuksia.
 /// </summary>
 private void OnkoKorkeus()
 {
     if (saavutettuYhteiskorkeus % 100 == 0)
     {
         if (MessageDisplay.IsAddedToGame == false)
         {
             MessageDisplay.Add(Convert.ToString(saavutettuYhteiskorkeus));
         }
     }
 }
Exemple #18
0
    // HIIREN KUUNTELU ELI MITÄ TAPAHTUU KUN VASEN HIIRI ON PAINETTU POHJAAN
    void KuunteleLiiketta()
    {
        if (Mouse.IsCursorOn(elamansuola))
        {
            elamansuola.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("Oos nyt sit varovainen sen kanssa");
            MessageDisplay.MaxMessageCount = 0;
            return;
        }

        else if (Mouse.IsCursorOn(hksininen))
        {
            hksininen.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("Vähä kyrsää... Brus suomalaista!");
            MessageDisplay.MaxMessageCount = 0;
            return;
        }

        else if (Mouse.IsCursorOn(jackdaniels))
        {
            jackdaniels.Position = Mouse.PositionOnWorld;


            MessageDisplay.Add("Sullahan on ihan kehittynyt maku.");
            MessageDisplay.MaxMessageCount = 0;
            return;
        }

        else if (Mouse.IsCursorOn(lanttu))
        {
            lanttu.Position = Mouse.PositionOnWorld;


            MessageDisplay.Add("Vähä kyrsää... Brus suomalaista!");
            MessageDisplay.MaxMessageCount = 0;
        }

        else if (Mouse.IsCursorOn(mustakitaturska))
        {
            mustakitaturska.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("Jaa no varmaan Gordon Ramsy ois ottanu saamaa");
            MessageDisplay.MaxMessageCount = 0;
        }

        else if (Mouse.IsCursorOn(kebabkastike))
        {
            kebabkastike.Position = Mouse.PositionOnWorld;

            MessageDisplay.Add("No nyt on kyllä gurmeé mauste");
            MessageDisplay.MaxMessageCount = 0;
        }
    }
Exemple #19
0
    void Assert(bool ehto, string message)
    {
        Color color = ehto ? Color.LightGreen : Color.Red;

        MessageDisplay.Add(message, color);

        if (!ehto)
        {
            throw new TestException();
        }
    }
Exemple #20
0
 void AssertNotNull(object obj, string objName)
 {
     if (obj != null)
     {
         MessageDisplay.Add(objName + " == " + obj.ToString(), Color.LightGreen);
     }
     else
     {
         MessageDisplay.Add(objName + " == NULL", Color.Red);
         throw new TestException();
     }
 }
Exemple #21
0
    /// <summary>
    /// Kynän osuessa pelaajaan tapahtuu räjähdys ja pelaajalta lähtee yksi elämä.
    /// </summary>
    /// <param name="pelaaja">Pelaaja on olio, jolla peliä pelataan.</param>
    /// <param name="kyna">Kynä on esine, jota on tarkoitus väistää.</param>
    private void kynaOsuuPelaajaan(PhysicsObject pelaaja, PhysicsObject kyna)
    {
        Explosion rajahdys = new Explosion(kyna.Width * 2);

        rajahdys.Position     = kyna.Position;
        rajahdys.UseShockWave = false;
        this.Add(rajahdys);
        Remove(kyna);
        elamaLaskuri.Value -= 1;
        MessageDisplay.Add("Menetit elämän!");
        MessageDisplay.MessageTime = new TimeSpan(0, 0, 1);
    }
Exemple #22
0
 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde)
 {
     if (kohde == oikeaReuna)
     {
         MessageDisplay.Add("Piste 1. pelaajalle");
         pelaajan1Pisteet.Value += 1;
     }
     else if (kohde == vasenReuna)
     {
         MessageDisplay.Add("Piste 2. pelaajalle");
         pelaajan2Pisteet.Value += 1;
     }
 }
    public void LaskeAlaspain()
    {
        aikaMittari.Value -= 0.1;

        if (aikaMittari.Value <= 0)
        {
            MessageDisplay.Add("Aika on päättynyt");
            MessageDisplay.TextColor = Color.Red;
            MessageDisplay.Position  = new Vector(Screen.Center.X, Screen.Center.Y);
            sammakollaOnKarpanen     = false;
            aikaLaskuri.Stop();
            PeliLoppui();
        }
    }
Exemple #24
0
    /// <summary>
    /// Pelaajan törmäykset toteutetaan tässä.
    /// </summary>
    /// <param name="pelaaja">IPhysicsObject joka törmää.</param>
    /// <param name="kohde">IPhysicsObject johon törmätään.</param>
    private void PelaajaTormaa(IPhysicsObject pelaaja, IPhysicsObject kohde)
    {
        if (kohde.Tag == "vesi" && (pelaaja.Bottom - kohde.Top) < 10)
        //if (pelaaja.Bottom < vesi.Y + vesi.Height / 2 + 20 || pelaaja.Y < vedenpinta)
        {
            if (pelaaja != null)
            {
                pelaaja.Destroy();
                //Remove(pelaaja);
                MessageDisplay.Add(pelaaja.Tag + " kuoli!");
                PeliPaattyy();
            }
        }

        if (kohde.Tag == "kotka")
        {
            pelaaja.Destroy();
            //Remove(pelaaja);
            MessageDisplay.Add("Kotka söi " + pelaaja.Tag + ":n!!!");
            PeliPaattyy();
        }

        if (kohde.Tag == "tnt")
        {
            //if (kohde.Y < 0) return;
            //Explosion rajahdys = new Explosion(kohde.Width);
            //rajahdys.Position = kohde.Position;
            int       pMax     = 200;
            Explosion rajahdys = new Explosion(pMax);
            rajahdys.Position = new Vector(kohde.X, kohde.Y);
            //Add(rajahdys);
            rajahdys.Speed = 500.0;
            rajahdys.Force = 10000;


            kohde.Destroy();
            pelaaja.Hit(new Vector(0, 10000));
        }

        //Kaksinpeliin alla oleva...
        if (pelaaja.Y < Camera.Y - KENTAN_KORKEUS / 2 && pelaajat.Count > 1)
        {
            //Remove(pelaaja);
            pelaaja.Destroy();
            MessageDisplay.Add(pelaaja.Tag + " kuoli!");
            PeliPaattyy();
        }
    }
    /// <summary>
    /// Törmätään herkkuun
    /// </summary>
    /// <param name="hahmo">Kisu</param>
    /// <param name="herkku">Kerättävä herkku/powerup</param>
    public void TormaaHerkkuun(PhysicsObject hahmo, PhysicsObject herkku)
    {
        MessageDisplay.Add("Sait lisäboostia!");
        pisteLaskuri.Value += 10;
        PowerUp             = true;
        herkku.Destroy();
        Timer powerUp = new Timer();

        powerUp.Interval = 6.0;
        powerUp.Timeout += delegate
        {
            Liikuta(kisu, NOPEUS);
            PowerUp = false;
        };
        powerUp.Start();
    }
Exemple #26
0
    public override void Begin()
    {
        Gravity = new Vector2(0, -0);

        p1 = new PhysicsObject(5, 50);
        Add(p1);

        p2 = new PhysicsObject(100, 50);
        p2.Body.Velocity = new Jypeli.Vector(-120, 10);
        p2.Position      = new Jypeli.Vector(400, 0);
        Add(p2);

        Surfaces ss = Level.CreateBorders();

        AddCollisionHandler <PhysicsObject, PhysicsObject>(p1, delegate { MessageDisplay.Add("kissa"); });
    }
Exemple #27
0
    /// <summary>
    /// poistetaan liikkuminen ja ilmoitetaan, että peli
    /// on hävitty
    /// </summary>
    /// <param name="tormaaja"></param>
    /// <param name="kohde"></param>
    void Tormays(PhysicsObject tormaaja, PhysicsObject kohde)
    {
        if (pisteLaskuri.Value >= 10)
        {
            MessageDisplay.Add("Voitit!");
        }
        else
        {
            MessageDisplay.Add("Hävisit!");
        }

        Keyboard.Disable(Key.Up);
        lisaaPollo.Stop();
        taustaAjastin.Stop();
        lisaaKapyja.Stop();
        pisteLaskuri.Stop();
    }
Exemple #28
0
    /// <summary>
    /// Peli pistetään poikki, tehdään loppu siivoukset ja valmistellaan uuteen peliin.
    /// Välilyönnillä aloittaa uuden peli.
    /// </summary>
    private void PeliPaattyy()
    {
        MessageDisplay.Add("Peli päättyi!");
        ClearGameObjects();
        esineet.Clear();
        pelaajat.Clear();
        tasot.Clear();

        ClearTimers();
        ClearControls();
        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
        MessageDisplay.Add("Paina välilyöntiä aloittaaksesi uuden pelin");
        MessageDisplay.Add("Paina 'M' päästäksesi alkuvalikkoon");
        NaytaTopTen();

        Keyboard.Listen(Key.Space, ButtonState.Pressed, AloitaUusiPeli, "Aloita uusi peli");
        Keyboard.Listen(Key.M, ButtonState.Pressed, Begin, "Alkuvalikko");
    }
Exemple #29
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);
        }
Exemple #30
0
    void SuolanValinnat(int i)
    {
        switch (i)
        {
        case 0:
            MessageDisplay.Add("nössösti lisätty");
            MessageDisplay.MaxMessageCount = 1;
            break;

        case 1:
            MessageDisplay.Add("Voi veljet");
            MessageDisplay.MaxMessageCount = 1;
            break;

        case 2:
            MessageDisplay.Add("nö älä nyt innostu");
            MessageDisplay.MaxMessageCount = 1;
            break;
        }
    }