Esempio n. 1
0
 /// <summary>
 /// Jos pelaajalla on avain mukanaan, tuhoaa lukon kosketuksesta.
 /// </summary>
 /// <param name="ovi">Oven viite</param>
 /// <param name="p">Pelaajan viite</param>
 private void AvaaOvi(PhysicsObject ovi, Pelaaja p)
 {
     if (p.Tavarat.KaytaTavara((int)TavaraTyypit.Avaimet))
     {
         ovi.Destroy();
     }
 }
        public void PelaajanNimiAlkaaIsolla()
        {
            Pelaaja p = new Pelaaja();

            p.Nimi = "david";
            Assert.AreEqual("David", p.Nimi, "Pelaajan nimen ensimmäinen kirjain ei ole iso");
        }
    /// <summary>
    /// Luodaan pelialue ja sinne asteroidit
    /// </summary>
    private void LuoKentta()
    {
        ClearAll();

        loppunut = false;
        //IsFullScreen = true; //jos haluaa koko näyttöön.
        SetWindowSize(1080, 1080, false);
        Level.Background.Color = Color.Black;
        Level.Height           = 6000;
        Level.Width            = 6000;
        //Level.Background.Image = taustaKuvat[RandomGen.NextInt(0, taustaKuvat.Length)];
        Level.Background.Image = taustaKuvat[0];
        Level.Background.FitToLevel();

        Level.CreateBorders(5, true);
        //Camera.ZoomToAllObjects();

        Camera.ZoomToLevel();
        Camera.StayInLevel = true;
        Gravity            = new Vector(0, 0);

        pelaaja1 = new Pelaaja(0, "Pelaaja", "Pelaaja 1", p1aloitus, new Vector(400, 500), Color.Yellow, new Key[] { Key.Up, Key.Down, Key.Left, Key.Right, Key.RightControl, Key.RightShift });

        pelaaja2 = new Pelaaja(1, "Pelaaja", "Pelaaja 2", p2aloitus, new Vector(-400, 500), Color.Red, new Key[] { Key.W, Key.S, Key.A, Key.D, Key.LeftControl, Key.LeftShift });

        PaivitaPelaaja(pelaaja1); //päivitetään vasta, kun molemmat on luo
        PaivitaPelaaja(pelaaja2);

        LuoAsteroidit(20);
    }
Esempio n. 4
0
        public void AllDataTest()
        {
            Pelaaja pelaaja  = new Pelaaja("Teemu", "Selänne", "anaheim ducks", 3000000);
            Pelaaja pelaaja2 = new Pelaaja("Patrik", "Laine", "Winnipeg Jets", 1000000);

            Assert.AreNotSame(pelaaja, pelaaja2);
        }
    /// <summary>
    /// Tarkistetaan onko pelaajalla vielä aluksia jäljellä edellisen tuhoutumisen jälkeen
    /// </summary>
    /// <param name="pelaaja">Tarkastettava pelaaja</param>
    public void TarkistaLoppu(Pelaaja pelaaja)
    {
        if (pelaaja.AlusLaskuri.Value == 0)
        {
            string voittaja = " voitti!";
            string nimi;
            if (pelaaja.Nimi.Equals(pelaaja1.Nimi))
            {
                nimi = pelaaja2.Nimi;
            }
            else
            {
                nimi = pelaaja1.Nimi;
            }
            PeliLoppui(nimi + voittaja);
        }

        Timer respawnLaskuri = new Timer();

        respawnLaskuri.Interval = 3;
        respawnLaskuri.Timeout += delegate {
            PaivitaPelaaja(pelaaja);
        };
        respawnLaskuri.Start(1);
    }
        public void PelaajanNimiYhdenMittainen()
        {
            Pelaaja p = new Pelaaja();

            p.Nimi = "d";
            Assert.AreEqual("D", p.Nimi, "Pelaajan nimi ei ala isolla alkukirjaimella");
        }
        public void PelaajanNimiEiOleTyhjä()
        {
            Pelaaja p = new Pelaaja();

            p.Nimi = "";
            Assert.AreEqual("Pelaaja", p.Nimi, "Pelaajan nimi ei ole oletus");
            Assert.AreEqual(7, p.Nimi.Length, "Pelaajan nimi ei ole oletusmittainen");
        }
        public void PelaajaLiikkuuOikealle()
        {
            Pelaaja p = new Pelaaja();

            p.Leveys = 2;
            p.Oikea();
            Assert.AreEqual(3, p.Leveys, "Pelaaja ei liikkunut oikealle");
        }
        public void PelaajaLiikkuuVasemmalle()
        {
            Pelaaja p = new Pelaaja();

            p.Leveys = 2;
            p.Vasen();
            Assert.AreEqual(1, p.Leveys, "Pelaaja ei liikkunut vasemmalle");
        }
        public void PelaajaLiikkuuAlas()
        {
            Pelaaja p = new Pelaaja();

            p.Korkeus = 2;
            p.Alas();
            Assert.AreEqual(3, p.Korkeus, "Pelaaja ei liikkunut alaspäin");
        }
        public void PelaajaLiikkuuYlös()
        {
            Pelaaja p = new Pelaaja();

            p.Korkeus = 2;
            p.Ylös();
            Assert.AreEqual(1, p.Korkeus, "Pelaaja ei liikkunut ylöspäin");
        }
Esempio n. 12
0
 /// <summary>
 /// Lataa seuraavan kentän, kun pelaaja osuu "maaliin".
 /// </summary>
 /// <param name="a">"Maalin" viite.</param>
 /// <param name="b">Pelaajan viite.</param>
 private void KenttaVaihtuu(PhysicsObject a, Pelaaja b)
 {
     HUD.LaskeKentanPisteen(b);
     ++CurrentLevel;
     pelaajanTiedot.Elamat = b.Tavarat.TavaranMaara((int)TavaraTyypit.Elama);
     pelaajanTiedot.Pommit = b.Tavarat.TavaranMaara((int)TavaraTyypit.Pommit);
     LataaKentta();
 }
Esempio n. 13
0
        public void PelaajaTest1()
        {
            Pelaaja pelaaja = new Pelaaja("Teemu", "Selänne", null, 3000000);

            Assert.IsInstanceOfType(pelaaja.Etunimi, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Sukunimi, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Seura, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Siirtohinta, typeof(int));
        }
    /// <summary>
    /// Luo pelaajan peliruutuun.
    /// </summary>
    private void LuoPelaaja(Vector paikka, double leveys, double korkeus)
    {
        pelaaja = new Pelaaja(this, leveys, korkeus, pelaajanTiedot);
        //pelaaja.Position = paikka;

        PeliolionPerustiedot(pelaaja, paikka);
        AddCollisionHandler <Peliolio, Peliolio>(pelaaja, "vihollinen", PeliolioonOsuiPeliolio);

        Add(pelaaja);
    }
 /// <summary>
 /// Asetetaan näppäimet pelaajalle.
 /// </summary>
 /// <param name="pelaaja">Pelaaja, jolle asetetaan</param>
 /// <param name="nappaimet">Taulukko näppäimistä</param>
 private void AsetaNappaimet(Pelaaja pelaaja, Key[] nappaimet)
 {
     Keyboard.Listen(nappaimet[0], ButtonState.Down, pelaaja.Alus.LyoAlusta, "Lyö alusta ylöspäin", 200.0);
     Keyboard.Listen(nappaimet[1], ButtonState.Down, pelaaja.Alus.LyoAlusta, "Lyö alusta alaspäin", -100.0);
     Keyboard.Listen(nappaimet[2], ButtonState.Down, delegate { pelaaja.Alus.Angle += Angle.FromDegrees(7.0); }, "Käännä alusta vasemmalle");
     Keyboard.Listen(nappaimet[3], ButtonState.Down, delegate { pelaaja.Alus.Angle += Angle.FromDegrees(-7.0); }, "Käännä alusta oikealle");
     //Keyboard.Listen(nappaimet[4], ButtonState.Down, delegate { PhysicsObject ammus = pelaaja.Alus.Ase1.Shoot(); }, "Ammu aseella 1");
     Keyboard.Listen(nappaimet[4], ButtonState.Down, pelaaja.Alus.AmmuAseella1, "Ammu aseella 1");
     Keyboard.Listen(nappaimet[5], ButtonState.Down, pelaaja.Alus.AmmuAseella2, "Ammu aseella 2");
     Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
 }
Esempio n. 16
0
    /// <summary>
    /// Suorittaa pelin loppumiseen liittyvät tapahtumat kun pelaaja törmää pinkkiin palloon.
    /// (CollisionHandlerin avulla)
    /// </summary>
    /// <param name="o">Pinkin pallon viite</param>
    /// <param name="p">Pelaajan viite</param>
    private void VoitaPeli(PhysicsObject o, Pelaaja p)
    {
        if (o.Animation.CurrentFrameIndex == 0)
        {
            o.Animation.Step();
        }
        p.Hp = -1;

        HUD.LaskeKentanPisteen(pelaaja);
        IsPaused = true;
        PrinttaaTekstiJaOdotaInput("You have defeated sadistic and vile creature, Splörts, and freed your friend\nfrom his dungeon. Congratulations!", TallennaPisteetJaVoitaPeli);
    }
    /// <summary>
    /// Tarkistetaan kumman pelaajan alus on kyseessä. Vain kaksi alusta voi olla olemassa tässä vaiheessa, joten if/else toimii
    /// </summary>
    /// <param name="pelaaja">Pelaaja, jonka aluksen elämälaskuri tarkastetaan</param>
    public void TarkistaPelaaja(Pelaaja pelaaja)
    {
        if (pelaaja.Alus.ElamaLaskuri == 0)
        {
            pelaaja.Alus.Ase1.Destroy();
            pelaaja.Alus.Destroy();
            KasitteleRajahdys(pelaaja.Alus);

            pelaaja.AlusLaskuri.Value -= 1;

            TarkistaLoppu(pelaaja);
        }
    }
 /// <summary>
 /// Päivitetään pelaajan tiedot: luodaan alus, kontrollerit, collisionhandlerit ja näytöt
 /// </summary>
 /// <param name="pelaaja">Pelaaja, jota päivitetään</param>
 private void PaivitaPelaaja(Pelaaja pelaaja)
 {
     pelaaja.LuoAlus(this, "Pelaaja", pelaaja.Nimi, pelaaja.Aloitus, pelaaja.Vari);
     pelaaja.Alus.Image = alukset[pelaaja.AlusKuva];
     //AsetaNappaimet(pelaaja, pelaaja.Nappaimet);
     PaivitaNappaimet();
     pelaaja.PoistaNaytot();
     pelaaja.LuoNaytot(this);
     this.AddCollisionHandler(pelaaja.Alus, "Asteroidi", Tormays);
     this.AddCollisionHandler(pelaaja.Alus, "Pelaaja", Tormays);
     pelaaja.Alus.Ase1.ProjectileCollision = AmmusOsui1;
     pelaaja.Alus.Ase2.ProjectileCollision = AmmusOsui2;
 }
Esempio n. 19
0
        public void GetPositionTest()
        {
            List <string> lista = new List <string>();

            Pelaaja pelaaja = new Pelaaja("Teemu", "Selänne", "anaheim ducks", 3000000);

            lista.Add(pelaaja.AllData());

            pelaaja = new Pelaaja("Patrik", "Laine", "Winnipeg Jets", 1000000);
            lista.Add(pelaaja.AllData());

            Assert.AreEqual(1, pelaaja.GetPosition(lista, lista.Count, "Patrik Laine"));
        }
Esempio n. 20
0
        static void TestaaJoukkue()
        {
            Joukkue joukkue = new Joukkue {
                Nimi = "JYP", Kotikaupunki = "Helsinki"
            };

            Pelaaja[] p = new Pelaaja[6];
            int       m = 0;

            while (true)
            {
                Console.WriteLine("Kirjoita valinta 0(Jos haluat mennä pois), 1(Jos haluat lisätä pelaajan), 2(Jos haluat poistaa pelaajan), 3(Jos haluat nähdä pelaajanlista)");
                int valinta = Int32.Parse(Console.ReadLine());
                if (valinta == 0)
                {
                    break;
                }
                else
                {
                    if (valinta == 1)
                    {
                        Console.WriteLine("Kirjoita etunimi:");
                        string etunimi = Console.ReadLine();
                        Console.WriteLine("Kirjoita sukunimi:");
                        string sukunimi = Console.ReadLine();
                        Console.WriteLine("Kirjoita ika:");
                        int ika = Int32.Parse(Console.ReadLine());
                        Console.WriteLine("Kirjoita numero:");
                        int numero = Int32.Parse(Console.ReadLine());
                        Console.WriteLine("Kirjoita rooli:");
                        string rooli = Console.ReadLine();
                        p[m] = new Pelaaja {
                            Etunimi = etunimi, Sukunimi = sukunimi, Ika = ika, Numero = numero, Rooli = rooli
                        };
                        joukkue.LisaaPelaaja(p[m]);
                        m++;
                    }
                    else if (valinta == 2)
                    {
                        Console.WriteLine("Kirjoita pelaajan numero: ");
                        int tmp = Int32.Parse(Console.ReadLine());
                        joukkue.PoistaaPelaaja(tmp);
                        Console.WriteLine(joukkue.ToString());
                    }
                    else if (valinta == 3)
                    {
                        Console.WriteLine(joukkue.ToString());
                    }
                }
            }
        }
Esempio n. 21
0
        public static void VertaaPelaaja(string uusinimi, int pisteet, int PeliID)
        {
            int ID;

            try
            {
                List <Pelaaja> Pelaajat = new List <Pelaaja>();
                //kerrotaan että yhteystiedot löytyvät app.configista
                string cs = ConfigurationManager.ConnectionStrings["cs"].ConnectionString;
                //Sql-kysely
                string sql = "SELECT PelaajaID,Nick FROM Pelaaja";
                //luodaan yhteys ja avataan yhteys tietokantaan
                using (MySqlConnection conn = new MySqlConnection(cs))//using kertoo, että muuttuja conn on käytettävissä vain seuraavassa lohkossa. Muistinhallinnan kannalta näin on parempi, sillä yhteydet kuluttavat paljon muistia.
                {
                    conn.Open();
                    //suoritetaan kysely tietokantaan
                    MySqlCommand cmd = new MySqlCommand(sql, conn);
                    using (MySqlDataReader rdr = cmd.ExecuteReader())
                    {
                        //käydään tulokset läpi ja muutetaan kukin tietue(rivi) Student-olioksi
                        while (rdr.Read())
                        {
                            Pelaaja s = new Pelaaja();
                            s.PelaajaID   = rdr.GetInt32(0);
                            s.PelaajaNimi = rdr.GetString(1);
                            Pelaajat.Add(s);
                        }
                    }
                    if (Pelaajat.Exists(x => x.PelaajaNimi == uusinimi))
                    {
                        int index = Pelaajat.FindIndex(a => a.PelaajaNimi == uusinimi);
                        ID = Pelaajat.ElementAt(index).PelaajaID;
                        Addpisteet(pisteet, PeliID, ID);
                    }
                    else
                    {
                        AddPelaaja(uusinimi);
                        VertaaPelaaja(uusinimi, pisteet, PeliID);
                    }
                }
            }
            catch (Exception db)
            {
                MessageBox.Show(db.Message);
            }
        }
Esempio n. 22
0
    /// <summary>
    /// Kun painetaan ampumisnappia, pelaaja ampuu halutun ammuksen
    /// </summary>
    /// <param name="p">pelaaja</param>
    public void PelaajaAmmu(Pelaaja p)
    {
        if (p.AmpumisAjastin.Enabled || p.ShouldDie())
        {
            return;
        }
        else
        {
            Ammus ammus = Peli.AmmusLuoti1Malli();
            ammus.Speed    = 700;
            ammus.Position = p.Position;
            ammus.Ampuja   = this;


            p.Shoot(p.pelaajanSuunta, ammus);
            //p.AmpumisAjastin.Reset();
            p.AmpumisAjastin.Start(1);
        }
    }
Esempio n. 23
0
        public static void PyydaSiirtoa(Pelaaja pelaaja)
        {
            bool onnistuiko;

            do
            {
                Console.WriteLine("{0}, tee siirto muodossa 'x,y'.", pelaaja.Tunnus);
                int[] siirto = Siirto(Console.ReadLine());
                onnistuiko = TeeSiirto(siirto, pelaaja);
            } while (onnistuiko == false);

            Console.Clear();
            PiirraPelikentta();
            if (Voitontarkistaja(pelaaja.Numero) == true)
            {
                Console.WriteLine("{0} voitti pelin!", pelaaja.Tunnus);
                System.Environment.Exit(0);
            }
            ;
        }
Esempio n. 24
0
        public static bool TeeSiirto(int[] siirto, Pelaaja pelaaja)
        {
            int koordinaatti = (siirto[1]) * 3 + (siirto[0]);

            if (koordinaatti < 0 || koordinaatti > pelikentta.Length)
            {
                return(false);
            }

            if (pelikentta[koordinaatti] == null)
            {
                pelikentta[koordinaatti] = pelaaja.Numero;
                return(true);
            }
            else
            {
                Console.WriteLine("Paikka varattu!");
                return(false);
            }
        }
Esempio n. 25
0
    /// <summary>
    /// Kun painetaan pomminheittonappia, pelaaja heittää pommin.
    /// </summary>
    /// <param name="p">pelaaja</param>
    public void PelaajaHeitaKranaatti(Pelaaja p)
    {
        if (p.KranaattiAjastin.Enabled || p.ShouldDie())
        {
            return;
        }
        else
        {
            if (p.Tavarat.KaytaTavara((int)TavaraTyypit.Pommit))
            {
                Ammus ammus = Peli.AmmusPommi1Malli();
                ammus.Position = p.Position;
                ammus.Ampuja   = this;
                //ammus.Rajahdys.AddShockwaveHandler("pelaaja", Harjoittelutyö.PaineaaltoOsuu);

                p.Shoot(p.pelaajanSuunta, ammus);
                //p.KranaattiAjastin.Reset();
                p.KranaattiAjastin.Start(1);
            }
        }
    }
Esempio n. 26
0
    /// <summary>
    /// Kun kenttä on menty läpi, laskee pelaajan kentästä saadut pisteet.
    /// </summary>
    /// <param name="p">Pelaajan viite</param>
    public static void LaskeKentanPisteen(Pelaaja p)
    {
        //Laske pisteet pelaajan kolikoista, elämistä ja hp:sta
        Pisteet += 200 * p.Tavarat.TavaranMaara((int)TavaraTyypit.Raha);
        Pisteet += 400 * p.Tavarat.TavaranMaara((int)TavaraTyypit.Elama);
        Pisteet += 200 * p.CurrentHp;

        //Poistaa kaikki kolikot pelaajan inventorista. Ei tarvittava, koska kolikot eivät tallennu pelaajan tietoihin, jotka ladataan
        //seuraavassa kentässä.
        //p.Tavarat.KaytaTavara((int)TavaraTyypit.Raha, (byte)p.Tavarat.TavaranMaara((int)TavaraTyypit.Raha));

        //Anna pisteitä kentän suorituksen nopeudesta:
        const int maxPisteetAjasta = 2000;  //Maksimipisteet, jotka pelaaja voi saada nopeasta suorituksesta.
        const int minPisteetAjasta = 1000;  //Minimipisteet, jotka pelaaja saa joka kentän suorituksesta.
        const int maxAikavaatimus  = 600;   //Aika sekuntteina, jonka jälkeen pelaaja saa vain minimipisteet kentästä.

        Pisteet += Math.Max((int)(maxPisteetAjasta - kenttaAjastin.CurrentTime * (maxPisteetAjasta / maxAikavaatimus)), minPisteetAjasta);
        kenttaAjastin.Stop();

        //Kentän pisteet tallennetaan "vanhatPisteet" muuttujaan, jolloin niitä ei voi enää ottaa pois pelaajalta.
        vanhatPisteet = Pisteet;
    }
Esempio n. 27
0
        public void ParseDataTest()
        {
            List <string> lista = new List <string>();

            Pelaaja pelaaja = new Pelaaja("Teemu", "Selänne", "anaheimDucks", 3000000);

            lista.Add(pelaaja.AllData());

            pelaaja = new Pelaaja("Patrik", "Laine", "WinnipegJets", 1000000);
            lista.Add(pelaaja.AllData());

            pelaaja.ParseData(lista, 0);

            Assert.IsInstanceOfType(pelaaja.Etunimi, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Sukunimi, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Seura, typeof(string));
            Assert.IsInstanceOfType(pelaaja.Siirtohinta, typeof(int));


            Assert.AreEqual("Teemu", pelaaja.Etunimi);
            Assert.AreEqual("Selänne", pelaaja.Sukunimi);
            Assert.AreEqual("anaheimDucks", pelaaja.Seura);
            Assert.AreEqual(3000000, pelaaja.Siirtohinta);
        }
Esempio n. 28
0
    void AloitaPeli()
    {
        ClearAll();



        ruudut.SetTileMethod('#', LuoSeina);
        ruudut.SetTileMethod('-', LuoSeina);
        ruudut.Execute(tileWidth, tileHeight);

        //pistelaskuri peliin

        PisteLaskuri();
        pisteLaskuri.Value = 30;


        //rynkky
        rynkky                     = new AssaultRifle(40, 30);
        rynkky.Ammo.Value          = pisteLaskuri.Value;
        rynkky.ProjectileCollision = Osuma;


        //laser

        /*laser = new LaserGun(30, 10);
         * laser.Ammo.Value = 20;
         * laser.ProjectileCollision = Osuma;*/



        //pelaaja
        pelaaja1           = new Pelaaja(40, 80);
        pelaaja1.CanRotate = false;


        HpLaskuri();
        hpLaskuri.Value = pelaaja1.Elamat;

        pelaaja1.Image = HahmonKuva;
        pelaaja1.Tag   = "Pelaaja";
        Add(pelaaja1);
        pelaaja1.Add(rynkky);

        Level.Background.Image = MaanKuva;
        Level.Background.ScaleToLevelFull();



        //näppäimet

        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -100), pelaaja1);
        Keyboard.Listen(Key.Down, ButtonState.Released, Pysayta, null, new Vector(0, -100));
        Keyboard.Listen(Key.Down, ButtonState.Pressed, KaannaAse, "Käännetään asetta pelaajanmukana", Angle.FromDegrees(-90), rynkky);

        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 100), pelaaja1);
        Keyboard.Listen(Key.Up, ButtonState.Released, Pysayta, null, new Vector(0, 100));
        Keyboard.Listen(Key.Up, ButtonState.Pressed, KaannaAse, "Käännetään asetta pelaajanmukana", Angle.FromDegrees(90), rynkky);

        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-100, 0), pelaaja1);
        Keyboard.Listen(Key.Left, ButtonState.Released, Pysayta, null, new Vector(-100, 0));
        Keyboard.Listen(Key.Left, ButtonState.Pressed, KaannaAse, "Käännetään asetta pelaajanmukana", Angle.FromDegrees(180), rynkky);

        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(100, 0), pelaaja1);
        Keyboard.Listen(Key.Right, ButtonState.Released, Pysayta, null, new Vector(100, 0));
        Keyboard.Listen(Key.Right, ButtonState.Pressed, KaannaAse, "Käännetään asetta pelaajanmukana", Angle.FromDegrees(0), rynkky);

        Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu", rynkky, pelaaja1);

        Keyboard.Listen(Key.Q, ButtonState.Pressed, AnnaLaser, "Annetaan laserGun", pelaaja1);

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


        Kierros();
    }
Esempio n. 29
0
 void AnnaLaser(Pelaaja pelaaja)
 {
     pelaaja.Add(laser);
 }
Esempio n. 30
0
 void Ammu(AssaultRifle rifle, Pelaaja pelaaja)
 {
     PhysicsObject ammus = rifle.Shoot();
 }