source: 2010/30/jojumuho/sYstEmErroR/Peli.cs @ 1380

Revision 1380, 3.0 KB checked in by jojumuho, 10 years ago (diff)

jatkuu huomenn

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5using System.Collections.Generic;
6
7public class Peli : PhysicsGame
8{
9    const int ruudunLeveys = 90;
10    const int ruudunKorkeus = 90;
11    Image palikanKuva = LoadImage("Palikka");
12    PlatformCharacter pelaaja1;
13    double nopeus = 600;
14    double hyppyVoima = 10000;
15
16
17    protected override void Begin()
18    {       
19        LuoPelaaja();
20        LuoKentta();
21        LuoPalikka();
22
23
24        Gravity = new Vector(0, -1200);
25
26        LisaaNappaimet();
27
28        Camera.ZoomToLevel();
29
30        Level.CreateBorders(1.0, false);
31        Level.BackgroundColor = Color.Black;
32
33
34    }
35    void LuoKentta()
36    {
37        TileMap ruudut = TileMap.FromFile("kentta.txt");
38        ruudut['='] = LuoPalikka;
39        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
40
41       
42
43
44    }
45    PhysicsObject LuoPalikka()
46    {
47        PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus);
48        palikka.Image = palikanKuva;
49        palikka.Tag = "palikka";
50        palikka.Restitution = 0.1;
51        return palikka;
52
53    }
54
55    PhysicsObject LuoPelaaja()
56    {
57        pelaaja1 = new PlatformCharacter(80, 80);
58        pelaaja1.Shape = Shapes.Rectangle;
59        pelaaja1.Mass = 4.0;
60        Add(pelaaja1);
61        pelaaja1.X = -200;
62        pelaaja1.Y = -400; 
63        pelaaja1.Color = Color.Lime;
64        pelaaja1.CanRotate = false;
65        PlasmaCannon plasmaTykki = new PlasmaCannon(180, 100);
66        pelaaja1.Weapon = plasmaTykki;
67        plasmaTykki.PlasmaParticleCollision = PlasmaPalloOsuu;
68        pelaaja1.Restitution = 0.1;
69
70        return pelaaja1;
71    }
72
73    void LisaaNappaimet()
74    {
75
76        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
77        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
78        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
79        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
80
81        Keyboard.Listen(Key.K, ButtonState.Pressed, tahtain, "tähtäys alas", pelaaja1);
82        Keyboard.Listen(Key.L, ButtonState.Pressed, Ammu, "ampu tulee", pelaaja1);
83    }
84
85    void liikuta(PlatformCharacter pelaaja, double nopeus)
86    {
87        pelaaja.Walk(nopeus);
88    }
89
90    void hyppaa(PlatformCharacter pelaaja, double voima)
91    {
92        pelaaja.Jump(voima);
93    }
94    void tahtain(PlatformCharacter pelaaja)
95    {
96
97    }
98
99    void Ammu(PlatformCharacter pelaaja)
100    {
101        PhysicsObject ammus = pelaaja.Weapon.Shoot();
102        if (ammus != null)
103        {
104            ammus.Tag = pelaaja;
105            ammus.Size = new Vector(30, 30); 
106        }
107
108    }
109
110    void PlasmaPalloOsuu(PhysicsObject ammus, PhysicsObject kohde)
111    {
112        if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka")
113        {
114            kohde.Destroy();
115        }
116    }
117
118   
119   
120   
121   
122   
123}
Note: See TracBrowser for help on using the repository browser.