source: 2014/27/ArttuH/gamefusion/gamefusion/gamefusion/gamefusion.cs @ 5235

Revision 5235, 4.4 KB checked in by arjuhoyl, 7 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
9public class gamefusion : PhysicsGame
10{
11    const double nopeus = 100;
12    const double hyppyNopeus = 800;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16
17    Image pelaajanKuva = LoadImage("sotilas");
18    Image coinKuva = LoadImage("coin");
19
20    SoundEffect maaliAani = LoadSoundEffect("maali");
21
22    public override void Begin()
23    {
24        Gravity = new Vector(0, -1000);
25
26        LuoKentta();
27        LisaaNappaimet();
28        tunistus();
29
30        Camera.Follow(pelaaja1);
31        Camera.ZoomFactor = 1.2;
32        Camera.StayInLevel = true;
33    }
34
35    void LuoKentta()
36    {
37        TileMap kentta = TileMap.FromLevelAsset("kentta1");
38        kentta.SetTileMethod('#', LisaaTaso);
39        kentta.SetTileMethod('*', Lisaacoin);
40        kentta.SetTileMethod('N', LisaaPelaaja);
41        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
42        Level.CreateBorders();
43        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
44    }
45
46    void LisaaTaso(Vector paikka, double leveys, double korkeus)
47    {
48        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
49        taso.Position = paikka;
50        taso.Color = Color.Green;
51        Add(taso);
52    }
53
54    void Lisaacoin(Vector paikka, double leveys, double korkeus)
55    {
56        PhysicsObject coin = PhysicsObject.CreateStaticObject(leveys, korkeus);
57        coin.IgnoresCollisionResponse = true;
58        coin.Position = paikka;
59        coin.Image = coinKuva;
60        coin.Tag = "coin";
61        Add(coin);
62    }
63
64    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
65    {
66        pelaaja1 = new PlatformCharacter(leveys, korkeus);
67        pelaaja1.Position = paikka;
68        pelaaja1.Mass = 4.0;
69        pelaaja1.Image = pelaajanKuva;
70        AddCollisionHandler(pelaaja1, "coin", TormaaTahteen);
71        Add(pelaaja1);
72    }
73
74    void LisaaNappaimet()
75    {
76        tunistus();
77        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
78        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
79
80
81
82        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
83
84        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, Liikuta, "Pelaaja liikkuu vasemmalle");
85        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
86       
87        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
88    }
89
90    void Liikuta(AnalogState tatinTila)
91    {
92        Vector tatinAsento = tatinTila.StateVector;
93        if (tatinAsento.X == 0.0)
94        {
95            return;
96        }
97        pelaaja1.Walk(1000 * tatinAsento.X);
98    }
99
100    void Hyppaa(PlatformCharacter hahmo, double nopeus)
101    {
102        hahmo.Jump(nopeus);
103    }
104
105    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject coin)
106    {
107        maaliAani.Play();
108        MessageDisplay.Add("Keräsit kolikon!");
109        coin.Destroy();
110    }
111
112    void tunistus()
113    {
114        if (ControllerOne.IsConnected)
115        {
116            ControllerOne.Listen(Button.B, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
117            ControllerOne.Listen(Button.A, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
118            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
119            ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, Liikuta, "Pelaaja liikkuu vasemmalle");
120            ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
121        }
122        else
123        {
124            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
125            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
126            Keyboard.Listen(Key.A, ButtonState.Down, LiikutaNappis, "Liikkuu vasemmalle", pelaaja1, -nopeus);
127            Keyboard.Listen(Key.D, ButtonState.Down, LiikutaNappis, "Liikkuu vasemmalle", pelaaja1, nopeus);
128            Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
129        }
130    }
131    void LiikutaNappis(PlatformCharacter hahmo, double nopeus)
132    {
133        hahmo.Walk(nopeus);
134   }
135//   void nappisyhdistelmät();
136//{
137//   
138//}
139
140       
141}
Note: See TracBrowser for help on using the repository browser.