source: 2017/27/TuukkaH/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs @ 8894

Revision 8894, 4.5 KB checked in by npo17_44, 3 years ago (diff)

viesti

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Tasohyppelypeli1 : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 750;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16
17    Image pelaajanKuva = LoadImage("Kauluslisko");
18    Image KuvaajaKuva = LoadImage("Kuvaaja");
19    Image KarpanenKuva = LoadImage("Karpanen");
20    SoundEffect maaliAani = LoadSoundEffect("maali");
21
22    public override void Begin()
23    {
24        Gravity = new Vector(0, -1000);
25
26        LuoKentta();
27       
28        LisaaNappaimet();
29
30       
31
32        LisaaKarpanen();
33        LisaaKarpanen();
34        LisaaKarpanen();
35        LisaaKarpanen();
36        LisaaKarpanen();
37        LisaaKarpanen();
38        LisaaKarpanen();
39        LisaaKarpanen();
40        LisaaKarpanen();
41        LisaaKarpanen();
42        LisaaKarpanen();
43        LisaaKarpanen();
44
45
46
47        Camera.Follow(pelaaja1);
48        Camera.ZoomFactor = 1.2;
49        Camera.StayInLevel = true;
50    }
51
52    void LuoKentta()
53    {
54        TileMap kentta = TileMap.FromLevelAsset("kentta1");
55        kentta.SetTileMethod('#', LisaaTaso);
56        kentta.SetTileMethod('K', LisaaKuvaaja);
57       
58        kentta.SetTileMethod('N', LisaaPelaaja); kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
59        Level.CreateBorders();
60        Level.Background.CreateGradient(Color.OrangeRed, Color.SkyBlue);
61    }
62
63    void LisaaTaso(Vector paikka, double leveys, double korkeus)
64    {
65        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
66        taso.Position = paikka;
67        taso.Color = Color.BrownGreen;
68        Add(taso);
69    }
70   
71   
72   
73
74   
75    void LisaaKuvaaja(Vector paikka, double leveys, double korkeus)
76    {
77        PlatformCharacter Kuvaaja = new PlatformCharacter(60.0, 60.0);
78       
79        FollowerBrain KuvaajanAivot = new FollowerBrain(pelaaja1);
80        Kuvaaja.Brain = KuvaajanAivot;
81        Kuvaaja.Mass = (8.0);
82        Kuvaaja.Position = paikka;
83
84        Kuvaaja.Image = KuvaajaKuva;
85        Kuvaaja.Tag = "Kuvaaja";
86        Kuvaaja.CollisionIgnoreGroup = 1;
87
88        Add(Kuvaaja);
89    }
90void LisaaKarpanen()
91    {
92        PhysicsObject Karpanen = new PhysicsObject(20.0, 20.0);
93        Karpanen.Image = KarpanenKuva;
94        Karpanen.Tag = "Karpanen";
95        RandomMoverBrain KarpasenAivot = new RandomMoverBrain(400);
96       
97        KarpasenAivot.ChangeMovementSeconds = 2;
98        Karpanen.Brain = KarpasenAivot;
99        Karpanen.CollisionIgnoreGroup = 1;
100
101        Add(Karpanen);
102 
103    }
104
105    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
106    {
107        pelaaja1 = new PlatformCharacter(leveys, korkeus);
108        pelaaja1.Position = paikka;
109        pelaaja1.Mass = 4.0;
110        pelaaja1.Image = pelaajanKuva;
111       
112        AddCollisionHandler(pelaaja1, "Karpanen", CollisionHandler.DestroyTarget);
113        AddCollisionHandler(pelaaja1, "Kuvaaja", CollisionHandler.DestroyObject);
114
115        Add(pelaaja1);
116    }
117
118    void LisaaNappaimet()
119    {
120        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
121        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
122
123        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
124        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
125        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
126
127        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
128
129        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
130        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
131        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
132
133        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
134    }
135
136    void Liikuta(PlatformCharacter hahmo, double nopeus)
137    {
138        hahmo.Walk(nopeus);
139    }
140
141    void Hyppaa(PlatformCharacter hahmo, double nopeus)
142    {
143        hahmo.Jump(nopeus);
144    }
145
146    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
147    {
148        maaliAani.Play();
149        MessageDisplay.Add("a");
150        tahti.Destroy();
151    }
152}
Note: See TracBrowser for help on using the repository browser.