source: 2017/31/TaavettiV/Trumpsimulator/Trumpsimulator/Trumpsimulator/Trumpsimulator.cs @ 9266

Revision 9266, 4.8 KB checked in by sieerinn, 2 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9class Pelihahmo : PlatformCharacter
10{
11    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3);
12    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
13
14    public Pelihahmo(double leveys, double korkeus)
15        : base(leveys, korkeus)
16    {
17        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
18    }
19
20}
21
22
23public class Trumpsimulator : PhysicsGame
24{
25    const double nopeus = 200;
26    const double hyppyNopeus = 750;
27    const int RUUDUN_KOKO = 40;
28    const double flynopeus= 5000;
29
30
31    int kenttaNumero = 2;
32
33
34    PlatformCharacter pelaaja1;
35
36    Image pelaajanKuva = LoadImage("trumphahmo");
37    Image tahtiKuva = LoadImage("one dollar");
38
39    SoundEffect maaliAani = LoadSoundEffect("maali");
40
41    public override void Begin()
42    {
43        Gravity = new Vector(0, -1000);
44
45        LuoKentta();
46        LisaaNappaimet();
47
48        Camera.Follow(pelaaja1);
49        Camera.ZoomFactor = 1.2;
50        Camera.StayInLevel = true;
51    }
52    void lisaaMaali(Vector paikka, double leveys, double korkeus)
53    {
54        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
55
56        maali.Tag = "maali";
57        maali.Position = paikka;
58        Add(maali);
59    }
60    void LuoKentta()
61    {
62        TileMap kentta = TileMap.FromLevelAsset("kentta" + kenttaNumero);
63        kentta.SetTileMethod('#', LisaaTaso);
64        kentta.SetTileMethod('*', Lisaadollar);
65        kentta.SetTileMethod('N', LisaaPelaaja);
66        kentta.SetTileMethod('K', lisaaMaali);
67        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
68        Level.CreateBorders();
69        Level.Background.CreateGradient(Color.White, Color.SeaGreen);
70        Level.Background.Image = LoadImage("trump");
71    }
72
73    void paasiMaalin(PhysicsObject pelaaja, PhysicsObject maali)
74    {
75        kenttaNumero++;
76
77        ClearAll();
78        Begin();
79
80    }
81        void LisaaTaso(Vector paikka, double leveys, double korkeus)
82    {
83        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
84        taso.Position = paikka;
85        taso.Color = Color.Green;
86        Add(taso);
87    }
88
89    void Lisaadollar(Vector paikka, double leveys, double korkeus)
90    {
91        PhysicsObject dollar = PhysicsObject.CreateStaticObject(leveys, korkeus);
92        dollar.IgnoresCollisionResponse = true;
93        dollar.Position = paikka;
94        dollar.Image = tahtiKuva;
95        dollar.Tag = "dollar";
96        Add(dollar);
97    }
98
99    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
100    {
101        pelaaja1 = new PlatformCharacter(leveys, korkeus);
102        pelaaja1.Position = paikka;
103        pelaaja1.Mass = 4.0;
104        pelaaja1.Image = pelaajanKuva;
105        AddCollisionHandler(pelaaja1, "dollar", Tormaadollar);
106        Add(pelaaja1);
107    }
108
109    void LisaaNappaimet()
110    {
111        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
112        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
113
114        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
115        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
116        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
117        Keyboard.Listen(Key.Space , ButtonState.Down, fly, "pelaaja lentää", pelaaja1, flynopeus);
118        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
119
120        //ControllerOne.Listen(Button.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
121        //ControllerOne.Listen(Button.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
122        //ControllerOne.Listen(Button.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
123
124        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
125    }
126
127    void Liikuta(PlatformCharacter hahmo, double nopeus)
128    {
129        hahmo.Walk(nopeus);
130    }
131
132    void Hyppaa(PlatformCharacter hahmo, double nopeus)
133    {
134        hahmo.Jump(nopeus);
135    }
136    void luomeksikolainen(PlatformCharacter luomeksikolainen, double nopeus)
137    {
138        PhysicsObject meksikolainen = new PhysicsObject(40, 20);
139        meksikolainen.Shape = Shape.Rectangle;
140        meksikolainen.Mass = 10.0;
141        Add(meksikolainen);
142    }
143    void Tormaadollar(PhysicsObject hahmo, PhysicsObject dollar)
144    {
145        maaliAani.Play();
146        MessageDisplay.Add("Keräsit dollarin!");
147        dollar.Destroy();
148    }
149    void fly(PlatformCharacter hahmo, double nopeus)
150    {
151
152        hahmo.Push(new Vector(0, nopeus));
153    }
154}
Note: See TracBrowser for help on using the repository browser.