source: 2010/30/oteimatt/taistelu-jaska/taistelu-jaska/Peli.cs @ 1389

Revision 1389, 5.0 KB checked in by oteimatt, 11 years ago (diff)

TAISTELU-JASKA

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6
7class Tasohyppely : PhysicsGame
8{
9    const double nopeus = 200;
10    const double hyppyVoima = 4000;
11
12    const int ruudunLeveys = 50;
13    const int ruudunKorkeus = 50;
14
15    PlatformCharacter pelaaja1;
16    PlatformCharacter miniführer;
17
18    Image[] jaskaKuvat = LoadImages("taistelu-jaska", "taistelu-jaska1");
19    Image[] jaskaKuvatPeilattu;
20
21    Image[] miniführerkuvat = LoadImages( "mini führer juoksu 1", "mini führer juoksu 2");
22    Image[] miniführerkuvatpeilattu;
23    Image[] jaskaHyokkaa = LoadImages("taistelu-jaska tilanne 1 osa 2",
24            "taistelu-jaska tilanne 1 osa 3",
25            "taistelu-jaska tilanne 1 osa 4",
26            "taistelu-jaska tilanne 1 osa 5",
27            "taistelu-jaska tilanne 2 osa 1",
28            "taistelu-jaska tilanne 2 osa 2",
29            "taistelu-jaska tilanne 2 osa 3",
30            "taistelu-jaska tilanne 2 osa 4",
31            "taistelu-jaska tilanne 2 osa 5");
32
33    Image[] jaskaHyokkaaPeilattu;
34
35
36    protected override void Begin()
37    {
38        Gravity = new Vector(0, -1000);
39
40        LataaKuvat();
41
42        luoKentta();
43        lisaaNappaimet();
44
45        Camera.Follow(pelaaja1);
46        Camera.ZoomFactor = 1.2;
47        Camera.StayInLevel = true;
48    }
49
50    void LataaKuvat()
51    {
52        jaskaKuvatPeilattu = Image.Mirror(jaskaKuvat);
53        jaskaHyokkaaPeilattu = Image.Mirror(jaskaHyokkaa);
54    }
55   
56    void luoKentta()
57    {
58        TileMap ruudut = TileMap.FromFile("POHJA.txt");
59        ruudut['='] = LuoSeina;
60        ruudut['T'] = LuoTaisteluJaska;
61        //ruudut['V'] = LuoVihollinen;
62        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
63
64        //Level.Background.CreateGradient(Color.White, Color.SkyBlue);
65    }
66
67    PhysicsObject LuoSeina()
68    {
69        PhysicsObject taso = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus);
70        taso.Color = Color.Black;
71        return taso;
72    }
73    PhysicsObject luoMiniFührer()
74    {
75        miniführer = new PlatformCharacter( 50, 90, Shapes.Circle);
76        miniführer.Mass = 4.0;
77        miniführer.Color = Color.Black;
78        miniführer.RightIdleAnimation = new Animation(LoadImages("mini führer"));
79        miniführer.RightWalkingAnimation = new Animation(miniführerkuvat);
80        miniführerkuvatpeilattu = Image.Mirror(miniführerkuvat);
81        miniführer.LeftWalkingAnimation = new Animation(miniführerkuvatpeilattu);
82        return (PhysicsObject)miniführer;
83    }
84    PhysicsObject LuoTaisteluJaska()
85    {
86        pelaaja1 = new PlatformCharacter(128, 128, Shapes.Circle);
87
88        // Animaation asettaminen ei toimi jos pelaaja1 on alustettu näin
89         //pelaaja1 = new PlatformCharacter(128, 128, Shapes.Rectangle);
90
91        pelaaja1.Mass = 4.0;
92        pelaaja1.Color = Color.Black;
93       
94        pelaaja1.RightIdleAnimation = new Animation(LoadImage("taistelu-jaska"));
95        pelaaja1.LeftIdleAnimation = new Animation(Image.Mirror(LoadImage("taistelu-jaska")));
96        pelaaja1.RightWalkingAnimation = new Animation(jaskaKuvat);
97        pelaaja1.RightWalkingAnimation.FPS = 5;       
98        pelaaja1.LeftWalkingAnimation = new Animation(jaskaKuvatPeilattu);
99        pelaaja1.LeftWalkingAnimation.FPS = 5;
100        return (PhysicsObject)pelaaja1;
101    }
102
103
104
105    void lisaaPelaajat()
106    {
107        pelaaja1 = new PlatformCharacter(40, 40);
108        pelaaja1.Mass = 4.0;
109        pelaaja1.Image = LoadImage("norsu");
110        pelaaja1.X = 0;
111        pelaaja1.Y = Level.Bottom + 120;
112
113        Add(pelaaja1);
114    }
115   
116    void lisaaNappaimet()
117    {
118        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
119        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
120
121        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
122        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
123        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
124        Keyboard.Listen(Key.Space, ButtonState.Pressed, lyo, "Lyö", pelaaja1);
125
126        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
127
128        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
129        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
130        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima);
131    }
132
133    void lyo(PlatformCharacter hahmo)
134    {
135        hahmo.Animation = new Animation(jaskaHyokkaa);
136        hahmo.Animation.Start(1);
137    }
138
139    void liikuta(PlatformCharacter hahmo, double nopeus)
140    {
141        hahmo.Walk(nopeus);
142    }
143
144    void hyppaa(PlatformCharacter hahmo, double voima)
145    {
146        hahmo.Jump(voima);
147    }
148}
Note: See TracBrowser for help on using the repository browser.