source: 2017/utsjoki/NilsL/KALAPELI/KALAPELI/KALAPELI/KALAPELI.cs @ 9129

Revision 9129, 3.5 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
9public class KALAPELI : PhysicsGame
10{
11    PhysicsObject kala;
12
13    IntMeter pisteLaskuri;
14
15
16    public override void Begin()
17    {
18        // TODO: Kirjoita ohjelmakoodisi tähän
19
20        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
21        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
22        LuoKenttä();
23        //Timer kello = new Timer();
24        LisääLiikuta();
25
26        LuoPistelaskuri();
27
28        //kala = new PhysicsObject(70.0, 70.0, Shape.Rectangle);
29
30        //PhysicsObject kivi = new PhysicsObject(70.0, 70.0);
31        //kivi.Shape = Shape.Circle;
32        //Add(kala);
33        //Add(kivi);
34        //AsetaOhjaimet();
35
36       
37
38
39        Level.Background.Color = Color.DarkBlue;
40     
41
42    }
43
44    void LuoPistelaskuri()
45    {
46        pisteLaskuri = new IntMeter(0);
47
48        Label pisteNaytto = new Label();
49        pisteNaytto.X = Screen.Left + 100;
50        pisteNaytto.Y = Screen.Top - 100;
51        pisteNaytto.TextColor = Color.Black;
52        pisteNaytto.Color = Color.White;
53
54        pisteNaytto.BindTo(pisteLaskuri);
55        Add(pisteNaytto);
56    }
57
58    void LisääLiikuta()
59    {
60        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaKalaa, "Up", new Vector(0.0, 100.0));
61        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaKalaa, "Down", new Vector(0.0, -100.0));
62        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaKalaa, "Left", new Vector(100.0, 0.0));
63        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaKalaa, "Right", new Vector(-100.0, 0.0));
64
65    }
66    void LiikutaKalaa(Vector suunta)
67    {
68        kala.Push(suunta);
69    }
70
71
72
73
74
75    void LuoKenttä()
76    {
77        TileMap ruudut = TileMap.FromLevelAsset("kentta");
78        ruudut.SetTileMethod('#', LuoPalikka);
79        ruudut.SetTileMethod('H', LuoHahmo);
80        ruudut.SetTileMethod('x', LuoTähti);
81        ruudut.Optimize('#');
82        ruudut.Execute(50, 50);
83        ruudut.SetTileMethod('x', LuoPalikka);
84
85        Camera.Follow(kala);
86    }
87    void LuoPalikka(Vector paikka, double leveys, double korkeus)
88    {
89        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
90        palikka.Position = paikka;
91        palikka.Shape = Shape.Rectangle;
92        palikka.Tag = "palikka";
93        palikka.Color = Color.Black;
94        Add(palikka);
95    }
96    void LuoTähti(Vector paikka, double leveys, double korkeus)
97    {
98        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
99        palikka.IgnoresCollisionResponse = true;
100        palikka.Position = paikka;
101        palikka.Shape = Shape.Star;
102        palikka.Tag = "Tähti";
103        palikka.Color = Color.Yellow;
104        Add(palikka);
105    }
106    void LuoHahmo(Vector paikka, double leveys, double korkeus)
107    {
108        kala = new PhysicsObject(leveys * 4, korkeus * 2);
109        kala.Position = paikka;
110        kala.Shape = Shape.Rectangle;
111        kala.Image = LoadImage("kuva");
112        Add(kala);
113        AddCollisionHandler(kala, "palikka", törmääPalikkaan);
114        AddCollisionHandler(kala, "Tähti", törmääTähteen);
115    }
116    void törmääPalikkaan(PhysicsObject pelaaja, PhysicsObject kohde)
117    {
118        pelaaja.Destroy();
119    }
120    void törmääTähteen(PhysicsObject pelaaja, PhysicsObject kohde)
121    {
122        kohde.Destroy();
123        pisteLaskuri.Value += 1;
124    }
125
126}
127
128
Note: See TracBrowser for help on using the repository browser.