source: 2013/26/SakuK/SPY/SPY/SPY/SPY.cs @ 4232

Revision 4232, 4.8 KB checked in by sakivima, 10 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class SPY : PhysicsGame
10{
11
12    DoubleMeter elamaLaskuri;
13    Image pelaajanKuva = LoadImage("hahmopaahenkilo");
14    Image tahtiKuva = LoadImage("tahti");
15    PlatformCharacter pelaaja;
16    AssaultRifle pelaajan1Ase;
17
18    public override void Begin()
19    {
20   
21 
22       
23        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
24"Aloita peli", "Parhaat pisteet", "Lopeta");
25        Add(alkuValikko);
26        pelaajan1Ase = new AssaultRifle(30, 10);
27        alkuValikko.AddItemHandler(0, AloitaPeli);
28        alkuValikko.AddItemHandler(1, ParhaatPisteet);
29        alkuValikko.AddItemHandler(2, Exit);
30        alkuValikko.DefaultCancel = 3;
31        alkuValikko.DefaultCancel = -1;
32        alkuValikko.Color = Color.Red;
33 
34     
35
36    }
37
38    void AloitaPeli()
39    {
40        Gravity = new Vector(0, -150);
41        Keyboard.Listen(Key.Left, ButtonState.Down,
42        LiikutaPelaajaa, null, -100.0);
43        Keyboard.Listen(Key.Right, ButtonState.Down,
44          LiikutaPelaajaa, null, 100.0);
45        Keyboard.Listen(Key.Space, ButtonState.Released, Hyppaa, "Hyppää", 150.0);
46        //Keyboard.Listen(Key.Up, ButtonState.Down,
47        //  LiikutaPelaajaa, null, new Vector(0, 100));
48        //Keyboard.Listen(Key.Down, ButtonState.Down,
49        //  LiikutaPelaajaa, null, new Vector(0, -100));
50        LuoElamaLaskuri();
51        Camera.Follow(pelaaja);
52        //Camera.ZoomFactor = 1.7;
53        Camera.ZoomToLevel();
54        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
55        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
56        IsPaused = true;
57        Pause();
58
59        LuoKentta();
60
61    }
62
63
64    void LuoKentta()
65    {
66        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenta1");
67        ruudut.SetTileMethod("00FF00", LuoPelaaja);
68        ruudut.SetTileMethod(Color.Black, LuoTaso);
69        ruudut.SetTileMethod("FFE607", LuoTahti);
70        ruudut.SetTileMethod(Color.Red, LuoLaava);
71        ruudut.Execute(20, 20);
72
73    }
74    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
75    {
76        pelaaja = new PlatformCharacter(leveys, korkeus);
77        pelaaja.Position = paikka;
78        pelaaja.Image = pelaajanKuva;
79        AddCollisionHandler(pelaaja, "tahti", TormaaTahteen);
80        AddCollisionHandler(pelaaja, "vihollinen", TormaaViholliseen);
81        AddCollisionHandler(pelaaja, "laava", TormaaLaavaan);
82        Add(pelaaja);
83
84    }
85
86    void TormaaLaavaan(PhysicsObject pelaaja, PhysicsObject laava)
87    {
88        pelaaja.Hit(new Vector(0, 75));
89        elamaLaskuri.Value -= 5;
90    }
91
92    void TormaaViholliseen(PhysicsObject pelaaja, PhysicsObject tahti)
93    {
94        elamaLaskuri.Value -= 4;
95    }
96
97
98    void TormaaTahteen(PhysicsObject pelaaja, PhysicsObject tahti)
99    {
100
101    }
102
103    void LuoTaso(Vector paikka, double leveys, double korkeus)
104    {
105        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
106        taso.Position = paikka;
107        taso.Color = Color.Gold;
108        //taso.Image = groundImage
109        taso.CollisionIgnoreGroup = 1;
110        Add(taso);
111    }
112
113    void LuoLaava(Vector paikka, double leveys, double korkeus)
114    {
115        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
116        taso.Position = paikka;
117        taso.Color = Color.Red;
118        taso.Tag = "laava";
119        //taso.Image = groundImage
120        taso.CollisionIgnoreGroup = 1;
121        Add(taso);
122
123
124
125    }
126
127    void LuoTahti(Vector paikka, double leveys, double korkeus)
128    {
129        PhysicsObject tahti = new PhysicsObject(leveys, korkeus);
130        //tahti.IgnoresCollisionResponse = true;
131        tahti.Position = paikka;
132        tahti.Image = tahtiKuva;
133        tahti.Tag = "kristali";
134        Add(tahti);
135    }
136    void LuoElamaLaskuri()
137    {
138        elamaLaskuri = new DoubleMeter(100, 0, 100);
139        elamaLaskuri.LowerLimit += ElamaLoppui;
140
141        ProgressBar elamaPalkki = new ProgressBar(150, 20);
142        elamaPalkki.X = Screen.Left + 150;
143        elamaPalkki.Y = Screen.Top - 20;
144        elamaPalkki.BindTo(elamaLaskuri);
145        Add(elamaPalkki);
146        //elamaPalkki.Angle = Angle.;
147        elamaPalkki.Color = Color.Transparent;
148        elamaPalkki.BarColor = Color.Red;
149        elamaPalkki.BorderColor = Color.Black;
150    }
151    void ElamaLoppui()
152    {
153        MessageDisplay.Add("VOI VOI ALOTA ALUSTA =D.");
154        pelaaja.Destroy();
155    }
156    void LiikutaPelaajaa(double nopeus)
157    {
158        pelaaja.Walk(nopeus);
159    }
160
161    void Hyppaa(double nopeus)
162    {
163        pelaaja.Jump(nopeus);
164    }
165 
166    void ParhaatPisteet()
167    {
168    }
169}
Note: See TracBrowser for help on using the repository browser.