source: 2016/26/JennyN/UnicornJump/UnicornJump/UnicornJump/UnicornJump.cs @ 7577

Revision 7577, 4.6 KB checked in by jehinous, 3 years ago (diff)

Peliä jatkettu (laskuri ei toimi)

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class UnicornJump : PhysicsGame
10{
11    const double nopeus = 500;
12    const double hyppyNopeus = 1400;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16
17    Image pelaajanKuva = LoadImage("yksisarvinentaustaton");
18    Image porkkanaKuva = LoadImage("porkkana");
19    Image ruoholaattaKuva = LoadImage("ruoholaattaa");
20    Image taustakuva = LoadImage("tausta");
21
22
23
24
25    public override void Begin()
26    {
27        Gravity = new Vector(0, -1000);
28
29        LuoKentta();
30        LisaaNappaimet();
31        LuoPistelaskuri();
32   
33
34        Camera.Follow(pelaaja1);
35        Camera.ZoomFactor = 0.3;
36        Camera.StayInLevel = true;
37        Level.Background.Image = taustakuva;
38        Level.Background.TileToLevel();
39    }
40
41    void LuoKentta()
42    {
43        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta");
44        ruudut.SetTileMethod(Color.FromHexCode("FF00DC"), LisaaPelaaja);
45        ruudut.SetTileMethod(Color.FromHexCode("D1D1FF"), LisaaTaso);
46        ruudut.SetTileMethod(Color.FromHexCode("FF8707"), LisaaTahti);
47
48        ruudut.Execute(80, 80);
49
50
51    }
52    void LisaaTaso(Vector paikka, double leveys, double korkeus)
53    {
54        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys * 2, korkeus);
55        taso.Position = paikka;
56        taso.Color = Color.Green;
57        Add(taso);
58
59        taso.Image = ruoholaattaKuva;
60
61
62
63    }
64
65    void LisaaTahti(Vector paikka, double leveys, double korkeus)
66    {
67        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
68        tahti.IgnoresCollisionResponse = true;
69        tahti.Position = paikka;
70        tahti.Image = porkkanaKuva;
71        tahti.Tag = "porkkana";
72        Add(tahti);
73    }
74
75    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
76    {
77        pelaaja1 = new PlatformCharacter(leveys * 1.5, korkeus);
78        pelaaja1.Position = paikka;
79        pelaaja1.Mass = 4.0;
80        pelaaja1.Image = pelaajanKuva;
81        AddCollisionHandler(pelaaja1, "porkkana", TormaaPorkkanaan);
82        Add(pelaaja1);
83        pelaaja1.Tag = "pelaaja";
84    }
85
86    void LisaaNappaimet()
87    {
88        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
89        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
90
91        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
92        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
93        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
94
95        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
96
97        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
98        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
99        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
100
101        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
102    }
103
104    void Liikuta(PlatformCharacter hahmo, double nopeus)
105    {
106        hahmo.Walk(nopeus);
107    }
108
109    void Hyppaa(PlatformCharacter hahmo, double nopeus)
110    {
111        hahmo.Jump(nopeus);
112    }
113
114    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject porkkana)
115    {
116
117        MessageDisplay.Add("Hienoa!");
118        porkkana.Destroy();
119    }
120
121    void TormaaPorkkanaan(PhysicsObject hahmo, PhysicsObject porkkana)
122    {
123    porkkana.Destroy();
124    }
125void LuoVihollinen(Vector paikka, double leveys, double korkeus)
126{
127    PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus);
128    vihollinen.Position = paikka;
129    vihollinen.Tag = "porkkana";
130    Add(vihollinen);
131    }
132    IntMeter pisteLaskuri;
133
134    void LuoPistelaskuri()
135    {
136        pisteLaskuri = new IntMeter(0);
137
138        Label pisteNaytto = new Label();
139        pisteNaytto.X = Screen.Left + 70;
140        pisteNaytto.Y = Screen.Top - 100;
141        pisteNaytto.TextColor = Color.Black;
142        pisteNaytto.Color = Color.FromHexCode("FF00DC");
143
144        pisteNaytto.BindTo(pisteLaskuri);
145        Add(pisteNaytto);
146        pisteNaytto.Title = "Paino";
147        pisteLaskuri.Value += 100;
148        pisteLaskuri.Value = 500;
149
150
151        IntMeter keratytEsineet = new IntMeter(0);
152        pisteLaskuri.MaxValue = 800;
153        pistelaskuri.UpperLimit += KaikkiKeratty;
154
155    }
156
157}
Note: See TracBrowser for help on using the repository browser.