source: 2016/23/ohjaajat/Punasininen/Punasininen/Punasininen/Punasininen.cs @ 7188

Revision 7188, 3.0 KB checked in by empaheik, 3 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 Punasininen : PhysicsGame
10{
11    private const double SPEED = 450;
12    private const double JUMPSPEED = 1250;
13    private const int RUUDUN_KOKO = 40;
14
15    private Player blue;
16    private Player red; 
17
18    private Image bluepic;
19    private Image redpic;
20
21    public override void Begin()
22    {
23        //Gravity = new Vector(0, -1000);
24
25        CreateLevel();
26        AddControls();
27
28    }
29
30    void CreateLevel()
31    {
32        Gravity = new Vector(0, -1000);
33
34        ColorTileMap map = ColorTileMap.FromLevelAsset("dungeon1");
35        map.SetTileMethod(Color.Black, LisaaTaso);
36        map.SetTileMethod(Color.FromHexCode("#FF0026FF"), delegate(Vector paikka, double leveys, double korkeus) { blue = CreatePlayer(paikka, leveys, korkeus, bluepic, Color.Blue); });
37        map.SetTileMethod(Color.Red, delegate(Vector paikka, double leveys, double korkeus) { red = CreatePlayer(paikka, leveys, korkeus, redpic, Color.Red); });
38        map.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
39
40        Camera.ZoomToAllObjects();
41
42        Level.Background.Color = Color.Black;
43
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    Player CreatePlayer(Vector paikka, double leveys, double korkeus, Image playerspic, Color playersColor)
55    {
56        Player player = new Player(leveys, korkeus, playerspic, playersColor);
57        player.Position = paikka;
58        Add(player);
59        return player;
60
61    }
62
63    void AddControls()
64    {
65        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
66
67        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, Move, "Liikuta pelaajaa", red);
68        ControllerOne.Listen(Button.A, ButtonState.Pressed, Jump, "Pelaaja hyppää", red, JUMPSPEED);
69        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, Aim, "Tähtää", red);
70
71        ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1, Move, "Liikuta pelaajaa", blue);
72        ControllerTwo.Listen(Button.A, ButtonState.Pressed, Jump, "Pelaaja hyppää", blue, JUMPSPEED);
73        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, Aim, null, blue);
74
75        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Ohjeet");
76        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta");
77    }
78
79    void Move(AnalogState stick, Player player)
80    {
81        if (stick.StateVector.Magnitude > 0.15)
82            player.Walk(stick.StateVector.X > 0 ? Direction.Right : Direction.Left);
83    }
84
85    void Jump(Player player, double speed)
86    {
87        player.Jump(speed);
88    }
89
90    void Aim(AnalogState tatinTila, Player player)
91    {
92
93    }
94
95
96}
Note: See TracBrowser for help on using the repository browser.