source: 2012/kerho/ljov/Enter_name/Enter_name/Enter_name/Enter_name.cs @ 3864

Revision 3864, 3.7 KB checked in by anlakane, 7 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 Enter_name : PhysicsGame
10{
11    const int RUUDUN_KOKO = 40;
12
13    Hemmo hemmo;
14
15    public Image pelaajanKuva = LoadImage("norsu");
16    Image tahtiKuva = LoadImage("tahti");
17
18    SoundEffect maaliAani = LoadSoundEffect("maali");
19
20    public override void Begin()
21    {
22        Gravity = new Vector(0, -1000);
23
24        //Kenttä
25        TileMap kentta = TileMap.FromLevelAsset("kentta1");
26        kentta.SetTileMethod('0', LisaaTuhottava);
27        kentta.SetTileMethod('#', LisaaTaso);
28        kentta.SetTileMethod('V', LisaaAnsa);
29        kentta.SetTileMethod('*', LisaaLoota);
30        kentta.SetTileMethod('N', LisaaPelaaja);
31        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
32        Level.BackgroundColor = Color.Ivory;
33
34        //Kontrollit
35        Keyboard.Listen(Key.Space, ButtonState.Down, Toimi, "Ihan turhia tälläset");
36            Keyboard.Listen(Key.Left, ButtonState.Down, Vasen, "Liikkuu vasemmalle");
37        Keyboard.Listen(Key.Right, ButtonState.Down, Oikea, "Liikkuu vasemmalle");
38        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppy, "Pelaaja hyppää");
39            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
40
41        Camera.Follow(hemmo);
42        Camera.ZoomFactor = 0.9;
43        Camera.StayInLevel = true;
44
45    }
46    void LisaaTaso(Vector paikka, double leveys, double korkeus)
47    {
48        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
49        taso.Position = paikka;
50        taso.Color = Color.LightGray;
51        Add(taso);
52    }
53    void LisaaTuhottava(Vector paikka, double leveys, double korkeus)
54    {
55        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
56        taso.Position = paikka;
57        taso.Color = Color.Brown;
58        taso.Tag = "TuhoaMinut";
59        Add(taso);
60    }
61    void LisaaAnsa(Vector paikka, double leveys, double korkeus)
62    {
63        PhysicsObject ansa = PhysicsObject.CreateStaticObject(leveys, korkeus*0.1);
64        paikka.Y -= korkeus / 2;
65        ansa.Position = paikka;
66        ansa.Color = Color.Blue;
67        ansa.Tag = "Consequence for failure";
68        Add(ansa);
69    }
70    void LisaaLoota(Vector paikka, double leveys, double korkeus)
71    {
72        Tarvikelaatikko loota = new Tarvikelaatikko((int)leveys, (int)korkeus,20,20);
73        loota.IgnoresCollisionResponse = true;
74        loota.Position = paikka;
75        loota.Image = tahtiKuva;
76        loota.Tag = "laatikko";
77        Add(loota, -1);
78    }
79    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
80    {
81        hemmo = new Hemmo();
82        hemmo.Position = paikka;
83        Add(hemmo);
84        AddCollisionHandler(hemmo, hemmo.kolari);
85        ProgressBar hpbar = new ProgressBar(100, 20);
86        hpbar.Position = new Vector(Screen.Left + 80, Screen.Top -30);
87        hpbar.BindTo(hemmo.hp);
88        Add(hpbar);
89    } //!!?!??!?!??!!?!??!+1
90
91    void LisaaNappaimet()
92    {
93        /*ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
94        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", hemmo, -nopeus);
95        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", hemmo, nopeus);
96        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", hemmo, hyppyNopeus);
97        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); */
98    }
99
100    void Toimi() { hemmo.Toimi(); }
101    void Vasen() { hemmo.Liiku(-1); }
102    void Oikea() { hemmo.Liiku(1); }
103    void Hyppy() { hemmo.Hyppy(); }
104}
Note: See TracBrowser for help on using the repository browser.