source: 2010/27/jomialja/Catch The Rainbow/Catch The Rainbow/Peli.cs @ 1214

Revision 1214, 3.2 KB checked in by jomialja, 13 years ago (diff)

Tavaraa

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7
8{
9    const int ruudunleveys = 50;
10    const int ruudunkorkeus = 50;
11
12    Vector NopeusEteen = new Vector(200, 0);
13
14    PhysicsObject Crossword;
15
16    PlatformCharacter Max;
17
18    protected override void Begin()
19    {
20        LuoMax();
21        AsetaOhjaimet();
22        LuoKentta();
23       
24    }
25    void LuoKentta()
26    {
27        Camera.FollowedObject = Max;
28
29        TileMap ruudut = TileMap.FromFile("Kentta 1.txt");
30        ruudut ['='] = LuoPalikka;
31        ruudut['C'] = LuoRainbow;
32        ruudut['J'] = LuoCrossword;
33        ruudut.Insert(ruudunleveys, ruudunkorkeus);
34
35        Gravity = new Vector(0.0, -800.0);
36       
37    }
38    PhysicsObject LuoPalikka()
39    {
40        PhysicsObject Palikka = PhysicsObject.CreateStaticObject(50, 50);
41        Palikka.Color = Color.Brown;
42        return Palikka;
43    }
44   PhysicsObject LuoRainbow()
45    {
46        PhysicsObject Rainbow = PhysicsObject.CreateStaticObject(25, 25);
47        Rainbow.Image = Image.FromFile("Rainbow.png");
48        return Rainbow;
49    }
50
51    void LuoMax()
52    {
53        Max = new PlatformCharacter(35,45);
54        Max.Restitution = 0.0;
55        Max.CanRotate = false;
56        Max.X = -450;
57        Max.Y = -365;
58        Max.Image = Image.FromFile("Max Mechanic.png");
59        Max.KineticFriction = 0.0;
60        Add (Max);
61        return;
62    }
63
64    void AsetaOhjaimet()
65    {
66        Keyboard.Listen(Key.A, ButtonState.Down, PelaajaLiikuTaakse, "Liiku Taaksepäin");
67        Keyboard.Listen(Key.A, ButtonState.Released, PelaajaPysahdy, null);
68        Keyboard.Listen(Key.D, ButtonState.Down, PelaajaLiikuEteenpain, "Liiku Eteenpäin");
69        Keyboard.Listen(Key.D, ButtonState.Released, PelaajaPysahdy, null);
70        Keyboard.Listen(Key.W, ButtonState.Down, PelaajaHypaa, "Hyppää");
71
72
73        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
74        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
75    }
76    void PelaajaLiikuEteenpain()
77    {
78        Max.Walk(300);
79        Max.Image = Image.FromFile("Max Mechanic.png");
80    }
81
82    void PelaajaLiikuTaakse()
83    {
84        Max.Walk (-300);
85        Max.Image = Image.FromFile("max mechanic2.png");
86    }
87
88    void PelaajaPysahdy()
89    {
90        Vector nopeus = new Vector(0.0, 0);
91    }
92
93    void PelaajaHypaa()
94    {
95        Max.Jump(1000);
96    }
97    PhysicsObject LuoCrossword()
98    {
99        Crossword = new PhysicsObject(35.0, 45.0);
100        Crossword.Image = Image.FromFile("Crossword_hand.png");
101
102        Timer ajastin = new Timer();
103        ajastin.Tag = Crossword;
104        ajastin.Interval = 1;
105        ajastin.Trigger += Tekoaly;
106        Add (ajastin);
107        ajastin.Start();
108        return Crossword;
109    }
110    void Tekoaly(Timer sender)
111    {
112        PhysicsObject vihollinen = (PhysicsObject)sender.Tag;
113        double etaisyys = vihollinen.X - Max.X;
114        if (etaisyys < 0)
115        {
116            etaisyys = etaisyys * -1;
117        }
118        if (etaisyys < 150)
119        {
120            vihollinen.Image = LoadImage("Crossword2");
121        }
122        sender.Start();
123    }
124
125}
Note: See TracBrowser for help on using the repository browser.