source: 2012/24/EeroF/LabTank/LabTank/LabTank/LabTank.cs @ 3034

Revision 3034, 4.3 KB checked in by eefadjuk, 9 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class LabTank : PhysicsGame
10{
11    const double kaantyy = 20;
12    const double nopeus = 500;
13    const double hyppyNopeus = 500;
14    const int RUUDUN_KOKO = 40;
15   
16    PhysicsObject pelaaja1;
17
18
19    Image pelaajanKuva = LoadImage("pelaaja");
20    Image tahtiKuva = LoadImage("tahti");
21    Image tasonKuva = LoadImage("taso");
22    Image taustanKuva = LoadImage("tausta");
23
24    SoundEffect maaliAani = LoadSoundEffect("maali");
25
26    public override void Begin()
27    { 
28 
29
30        luoKentta();
31        lisaaNappaimet();
32
33        Camera.Follow(pelaaja1);
34        Camera.ZoomFactor = 1.2;
35        Camera.StayInLevel = true;
36    }
37
38    void luoKentta()
39    {
40        TileMap kentta = TileMap.FromLevelAsset("kentta1");
41        kentta.SetTileMethod('#', lisaaTaso);
42        kentta.SetTileMethod('*', lisaaTahti);
43        kentta.SetTileMethod('P', lisaaPelaaja);
44       // kentta.SetTileMethod('A', lisaaMinitorni);
45        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
46        Level.CreateBorders();
47        Level.Background.CreateGradient(Color.Black , Color.White);
48        Level.Background.Image = taustanKuva;
49    }
50
51    void lisaaTaso(Vector paikka, double leveys, double korkeus)
52    {
53        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
54        taso.Position = paikka;
55        taso.Color = Color.Green;
56
57        Add(taso);
58    }
59
60    void lisaaTahti(Vector paikka, double leveys, double korkeus)
61    {
62        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
63        tahti.IgnoresCollisionResponse = true;
64        tahti.Position = paikka;
65        tahti.Image = tahtiKuva;
66        tahti.Tag = "tahti";
67        Add(tahti);
68    }
69
70    void lisaaPelaaja(Vector paikka, double leveys, double korkeus)
71    {
72        pelaaja1 = new PhysicsObject (leveys, korkeus);
73        pelaaja1.CanRotate = false;
74
75        pelaaja1.Position = paikka;
76        pelaaja1.Mass = 100.0;
77        pelaaja1.Image = pelaajanKuva;
78        AddCollisionHandler(pelaaja1, kasittelePelaajanTormays);
79        Add(pelaaja1);
80    }
81
82    void lisaaNappaimet()
83    {
84        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
85        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
86        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
87
88        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
89        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
90        Keyboard.Listen(Key.W, ButtonState.Down, hyppaa, "Liikkuu ylös", pelaaja1, hyppyNopeus);
91        Keyboard.Listen(Key.S, ButtonState.Down, hyppaa, "Liikkuu alas", pelaaja1, -hyppyNopeus);
92        Keyboard.Listen(Key.Up, ButtonState.Down, kaanna, "Kääntyy", pelaaja1, kaantyy);
93
94
95
96        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
97
98
99        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
100        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
101        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, hyppaa, "Pelaaja liikkuu ylös", pelaaja1, hyppyNopeus);
102        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, hyppaa, "Pelaaja liikkuu alas", pelaaja1, -hyppyNopeus);
103
104        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
105    }
106
107    void liikuta(PhysicsObject hahmo, double nopeus)
108    {
109        hahmo.Velocity = new Vector (nopeus, 0);
110    }
111
112    void hyppaa(PhysicsObject hahmo, double nopeus)
113    {
114        hahmo.Velocity = new Vector(0, nopeus);
115
116    }
117
118    void kasittelePelaajanTormays(PhysicsObject hahmo, PhysicsObject kohde)
119    {
120        if (kohde.Tag.ToString() == "tahti")
121        {
122            maaliAani.Play();
123            MessageDisplay.Add("Voitit tason!");
124          // kohde.Destroy();
125        }
126    }
127  void lisaaMinitorni (Vector paikka, double y, double x )
128{
129
130}
131  void kaanna(PhysicsObject hahmo, double kaantyy)
132  { 
133 
134  }
135
136}
Note: See TracBrowser for help on using the repository browser.