source: 2017/23/KasperiJ/GrindingGears/GrindingGears/GrindingGears/GrindingGears.cs @ 8483

Revision 8483, 3.9 KB checked in by nupeohje, 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 GrindingGears : PhysicsGame
10{
11    Image taustaKuva = LoadImage("1map");
12   Animation kavelu;
13   //rivate Image[] kävelyAnimaatio = LoadImages()
14    const double nopeus = 200;
15    const double hyppyNopeus = 750;
16    const int RUUDUN_KOKO = 60;
17
18    PlatformCharacter pelaaja1;
19    AssaultRifle pelaajan1Ase;
20
21     Image pelaajanKuva = LoadImage("ukko1");
22     Image tasokuva = LoadImage("platform");
23     
24   
25
26
27    public override void Begin()
28    {
29        kavelu = LoadAnimation("ukkeli");
30        Gravity = new Vector(0, -1000);
31
32        pelaajan1Ase = new AssaultRifle(0, 0);
33        pelaajan1Ase.Ammo.Value = 1000;
34       
35        pelaajan1Ase.X = 5.0;
36        pelaajan1Ase.Y = -5.0;
37
38       
39        LuoKentta();
40        LisaaNappaimet();
41       
42        Camera.ZoomFactor = 1.2;
43        Camera.StayInLevel = true;
44        Camera.Follow(pelaaja1);
45    }
46
47    void LuoKentta()
48    {
49        TileMap kentta = TileMap.FromLevelAsset("kentta1");
50        kentta.SetTileMethod('#', LisaaTaso);
51
52        kentta.SetTileMethod('N', LisaaPelaaja);
53        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
54     
55       
56        Level.Background.Image = taustaKuva;
57    }
58
59    void LisaaTaso(Vector paikka, double leveys, double korkeus)
60    {
61        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, 20);
62        taso.Position = paikka;
63        taso.Color = Color.Green;
64        taso.Image = tasokuva;
65        Add(taso);
66    }
67    void AmmuAseella(AssaultRifle ase)
68    {
69        PhysicsObject ammus = ase.Shoot();
70
71        if (ammus != null)
72        {
73            pelaajan1Ase.Angle += Angle.FromDegrees(1);
74            ammus.Size *= 0.2;
75            //ammus.Image = ...
76            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
77        }
78    }
79
80   
81    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
82    {
83        pelaaja1 = new PlatformCharacter(80, 80);
84        pelaaja1.Position = paikka;
85        pelaaja1.Mass = 80.0;
86        pelaaja1.Image = pelaajanKuva;
87        pelaaja1.Weapon = new AssaultRifle(0, 0);
88        pelaaja1.Weapon.Ammo.Value = 1000;
89        pelaaja1.Add(pelaajan1Ase);
90     
91
92       
93       Add(pelaaja1);
94    }
95
96    void LisaaNappaimet()
97    {
98        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
99        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
100
101        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
102        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
103        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
104        Keyboard.Listen(Key.Down, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase);
105        Keyboard.Listen(Key.Left, ButtonState.Up, Lopeta, "kavelu", pelaaja1);
106
107        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
108
109        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
110        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
111        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
112
113        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
114    }
115
116
117
118    void Liikuta(PlatformCharacter hahmo, double nopeus)
119    {
120        pelaaja1.AnimWalk = kavelu;
121        hahmo.Walk(nopeus);
122 
123    }
124    void Lopeta(PlatformCharacter hahmo)
125    {
126
127    }
128
129
130    void Hyppaa(PlatformCharacter hahmo, double nopeus)
131    {
132        hahmo.Jump(nopeus);
133    }
134   
135}
Note: See TracBrowser for help on using the repository browser.