source: 2010/27/Vekakart/Catch The Rainbow/Catch The Rainbow/Peli.cs @ 1217

Revision 1217, 5.0 KB checked in by vekakart, 11 years ago (diff)

lisäsin jotakin

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    PhysicsObject Chandler;
16
17    PlatformCharacter Max;
18
19    protected override void Begin()
20    {
21        ClearAll();
22        //LuoMax();
23        AsetaOhjaimet();
24        LuoKentta();
25       
26    }
27    void LuoKentta()
28    {
29       
30
31        TileMap ruudut = TileMap.FromFile("Kentta 1.txt");
32        ruudut ['='] = LuoPalikka;
33        ruudut['C'] = LuoRainbow;
34        ruudut['J'] = LuoCrossword;
35        ruudut['9'] = LuoChandler;
36        ruudut['1'] = LuoMax;
37        ruudut.Insert(ruudunleveys, ruudunkorkeus);
38
39        Gravity = new Vector(0.0, -800.0);
40        Camera.FollowedObject = Max;
41    }
42    PhysicsObject LuoPalikka()
43    {
44        PhysicsObject Palikka = PhysicsObject.CreateStaticObject(50, 50);
45        Palikka.Color = Color.Brown;
46        return Palikka;
47    }
48   PhysicsObject LuoRainbow()
49    {
50        PhysicsObject Rainbow = PhysicsObject.CreateStaticObject(25, 25);
51        Rainbow.Image = Image.FromFile("Rainbow.png");
52        return Rainbow;
53    }
54
55   PhysicsObject LuoMax()
56    {
57        Max = new PlatformCharacter(35,45);
58        Max.Restitution = 0.0;
59        Max.CanRotate = false;
60        Max.Image = Image.FromFile("Max Mechanic.png");
61        Max.KineticFriction = 0.0;
62        Max.Tag = "Max";
63       // Add(Max);
64        return Max;
65    }
66
67    void AsetaOhjaimet()
68    {
69        Keyboard.Listen(Key.A, ButtonState.Down, PelaajaLiikuTaakse, "Liiku Taaksepäin");
70        Keyboard.Listen(Key.A, ButtonState.Released, PelaajaPysahdy, null);
71        Keyboard.Listen(Key.D, ButtonState.Down, PelaajaLiikuEteenpain, "Liiku Eteenpäin");
72        Keyboard.Listen(Key.D, ButtonState.Released, PelaajaPysahdy, null);
73        Keyboard.Listen(Key.W, ButtonState.Down, PelaajaHypaa, "Hyppää");
74
75
76        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
77        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
78    }
79    void PelaajaLiikuEteenpain()
80    {
81        Max.Walk(300);
82        Max.Image = Image.FromFile("Max Mechanic.png");
83    }
84
85    void PelaajaLiikuTaakse()
86    {
87        Max.Walk (-300);
88        Max.Image = Image.FromFile("max mechanic2.png");
89    }
90
91    void PelaajaPysahdy()
92    {
93        Vector nopeus = new Vector(0.0, 0);
94    }
95
96    void PelaajaHypaa()
97    {
98        Max.Jump(1000);
99    }
100    PhysicsObject LuoCrossword()
101    {
102        Crossword = new PhysicsObject(35.0, 45.0);
103        Crossword.Image = Image.FromFile("Crossword.png");
104
105        Timer ajastin = new Timer();
106        ajastin.Tag = Crossword;
107        ajastin.Interval = 0.1;
108        ajastin.Trigger += Tekoaly;
109        Add (ajastin);
110        ajastin.Start();
111        return Crossword;
112    }
113    void Tekoaly(Timer sender)
114    {
115        PhysicsObject vihollinen = (PhysicsObject)sender.Tag;
116        double etaisyys = vihollinen.X - Max.X;
117        if (etaisyys < 0)
118        {
119            etaisyys = etaisyys * -1;
120        }
121        if (etaisyys < 200 && voiheittaa && vihollinen.Y > Max.Y)
122        {
123            if (vihollinen.X < Max.X)
124            {
125                vihollinen.Image = LoadImage("Crossword2");
126                PhysicsObject Ase = LuoPuukko();
127                Ase.Image = LoadImage("knife1");
128                Ase.X = vihollinen.X+20;
129                Ase.Y = vihollinen.Y;
130                Ase.Hit(new Vector(500, 0));
131                Add(Ase);
132               
133               
134            }
135            else
136            {
137                vihollinen.Image = LoadImage("Crossword");
138                PhysicsObject Ase = LuoPuukko();
139                Ase.Image = LoadImage("knife1");
140                Ase.X = vihollinen.X-20;
141                Ase.Y = vihollinen.Y;
142                Ase.Hit(new Vector(-500, 0));
143                Add(Ase);
144            }
145            voiheittaa = false;
146            Timer.SingleShot(1, saaheittaa);
147        }
148        sender.Start();
149    }
150    PhysicsObject LuoChandler()
151    {
152        Chandler = new PhysicsObject(20, 45);
153        //Chandler.Image = LoadImage ("Chandler1")
154        return Chandler;
155    }
156    PhysicsObject LuoPuukko()
157    {
158        PhysicsObject Puukko = new PhysicsObject(20.0, 5.0);
159        Puukko.MaximumLifetime = TimeSpan.FromSeconds(1);
160        AddCollisionHandler(Puukko, KasittelePuukonTormays);
161        Puukko.Tag = "p";
162        return Puukko;
163    }
164
165    void KasittelePuukonTormays(PhysicsObject puukko, PhysicsObject kohde)
166    {
167        if (kohde.Tag.ToString() == "Max")
168        {
169            Timer.SingleShot(1.5, Begin);
170            Max.Image = LoadImage("Max Mechanic D");
171            ClearControls();
172        }
173
174    }
175    bool voiheittaa = true;
176
177    void saaheittaa()
178    {
179        voiheittaa = true;
180    }
181}
Note: See TracBrowser for help on using the repository browser.