source: 2017/koodauskerho/mastermijari/Seikkailu/Seikkailu/Seikkailu/Seikkailu.cs @ 9471

Revision 9471, 3.5 KB checked in by mianhayr, 20 months 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 Seikkailu : PhysicsGame
10{
11    Image pelaajankuva = LoadImage("ihminen");
12    PhysicsObject pelaaja;
13   
14
15    Image pelaajan2kuva = LoadImage("ihminen2");
16    PhysicsObject pelaaja2;
17
18    public override void Begin()
19    {
20        // TODO: Kirjoita ohjelmakoodisi tähän
21
22        Level.Background.Color = Color.DarkJungleGreen;
23       
24
25        TileMap ruudut = TileMap.FromLevelAsset("kentta");
26        ruudut.SetTileMethod('#', LuoPalikka);
27        ruudut.SetTileMethod('K', LuoKivi);
28        ruudut.SetTileMethod('P', LuoPelaaja);
29        ruudut.SetTileMethod('2', LuoPelaaja2);
30        ruudut.Execute(20, 20);
31       
32
33        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
34        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
35    }
36    void LuoPalikka(Vector paikka, double leveys, double korkeus)
37    {
38        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
39        palikka.Position = paikka;
40        palikka.Shape = Shape.Rectangle;
41        palikka.Color = Color.AshGray;
42        Add(palikka);
43    }
44    void LuoKivi(Vector paikka, double leveys, double korkeus)
45    {
46        PhysicsObject kivi = PhysicsObject.CreateStaticObject(leveys, korkeus);
47        kivi.Position = paikka;
48        kivi.Shape = Shape.Rectangle;
49        kivi.Color = Color.LightGray;
50        Add(kivi);
51    }
52    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
53    {
54        pelaaja = new PhysicsObject(leveys+40, korkeus+20);
55        pelaaja.Shape = Shape.Rectangle;
56        pelaaja.Color = Color.DarkBlue;
57        pelaaja.Position = paikka;
58        pelaaja.Image = pelaajankuva;
59        pelaaja.CanRotate = false;
60       
61        Add(pelaaja);
62
63        Keyboard.Listen(Key.A, ButtonState.Down,
64            LiikutaPelaajaa, null, new Vector(-100, 0));
65        Keyboard.Listen(Key.D, ButtonState.Down,
66           LiikutaPelaajaa, null, new Vector(100, 0));
67        Keyboard.Listen(Key.W, ButtonState.Down,
68           LiikutaPelaajaa, null, new Vector(0, 100));
69        Keyboard.Listen(Key.S, ButtonState.Down,
70           LiikutaPelaajaa, null, new Vector(0, -100));
71     
72           
73       
74       
75    }
76    void LiikutaPelaajaa(Vector vectori)
77    {
78        pelaaja.Push(vectori);
79        pelaaja.Angle = vectori.Angle - Angle.FromDegrees(-90);
80    }
81    void LuoPelaaja2(Vector paikka, double leveys, double korkeus)
82    {
83        pelaaja2 = new PhysicsObject(leveys + 40, korkeus + 20);
84        pelaaja2.Shape = Shape.Rectangle;
85        pelaaja2.Color = Color.DarkBlue;
86        pelaaja2.Position = paikka;
87        pelaaja2.Image = pelaajan2kuva;
88        pelaaja2.CanRotate = false;
89        Add(pelaaja2);
90
91       
92
93        Keyboard.Listen(Key.Left, ButtonState.Down,
94            LiikutaPelaajaa2, null, new Vector(-100, 0));
95        Keyboard.Listen(Key.Right, ButtonState.Down,
96           LiikutaPelaajaa2, null, new Vector(100, 0));
97        Keyboard.Listen(Key.Up, ButtonState.Down,
98           LiikutaPelaajaa2, null, new Vector(0, 100));
99        Keyboard.Listen(Key.Down, ButtonState.Down,
100           LiikutaPelaajaa2, null, new Vector(0, -100));
101
102
103
104    }
105    void LiikutaPelaajaa2(Vector vectori)
106    {
107        pelaaja2.Push(vectori);
108        pelaaja2.Angle = vectori.Angle - Angle.FromDegrees(-90);
109    }
110}
Note: See TracBrowser for help on using the repository browser.