source: 2015/26/PatrikL/Soccer/Soccer/Soccer/Soccer.cs @ 6267

Revision 6267, 4.7 KB checked in by patlahti, 5 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 Soccer : PhysicsGame
10{
11    const double nopeus = 300;
12    const double hyppyNopeus = 800;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16    PlatformCharacter pelaaja2;
17
18   
19    Image tahtiKuva = LoadImage("tahti");
20    Image pelaajan1Kuva = LoadImage("Tyyppi3");
21    Image pelaajan2Kuva = LoadImage("tyyppi2");
22    Image MaalinKuva = LoadImage("Maali");
23
24    public override void Begin()
25    {
26        Gravity = new Vector(0, -1400);
27
28        LuoKentta();
29        LisaaNappaimet();
30
31        //Camera.Follow(pelaaja1, pelaaja2);
32        //Camera.ZoomFactor = 1.5;
33        //Camera.StayInLevel = false;
34        Camera.ZoomToLevel();
35    }
36
37    void LuoKentta()
38    {
39        TileMap kentta = TileMap.FromLevelAsset("kentta1");
40        kentta.SetTileMethod('#', LisaaTaso);
41        kentta.SetTileMethod('*', LisaaTahti);
42        kentta.SetTileMethod('1', LisaaPelaaja);
43        kentta.SetTileMethod('2', LisaaPelaaja2);
44        kentta.SetTileMethod('M', LisaaMaali);
45        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
46        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
47        Surfaces reunat = Level.CreateBorders();
48
49        foreach (var reuna in reunat)
50            reuna.Color = Color.Black;
51    }
52
53
54    void LisaaTaso(Vector paikka, double leveys, double korkeus)
55    {
56        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
57        taso.Position = paikka;
58        taso.Color = Color.Green;
59        Add(taso);
60    }
61
62    void LisaaTahti(Vector paikka, double leveys, double korkeus)
63    {
64        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
65        tahti.IgnoresCollisionResponse = true;
66        tahti.Position = paikka;
67        tahti.Image = tahtiKuva;
68        tahti.Tag = "tahti";
69        Add(tahti);
70    }
71
72    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
73    {
74        pelaaja1 = new PlatformCharacter(leveys, korkeus);
75        pelaaja1.Position = paikka;
76        pelaaja1.Mass = 4.0;
77        pelaaja1.Image = pelaajan1Kuva;
78        Add(pelaaja1);
79        pelaaja1.Width = 100;
80        pelaaja1.Height = 100;
81    }
82    void LisaaMaali();
83
84    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus)
85    {
86        pelaaja2 = new PlatformCharacter(leveys, korkeus);
87        pelaaja2.Position = paikka;
88        pelaaja2.Mass = 4.0;
89        pelaaja2.Image = pelaajan2Kuva;
90        Add(pelaaja2);
91        pelaaja2.Width = 100;
92        pelaaja2.Height = 100;
93    }
94
95    void LisaaNappaimet()
96    {
97        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
98        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
99
100        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
101        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
102        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
103
104        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus);
105        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus);
106        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus);
107
108        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
109
110        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
111        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
112        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
113
114        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
115
116        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja2, -nopeus);
117        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja2, nopeus);
118        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus);
119
120        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
121    }
122
123    void Liikuta(PlatformCharacter hahmo, double nopeus)
124    {
125        hahmo.Walk(nopeus);
126    }
127
128    void Hyppaa(PlatformCharacter hahmo, double nopeus)
129    {
130        hahmo.Jump(nopeus);
131    }
132
133   
134}
Note: See TracBrowser for help on using the repository browser.