source: 2010/27/Aajokahe/Nurinams adventure/Peli.cs @ 1359

Revision 1359, 3.4 KB checked in by aajokahe, 10 years ago (diff)

Nurinam peli jatkuu...

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    PlatformCharacter pelaaja1;
13    PlatformCharacter vihollinen;
14
15    //pyssy = new AssaultRifle(70, 20);
16
17    protected override void Begin()
18    {
19        Gravity = new Vector(0, -1000);
20
21        luoKentta();
22        lisaaNappaimet();
23        vihollinen=LuoVihollinen();
24
25        Camera.Follow(pelaaja1);
26        Camera.ZoomFactor = 2.0;
27        Camera.StayInLevel = true;
28    }
29
30    void luoKentta()
31    {
32        Level.CreateBorders();
33        Level.Background.CreateGradient(Color.Black, Color.Red);
34
35        lisaaTaso(-500, -300);
36
37
38        lisaaPelaajat();
39    }
40
41    void lisaaTaso(double x, double y)
42    {
43        PhysicsObject taso = PhysicsObject.CreateStaticObject(250, 250);
44        taso.Color = Color.Red;
45        taso.X = x;
46        taso.Y = y;
47        Add(taso);
48    }
49
50    void lisaaPelaajat()
51    {
52        pelaaja1 = new PlatformCharacter (40, 40);
53        pelaaja1.Mass = 4.0;
54        pelaaja1.Image = LoadImage("Norsu");
55        pelaaja1.X = -400;
56        pelaaja1.Y = -10;
57        AddCollisionHandler(pelaaja1 , KasittelePelaaja1Tormays);
58        Add(pelaaja1);
59
60       
61
62       
63    }
64
65    void lisaaNappaimet()
66    {
67        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
68        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
69
70        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
71        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
72        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
73
74        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
75
76        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
77        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
78        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima);
79    }
80
81    void liikuta(PlatformCharacter hahmo, double nopeus)
82    {
83        hahmo.Walk(nopeus);
84       
85    }
86
87    void hyppaa(PlatformCharacter hahmo, double voima)
88    {
89        hahmo.Jump(voima);
90    }
91    PlatformCharacter LuoVihollinen()
92   {
93       PlatformCharacter vihollinen = new PlatformCharacter(40, 40);
94       vihollinen.Shape = Shapes.Circle;
95       vihollinen.Mass = 10.0;
96       Add(vihollinen);
97       vihollinen.Y = 0;
98       vihollinen. X= 300;
99       vihollinen.Tag = "vihollinen";
100       vihollinen.Weapon = new AssaultRifle(70, 20);
101
102       return vihollinen;
103     }
104   
105    void Ammu()
106    {
107        vihollinen.Weapon.Shoot();
108    }
109
110   protected override void Update(Time time)
111   {
112       vihollinen.Walk(-70);
113       if ((pelaaja1.Y < vihollinen.Y + 10) && (pelaaja1.Y > vihollinen.Y - 10))
114       {
115           Ammu();
116       }
117       base.Update(time);
118       
119   }
120   void KasittelePelaaja1Tormays(PhysicsObject pelaaja1, PhysicsObject kohde)
121   {
122       if (kohde.Tag.ToString() == "vihollinen")
123       {
124           kohde.Destroy();
125       }
126   }
127
128
129
130
131
132}
Note: See TracBrowser for help on using the repository browser.