source: 2012/30/TulirA/CarrotWars/CarrotWars/CarrotWars/CarrotWars.cs @ 3722

Revision 3722, 3.9 KB checked in by artuasok, 9 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 CarrotWars : PhysicsGame
10{
11    Image tomaattikuva = LoadImage("Tomaatti");
12    Image tomaattipakettikuva = LoadImage("Tomaattipaketti");
13    Image luotipakettikuva = LoadImage("Ammuspaketti");
14    Image vihollinenkuva = LoadImage("Peruna");
15    Image pelaajakuva = LoadImage("Porkkana");
16    Image ruohokuva = LoadImage("Ruoho");
17    Image multakuva = LoadImage("Multa");
18    PlatformCharacter pelaaja;
19    PhysicsObject vihollinen;
20
21    public override void Begin()
22    {
23        Level.Background.CreateGradient(Color.White, Color.Blue);
24        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Lopeta");
25        Add(alkuValikko);
26
27        alkuValikko.ItemSelected += PainettiinValikonNappia;
28
29        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
30        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
31    }
32    void PainettiinValikonNappia(int valinta)
33    {
34        switch (valinta)
35        {
36            case 0:
37                LuoKentta();
38                break;
39            case 1:
40                Exit();
41                break;
42        }
43    }
44    void LuoKentta()
45    {
46        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
47        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Taso1");
48
49        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
50        ruudut.SetTileMethod(Color.Gold, LuoPelaaja);
51        ruudut.SetTileMethod(Color.Brown, LuoMulta);
52        ruudut.SetTileMethod(Color.Harlequin, LuoRuoho);
53        ruudut.SetTileMethod(Color.Red, Luovihollinen);
54        ruudut.SetTileMethod(Color.Black, Luoluotipaketti);
55        ruudut.SetTileMethod(Color.DarkGray, Luotomaattipaketti);
56
57        //3. Execute luo kentän
58        //   Parametreina leveys ja korkeus
59        ruudut.Execute(34, 34);
60    }
61
62    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
63    {
64        pelaaja = new PlatformCharacter(34, 68);
65        pelaaja.Position = paikka;
66        pelaaja.Image = pelaajakuva;
67        Add(pelaaja);
68    }
69
70    void LuoMulta(Vector paikka, double leveys, double korkeus)
71    {
72        PhysicsObject multa = PhysicsObject.CreateStaticObject(34, 34);
73        multa.Position = paikka;
74        multa.Image = multakuva;
75        multa.CollisionIgnoreGroup = 1;
76        Add(multa);
77    }
78
79    void LuoRuoho(Vector paikka, double leveys, double korkeus)
80    {
81        PhysicsObject ruoho = PhysicsObject.CreateStaticObject(34, 34);
82        ruoho.Position = paikka;
83        ruoho.Image = ruohokuva;
84        ruoho.CollisionIgnoreGroup = 1;
85        Add(ruoho);
86    }
87
88    void Luovihollinen(Vector paikka, double leveys, double korkeus)
89    {
90        vihollinen = new PhysicsObject(34, 34 );
91        vihollinen.Position = paikka;
92        vihollinen.Image = vihollinenkuva;
93        Add(vihollinen);
94    }
95
96    void Luoluotipaketti(Vector paikka, double leveys, double korkeus)
97    {
98        PhysicsObject luotipaketti = new PhysicsObject(27, 27);
99        luotipaketti.IgnoresCollisionResponse = true;
100        luotipaketti.Position = paikka;
101        luotipaketti.Image = luotipakettikuva;
102        luotipaketti.Tag = "Luotipaketti";
103        luotipaketti.CollisionIgnoreGroup = 1;
104        Add(luotipaketti, 1);
105    }
106
107    void Luotomaattipaketti(Vector paikka, double leveys, double korkeus)
108    {
109        PhysicsObject tomaattipaketti = new PhysicsObject(27, 27);
110        tomaattipaketti.IgnoresCollisionResponse = true;
111        tomaattipaketti.Position = paikka;
112        tomaattipaketti.Image = tomaattipakettikuva;
113        tomaattipaketti.Tag = "tomaattipaketti";
114        tomaattipaketti.CollisionIgnoreGroup = 1;
115        Add(tomaattipaketti, 1);
116    }
117}
Note: See TracBrowser for help on using the repository browser.