source: 2012/23/LeoL/ThePeli.cs @ 2807

Revision 2807, 4.5 KB checked in by lemilaht, 11 years ago (diff)

Tekstuureja

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class tasohyppelypeli : PhysicsGame
10{
11    Vector nopeusYlos = new Vector(0, 500);
12    Vector nopeusOikea = new Vector(500, 0);
13    Vector nopeusVasen = new Vector(-500, 0);
14    Image[] pelaajanKuvat = LoadImages("anm1", "Anm2", "anm3", "anm2", "anm3");
15    Image[] pelaajanKuvatPeilattu;
16    PhysicsObject pelaaja;
17
18    public override void Begin()
19    {
20       
21    }
22
23    void lataaKenttä()
24    {
25    }
26
27    void LuoKenttä()
28    {
29        TileMap ruudut = TileMap.FromLevelAsset("Kentta1");
30        ruudut.SetTileMethod('_', LuoPalikka);
31        ruudut.SetTileMethod('.', LuoSeina);
32        ruudut.SetTileMethod('"', LuoPiikki);
33        ruudut.SetTileMethod('!', LuoPelaaja);
34        ruudut.SetTileMethod('(', LuoCelestiaali);
35        ruudut.SetTileMethod('-', LuoAmpuja);
36        ruudut.SetTileMethod('=', LuoMaali);
37        ruudut.SetTileMethod('#', LuoDemoni);
38        ruudut.SetTileMethod(';', LuoVartija);
39       // ruudut.SetTileMethod('+', LuoCafgar);
40        ruudut.Execute(20, 20);
41        Level.Background.Color = Color.ForestGreen;
42        Camera.Follow(pelaaja);
43        Gravity = new Vector(0, -5000);
44    }
45
46    void LuoPalikka(Vector paikka, double leveys, double korkeus)
47    {
48        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
49        palikka.Position = paikka;
50        palikka.Shape = Shape.Rectangle;
51        palikka.Color = Color.DarkBrown;
52        Add(palikka);
53    }
54
55    void LuoSeina(Vector paikka, double leveys, double korkeus)
56    {
57        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
58        seina.Position = paikka;
59        seina.Shape = Shape.Rectangle;
60        seina.Color = Color.DarkBrown;
61        Add(seina);
62    }
63
64    void LuoPiikki(Vector paikka, double leveys, double korkeus)
65    {
66        PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus);
67        piikki.Position = paikka;
68        piikki.Shape = Shape.Triangle;
69        piikki.Color = Color.Black;
70        piikki.Tag = "piikki";
71        Add(piikki);
72    }
73
74    void AsetaOhjaimet()
75    {
76        Keyboard.Listen(Key.Escape, ButtonState.Down, ConfirmExit, "Poistu pelistä");
77
78        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja liikkuu vasemmalle", pelaaja, nopeusVasen);
79        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
80        Keyboard.Listen(Key.W, ButtonState.pressed, AsetaNopeus, "Pelaaja 1: Pelaaaja hyppää  ylös", pelaaja, nopeusYlos);
81        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
82        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaja Liikkuu Oikealle", pelaaja, nopeusOikea);
83        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
84        //Keyboard.Listen(Key.E, ButtonState.Pressed,
85    }
86
87    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
88    {
89        pelaaja = new PhysicsObject(20, 40);
90        pelaaja.Position = paikka;
91        pelaaja.Shape = Shape.anm1;
92        pelaaja.Color = Color.Aquamarine;
93        pelaaja.CanRotate = false;
94        pelaaja.Mass = 500;
95        Add(pelaaja);
96    }
97
98    void AsetaNopeus(PhysicsObject Pelaaja, Vector nopeus)
99    {
100        Pelaaja.Velocity = nopeus;
101    }
102
103    void animaatio()
104    {
105        pelaaja.Animation = new Animation(pelaajanKuvat);
106        pelaaja.Animation = new Animation(pelaajanKuvatPeilattu);
107
108       
109    }
110    void JokuTormasi(PhysicsObject pelaaja, PhysicsObject Piikki)
111    {
112        AddCollisionHandler(pelaaja, "piikki", PelaajaOsuu);
113        pelaaja.destroy();
114    }
115    void valikko()
116    {
117        MultiSelectWindow valikko = new MultiSelectWindow("Tervetuloa peliin",
118        "Aloita peli", "Lopeta");
119        valikko.ItemSelected += PainettiinValikonNappia;
120        Add(valikko);
121    }
122    void PainettiinValikonNappia(int valinta)
123    {
124        switch (valinta)
125        {
126            case 0:
127               AloitaPeli();
128                break;
129            case 2:
130                Exit();
131                break;
132        }
133    }
134    void AloitaPeli()
135    {pelaajanKuvatPeilattu = Image.Mirror(pelaajanKuvat);
136
137        LuoKenttä();
138        lataaKenttä();
139        AsetaOhjaimet();
140        //Aloitapeli();
141        animaatio();
142        pelaaja.Animation.Start();
143    }
144}
145
Note: See TracBrowser for help on using the repository browser.