Пример #1
0
    void Kentta()
    {
        ColorTileMap Ruudut = ColorTileMap.FromLevelAsset("Kentta");

        Ruudut.SetTileMethod(Color.FromHexCode("#000000"), LuoTaso);
        Ruudut.Execute(20, 20);
    }
Пример #2
0
 public static void LisaaKasittelijatVareille(List <Color> varit, ColorTileMap karttaLataaja, AbstractTileMap <Color> .TileMethod <Color> kasittelija, ref HashSet <Color> varatutVarit)
 {
     foreach (Color vari in varit)
     {
         if (!varatutVarit.Contains(vari))
         {
             karttaLataaja.SetTileMethod(vari, kasittelija, vari);
             varatutVarit.Add(vari);
         }
     }
 }
Пример #3
0
    void Kentta()
    {
        ColorTileMap Ruudut = ColorTileMap.FromLevelAsset("Kentta");

        Ruudut.SetTileMethod(Color.FromHexCode("#000000"), LuoTaso);
        Ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), LuoPelaaja);
        Ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), LisaaVihollinen);
        Ruudut.Execute(20, 20);
        LuoAikaLaskuri(20.0);
        Level.Background.Image = TaustaKuva;
        Level.Background.FitToLevel();
    }
Пример #4
0
    void LuoKentta()
    {
        ColorTileMap kentta = ColorTileMap.FromLevelAsset("kukkula");

        kentta.SetTileMethod(Color.Black, LuoReuna);
        kentta.SetTileMethod(Color.DarkGray, LuoMaata);
        kentta.SetTileMethod(Color.FromHexCode("00FF21"), LuoPelaaja);
        kentta.SetTileMethod(Color.Red, LuoVihollinen);
        kentta.Optimize(Color.Black);
        kentta.Execute(30, 30);

        Gravity = new Vector(0, -1000);
        AddCollisionHandler <PlatformCharacter2, PlatformCharacter>(pelaaja, "vihollinen", VihollinenKukkulalla);
    }
Пример #5
0
    void LuoKentta()
    {
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("CrossyRoad2D");

        ruudut.SetTileMethod(Color.FromHexCode("167C00"), LuoNurmikko);
        ruudut.SetTileMethod(Color.Black, LuoJunarata);
        ruudut.SetTileMethod(Color.FromHexCode("4CFFED"), LuoPelaaja);
        ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoValo2);
        ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LuoValo1);
        ruudut.SetTileMethod(Color.FromHexCode("FF001D"), LuoJalkakaytava);
        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoVesi);
        ruudut.SetTileMethod(Color.FromHexCode("808080"), LuoTie);

        ruudut.Execute(10, 8);
    }
Пример #6
0
    void LuoKentta()
    {
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("theRunningMan");

        ruudut.SetTileMethod(Color.Gray, LuoPelaaja);
        ruudut.SetTileMethod(Color.Black, LuoTaso);
        ruudut.SetTileMethod(Color.Blue, LuoEste1);
        ruudut.SetTileMethod(Color.Red, LuoEste2);
        ruudut.SetTileMethod(Color.Purple, LuoEste3);
        ruudut.SetTileMethod(Color.Yellow, LuoEste4);
        ruudut.SetTileMethod(Color.FromHexCode("B6FF00"), LuoEste5);
        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoEste6);
        ruudut.Execute(150, 150);
        Camera.Follow(pelaaja);
        Camera.ZoomToLevel();
    }
Пример #7
0
    void LuoKentta()
    {
        /// TileMap kentta = TileMap.FromLevelAsset("kentta1");
        /// kentta.SetTileMethod('#', LisaaTaso);
        /// kentta.SetTileMethod('*', LisaaTahti);
        /// kentta.SetTileMethod('N', LisaaPelaaja);
        /// kentta.SetTileMethod('E', LisaaEste);
        /// kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
        /// Level.CreateBorders();
        /// Level.Background.CreateGradient(Color.White, Color.SkyBlue);
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("TestMap");

        ruudut.SetTileMethod(Color.HanPurple, LisaaTaso);
        ruudut.SetTileMethod(Color.Black, LisaaPelaaja);
        ruudut.SetTileMethod(Color.Gold, LisaaTahti);
        ruudut.SetTileMethod(Color.Red, LisaaEste);

        ruudut.Execute(30, 30);
    }
Пример #8
0
    /// <summary>
    /// Tässä osiossa olevissa aliohjelmissa luodaan kentät 1-5
    /// </summary>
    //#################################################################################
    //#                     !! KENTTIEN LUOMINEN !!                                   #
    //#################################################################################


    /// <summary>
    /// Aliohjelma, joka luo kentän
    /// </summary>
    public void LuoKentta(int kenttaNro)
    {
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        ruudut.SetTileMethod(Color.Black, LuoTaso);
        ruudut.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap seinat = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        seinat.SetTileMethod(Color.Green, LuoSeina);
        seinat.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap ukko = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        ukko.SetTileMethod(Color.Blue, LuoPelaaja);
        ukko.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap tahdet = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        tahdet.SetTileMethod(Color.Yellow, LuoTahti);
        tahdet.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap maali = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        maali.SetTileMethod(Color.Red, LuoMaali);
        maali.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap painike = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        painike.SetTileMethod(Color.Aqua, LuoPainike);
        painike.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap este = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        este.SetTileMethod(new Color(165, 42, 42), LuoEste);
        este.Execute(RuutuKoko, RuutuKoko);

        ColorTileMap vihollinen = ColorTileMap.FromLevelAsset("kentta" + kenttaNro);

        vihollinen.SetTileMethod(new Color(255, 0, 220), LuoVihollinen);
        vihollinen.Execute(RuutuKoko, RuutuKoko);
    }
Пример #9
0
    void aloitapeli()
    {
        Level.Background.Image = null;
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("mappi");

        Camera.Zoom(0.6);
        ruudut.SetTileMethod(Color.Black, LuoKentta);
        ruudut.SetTileMethod(Color.FromHexCode("00FF21"), luopelaaja);
        ruudut.SetTileMethod(Color.FromHexCode("FF0000"), luoulospaasy);
        ruudut.SetTileMethod(Color.FromHexCode("FFD800"), luovihollinen);

        ruudut.Execute(20, 20);
        Kiipeaminen = LoadAnimation("anima");
        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");

        Gravity = new Vector(0.0, -800.0);
        Level.Background.Color = Color.White;
        LuoPistelaskuri();
        luocontrors();
    }
Пример #10
0
    void LataaKentta()
    {
        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
        ColorTileMap ruudut = new ColorTileMap(ValittuKartta);

        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
        HashSet <Color> varatutVarit = new HashSet <Color>();

        Apuri.LisaaKasittelijatVareille(new List <Color>()
        {
            KENTÄN_MAALIN_VARI
        }, ruudut, LisaaMaaliKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List <Color>(MaastoKuvat.Keys), ruudut, LisaaMaastoaKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List <Color>(HahmoKuvat.Keys), ruudut, LisaaHahmoKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List <Color>(EsineKuvat.Keys), ruudut, LisaaEsineKartalle, ref varatutVarit);
        // Loput värit tulkitaan maastoksi
        Apuri.LisaaKasittelijatVareille(Apuri.AnnaKaikkiKuvanVarit(ValittuKartta), ruudut, LisaaMaastoaKartalle, ref varatutVarit);

        //3. Execute luo kentän
        //   Parametreina leveys ja korkeus
        ruudut.Execute(RUUDUN_LEVEYS + 1, RUUDUN_KORKEUS + 1);

        // Pelaaja aloittaa keskeltä, jos ei ole merkattuja aloituspaikkoja
        if (PelaajanAloitusPaikat.Count == 0)
        {
            PelaajanAloitusPaikat.Add(new Vector(0, 0));
        }

        // Aseta taustakuva
        if (ValittuTausta != null)
        {
            Level.Background.Image = ValittuTausta;
            Level.Background.ScaleToLevel();
            Level.Background.TileToLevel();
        }
    }
Пример #11
0
    void LataaKentta()
    {
        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
        ColorTileMap ruudut = new ColorTileMap( ValittuKartta );
  
        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
        HashSet<Color> varatutVarit = new HashSet<Color>();
        Apuri.LisaaKasittelijatVareille(new List<Color>() {KENTÄN_MAALIN_VARI}, ruudut, LisaaMaaliKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List<Color>(MaastoKuvat.Keys), ruudut, LisaaMaastoaKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List<Color>(HahmoKuvat.Keys), ruudut, LisaaHahmoKartalle, ref varatutVarit);
        Apuri.LisaaKasittelijatVareille(new List<Color>(EsineKuvat.Keys), ruudut, LisaaEsineKartalle, ref varatutVarit);
        // Loput värit tulkitaan maastoksi
        Apuri.LisaaKasittelijatVareille(Apuri.AnnaKaikkiKuvanVarit(ValittuKartta), ruudut, LisaaMaastoaKartalle, ref varatutVarit);
        
        //3. Execute luo kentän
        //   Parametreina leveys ja korkeus
        ruudut.Execute(RUUDUN_LEVEYS+1, RUUDUN_KORKEUS+1);

        // Pelaaja aloittaa keskeltä, jos ei ole merkattuja aloituspaikkoja
        if (PelaajanAloitusPaikat.Count == 0)
            PelaajanAloitusPaikat.Add(new Vector(0, 0));

        // Aseta taustakuva
        if (ValittuTausta != null)
        {
            Level.Background.Image = ValittuTausta;
            Level.Background.ScaleToLevel();
            Level.Background.TileToLevel();
        }
    }
Пример #12
0
    /// <summary>
    /// Aliohjelma kentän luontiin. Luo kentän rajat ja maalialueen lukemalla tilejen sijainnit pikselikartalta.
    /// Luo kotipesän staattisena GameObjektina. Luo pelaajan ja ruokalaskurin.
    /// Aliohjelmakutsuja silmukoissa seuraavien olioiden luontiin: lumikot, jahtaavat lumikot ja sydämet.
    /// Sisältää lisäksi taustaväri sekä taustakuvamäärittelyn ja näkökenttäolion.
    /// Kertaluontoisissa SingleShot Timereissä kutsutaan myös Viestit-funktiota useita kertoja pelin alkutarinan kertomiseen.
    /// Viimeisen viestin yhteydessä Matti "vapautetaan" asettamalla hänelle ohjaimet, aikalaskuri käynnistetään sekä Matin
    /// CollisionIgnoreGroup vaihdetaan, jotta vihulaiset pystyvät nyt vahingoittamaan häntä.
    /// </summary>
    private void KentanLuonti()
    {
        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kartta");

        ruudut.SetTileMethod(Color.Azure, LuoTaso);
        ruudut.SetTileMethod(Color.Brown, LuoMaali);
        ruudut.Execute(pelinAsetuksiaInt[0], pelinAsetuksiaInt[0]);

        kotiPesa = new GameObject(250, 250)
        {
            Position = new Vector(0, 0),
            Image    = talviPesa[0]
        };
        Add(kotiPesa, 2);

        matti1 = Pelaaja(this, 0, -50);
        AddCollisionHandler <PhysicsObject, Ruoka>(matti1, PelaajaTormaaSiemeneen);
        AddCollisionHandler <PhysicsObject, Sydan>(matti1, PelaajaTormaaSydameen);
        AddCollisionHandler <PhysicsObject, Vihollinen>(matti1, PelaajaTormaaViholliseen);
        AddCollisionHandler <PhysicsObject, JahtaavaVihollinen>(matti1, PelaajaTormaaViholliseen);

        for (int i = 0; i < kenttienOliot[0, 1]; i++)
        {
            LuoSydan();
        }

        for (int i = 0; i < kenttienOliot[0, 2]; i++)
        {
            LuoLumikko(lumikonLiike);
        }

        for (int i = 0; i < kenttienOliot[0, 3]; i++)
        {
            LuoJahtaavaLumikko(lumikot, lumikonLiike);
        }

        Level.BackgroundColor  = Color.DarkJungleGreen;
        Level.Background.Image = kesaTausta;
        Level.Background.TileToLevel();
        Camera.Follow(matti1);

        GameObject nakokentta = new GameObject(Screen.Width * 1.5, Screen.Height * 1.5)
        {
            Image     = nakokenttaKuva,
            IsVisible = true
        };

        this.Add(nakokentta, 3);
        Layers[3].RelativeTransition = new Vector(0.0, 0.0);

        GameObject kompassi = new GameObject(40, 40)
        {
            Image    = taloMerkki[3],
            Position = new Vector(-15, 100),
        };

        Add(kompassi, 3);

        GameObject huutomerkki = new GameObject(40, 40)
        {
            Image    = huutoMerkki[1],
            Position = new Vector(15, 100),
        };

        Add(huutomerkki, 3);

        Keyboard.Listen(Key.W, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.A, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.S, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.D, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.Up, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.Left, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.Down, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);
        Keyboard.Listen(Key.Right, ButtonState.Down, KaannaKompassia, null, kompassi, matti1);

        Keyboard.Listen(Key.W, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.A, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.S, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.D, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.Up, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.Left, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.Down, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);
        Keyboard.Listen(Key.Right, ButtonState.Down, LumikkoTutka, null, lumikot, matti1, huutomerkki);


        Timer.SingleShot((pelinAsetuksia[2] * 0) + 1, () => { Viestit(8); });
        Timer.SingleShot(pelinAsetuksia[2] * 1, () => { Viestit(9); });
        Timer.SingleShot(pelinAsetuksia[2] * 2, () => { Viestit(10); });
        Timer.SingleShot(pelinAsetuksia[2] * 3, () => { Viestit(11); });
        Timer.SingleShot(pelinAsetuksia[2] * 4, () => { Viestit(12); });
        Timer.SingleShot(pelinAsetuksia[2] * 5, () => { Viestit(13); });
        Timer.SingleShot(pelinAsetuksia[2] * 6, () => { Viestit(14); });
        Timer.SingleShot(pelinAsetuksia[2] * 8, () => { Viestit(15); });
        Timer.SingleShot(pelinAsetuksia[2] * 8, () => { LuoAikaLaskuri(Screen.Right - 70.0, Screen.Top - 90); Ruokalaskuri = LuoPisteLaskuri(Screen.Right - 290.0, Screen.Top - 70.0); AsetaMatinOhjaimet(); matti1.CollisionIgnoreGroup = pelinAsetuksiaInt[3]; matti1.Tag = "myyra"; });
    }
Пример #13
0
    void pelaa(int num3)
    {
        LoadGame(kaamos[num3]);
        ColorTileMap maailma1ilmentymä = new ColorTileMap(maailma1);
        LataaKentta(maailma1ilmentymä);
        //Vedikartta = new List<PhysicsObject>();
        Gravity = new Vector(0, -900);
        //LataaKentta(new ColorTileMap(generate(200, 60, kentanNimi)));
        LisaaNappaimet();
        //Inventory inventory = new Inventory();
        //Add(inventory);
        yu = new HorizontalLayout();
        yu.Spacing = 5;
        qq = new VerticalLayout();
        //foreach (PhysicsObject esine in esineet())
        //{
        //    inventory.AddItem(esine, kivihakku);
        //    inventory.SelectItem(esine);
        //}
        //inventory.Y = Screen.Top - 20;

        int luku = RandomGen.NextInt(1, 200);
        luopuu(luku);
        ////luopuu(new Vector kentanPiste = Level.GetRandomPosition());

        Camera.Zoom(1.5);
        ////Camera.ZoomToLevel();
        Camera.Follow(pelaaja1);

        luojano();
        esineet2 = new List<GameObject>();
        esineslotit = new List<Widget>();
        käsiselecteditem = 1;
        GameObject banaanit = new GameObject(35, 35);
        banaanit.Image = banaanikuva;
        esineet2.Add(banaanit);
        GameObject puuhakku = new GameObject(35, 35);
        puuhakku.Image = kivihakku;
        esineet2.Add(puuhakku);
        käsitaso = new List<Widget>();
        luoesinevalikko();
    }
Пример #14
0
    void LataaKentta(ColorTileMap kentta)
    {
        //ColorTileMap kentta1 = ColorTileMap.FromLevelAsset("kentta1");
        kentta.SetTileMethod(Color.Brown, LisaaTaso);
        kentta.SetTileMethod(Color.Red, LisaaPelaaja);
        kentta.SetTileMethod(Color.Yellow, luokulta);
        kentta.SetTileMethod(Color.Black,luokivi);
        kentta.SetTileMethod(Color.Gray, luohiili);
        kentta.SetTileMethod(Color.Blue, luovesi);
        kentta.Optimize();
        kentta.Execute(40,40);
        osoitinko = new GameObject(40, 40);
        osoitinko.Color = Color.Red;
        osoitinko.Position = Mouse.PositionOnWorld;
        osoitinko.Image = osoitinkuva;
        Add(osoitinko);

        //Level.CreateBorders();
        IsMouseVisible = true;
        Level.Background.CreateGradient(Color.SkyBlue, Color.SkyBlue);
    }