source: 2014/27/AnttoniS/weed hyppely/weed hyppely/weed hyppely/weed_hyppely.cs @ 5335

Revision 5335, 4.7 KB checked in by ansevaki, 5 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 weed_hyppely : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 750;
13    const int RUUDUN_KOKO = 40;
14    private Animation ukkelinKavely;
15    private Animation doggKavely;
16
17    PlatformCharacter weed1;
18
19    Image pelaajanKuva = LoadImage("weed");
20    Image tahtiKuva = LoadImage("bongo");
21    Image rajahdysKuva = LoadImage("Smoke");
22   
23    SoundEffect maaliAani = LoadSoundEffect("smokeweed");
24
25    public override void Begin()
26    {
27        doggKavely = LoadAnimation("snoop");
28
29        MediaPlayer.Play("instrumental2");
30        MediaPlayer.Volume = 1;
31        MediaPlayer.IsRepeating = true;
32        ukkelinKavely = LoadAnimation("weed2");
33        Gravity = new Vector(0, -1000);
34
35        LuoKentta();
36        LisaaNappaimet();
37
38        Camera.Follow(weed1);
39        Camera.ZoomFactor = 1;
40        Camera.StayInLevel = true;
41
42    }
43
44    void LuoKentta()
45    {
46        TileMap kentta = TileMap.FromLevelAsset("kentta1");
47        kentta.SetTileMethod('#', LisaaTaso);
48        kentta.SetTileMethod('*', LisaaTahti);
49        kentta.SetTileMethod('N', LisaaPelaaja);
50        kentta.SetTileMethod('S', LisaaVihollinen);
51        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
52        Level.CreateBorders();
53        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
54    }
55
56    void LisaaTaso(Vector paikka, double leveys, double korkeus)
57    {
58        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
59        taso.Position = paikka;
60        taso.Color = Color.Green;
61        Add(taso);
62    }
63
64    void LisaaTahti(Vector paikka, double leveys, double korkeus)
65    {
66        PhysicsObject ganja = PhysicsObject.CreateStaticObject(25, 40);
67        ganja.IgnoresCollisionResponse = true;
68        ganja.Position = paikka;
69        ganja.Image = tahtiKuva;
70        ganja.Tag = "tahti";
71        Add(ganja);
72    }
73
74    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
75    {
76        weed1 = new PlatformCharacter(leveys, korkeus);
77        weed1.Position = paikka;
78        weed1.Mass = 4.0;
79        weed1.Image = pelaajanKuva;
80        AddCollisionHandler(weed1, "tahti", TormaaTahteen);
81        weed1.Animation = new Animation(ukkelinKavely);
82        weed1.Animation.Start();
83        weed1.Animation.FPS = 7;
84        Add(weed1);
85
86
87    }
88
89    //Ohjaimet
90
91    void LisaaNappaimet()
92    {
93        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
94        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
95
96        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", weed1, -nopeus);
97        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", weed1, nopeus);
98        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", weed1, hyppyNopeus);
99
100        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
101
102        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", weed1, -nopeus);
103        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", weed1, nopeus);
104        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", weed1, hyppyNopeus);
105        //ControllerOne.Vibrate(10000000000000000,1000000,100000000000000000,100000000000000,1000000000000000);
106
107        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
108    }
109
110    void Liikuta(PlatformCharacter hahmo, double nopeus)
111    {
112        hahmo.Walk(nopeus);
113    }
114
115    void Hyppaa(PlatformCharacter hahmo, double nopeus)
116    {
117        hahmo.Jump(nopeus);
118    }
119
120    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
121    {
122        //maaliAani.Play();
123        MessageDisplay.Add("Blaze it!");
124        tahti.Destroy();
125        int pMaxMaara = 200;
126
127        ExplosionSystem rajahdys =
128          new ExplosionSystem(LoadImage("Smoke"), pMaxMaara);
129        Add(rajahdys);
130        double x = 0;
131        double y = 0;
132        int pMaara = 50;
133        rajahdys.AddEffect(tahti.X, tahti.Y, pMaara);
134    }
135
136    void LisaaVihollinen(Vector pos, double width, double height)
137    {
138        PhysicsObject dogg = new PhysicsObject(40, 80);
139        dogg.Shape = Shape.Rectangle;
140        dogg.Position = pos;
141        dogg.Mass = 1000;
142        dogg.Animation = doggKavely;
143        dogg.Animation.FPS = 7;
144        dogg.Animation.Start();
145        doggKavely = LoadAnimation("snoop");
146        Add(dogg);
147    }
148
149}
Note: See TracBrowser for help on using the repository browser.