source: 2012/27/MarkusK/projekti/Kouura/Kouura/Kouura/Kouura.cs @ 3597

Revision 3597, 5.3 KB checked in by maolkuus, 8 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 Kouura : PhysicsGame
10{
11    const int ruudunleveys = 1;
12    const int ruudunkorkeus = 1;
13
14    IntMeter  Ammukset;
15
16    PhysicsObject Pelaaja;
17
18    Vector NopeusYlos = new Vector(0, 50);
19    Vector NopeusAlas = new Vector(0, -50);
20    Vector NopeusVasen = new Vector(-50, 0);
21    Vector NopeusOikea = new Vector(50, 0);
22
23
24    public override void Begin()
25    {
26
27        LataaOhjaimet();
28        LuoKentta();
29
30        // TODO: Kirjoita ohjelmakoodisi tähän
31
32    }
33    void LuoKentta()
34    {
35        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta");
36        ruudut.SetTileMethod(Color.Black, LuoPelaaja);
37        ruudut.SetTileMethod(Color.DarkBlue, LuoSeina);
38        ruudut.SetTileMethod(Color.White, LuoItem);
39        ruudut.SetTileMethod(Color.Yellow, LuoTrigger);
40        ruudut.Execute(ruudunkorkeus, ruudunleveys);
41
42       
43
44        PhysicsObject vasenReuna = Level.CreateLeftBorder();
45        vasenReuna.Restitution = 1.0;
46        vasenReuna.IsVisible = false;
47
48        PhysicsObject oikeaReuna = Level.CreateRightBorder();
49        oikeaReuna.Restitution = 1.0;
50        oikeaReuna.IsVisible = false;
51
52        PhysicsObject ylaReuna = Level.CreateTopBorder();
53        ylaReuna.Restitution = 2.0;
54        ylaReuna.IsVisible = false;
55
56        PhysicsObject alaReuna = Level.CreateBottomBorder();
57        alaReuna.Restitution = 2.0;
58        alaReuna.IsVisible = false;
59
60
61        Level.BackgroundColor = Color.Green;
62        Camera.ZoomToLevel();
63    }
64
65    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
66    {
67        Pelaaja = new PhysicsObject(1, 1);
68        Pelaaja.Color = Color.Blue;
69        Pelaaja.Shape = Shape.Hexagon;
70        Pelaaja.Position = paikka;
71        Pelaaja.Mass = 10;
72        Pelaaja.
73
74        Add(Pelaaja);
75
76    }
77    void LuoSeina(Vector paikka, double leveys, double korkeus)
78    {
79        PhysicsObject Seina = PhysicsObject.CreateStaticObject(1, 1);
80        Seina.Position = paikka;
81        Seina.Shape = Shape.Rectangle;
82        Seina.Color = Color.MediumVioletRed;
83        Add(Seina);
84    }
85
86    void LuoItem(Vector paikka, double leveys, double korkeys)
87    {
88        PhysicsObject Item = new PhysicsObject(1, 1);
89        Item.Position = paikka;
90        Item.Mass = 0.005;
91        Item.Shape = Shape.Heart;
92        Item.Restitution = 1.0;
93        Item.Image = null;
94        // AddCollisionHandler(Item, );
95        Add(Item, 1);
96
97    }
98
99    void LuoTrigger(Vector paikka, double leveys, double korkeys)
100    {
101        PhysicsObject Trigger = new PhysicsObject(1, 1);
102        Trigger.Position = paikka;
103        Trigger.Mass = 0.005;
104        Trigger.Color = Color.Crimson;
105        Trigger.Shape = Shape.Heart;
106        Trigger.Restitution = 1.0;
107        Trigger.Image = null;
108        AddCollisionHandler(Trigger, Triggerlaunch);
109
110        Add(Trigger, 1);
111    }
112
113    void LataaOhjaimet()
114    {
115        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
116        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
117
118        Keyboard.Listen(Key.A, ButtonState.Down, asetaNopeus, "pelaaja liikuttaa hahmoa vasemmalle", Pelaaja, NopeusVasen);
119        Keyboard.Listen(Key.A, ButtonState.Released, asetaNopeus, null, Pelaaja, Vector.Zero);
120
121        Keyboard.Listen(Key.D, ButtonState.Down, asetaNopeus, "pelaaja liikuttaa hahmoa Oikealle", Pelaaja, NopeusOikea);
122        Keyboard.Listen(Key.D, ButtonState.Released, asetaNopeus, null, Pelaaja, Vector.Zero);
123
124        Keyboard.Listen(Key.S, ButtonState.Down, asetaNopeus, "pelaaja liikuttaa hahmoa Alas", Pelaaja, NopeusAlas);
125        Keyboard.Listen(Key.S, ButtonState.Released, asetaNopeus, null, Pelaaja, Vector.Zero);
126
127        Keyboard.Listen(Key.W, ButtonState.Down, asetaNopeus, "pelaaja liikuttaa hahmoa Ylös", Pelaaja, NopeusYlos);
128        Keyboard.Listen(Key.W, ButtonState.Released, asetaNopeus, null, Pelaaja, Vector.Zero);
129    }
130
131    void asetaNopeus(PhysicsObject Pelaaja, Vector Nopeus)
132    {
133        if ((Nopeus.Y > 0) && (Pelaaja.Top > Level.Top))
134            Pelaaja.Velocity = Vector.Zero;
135        return;
136
137        if ((Nopeus.Y > 0) && (Pelaaja.Bottom < Level.Bottom))
138            Pelaaja.Velocity = Vector.Zero;
139        return;
140
141        if ((Nopeus.X > 0) && (Pelaaja.Left > Level.Left))
142            Pelaaja.Velocity = Vector.Zero;
143        return;
144
145        if ((Nopeus.X > 0) && (Pelaaja.Right > Level.Right))
146            Pelaaja.Velocity = Vector.Zero;
147        return;
148    }
149
150    void Lisaalaskurit()
151    {
152
153        Ammukset = Luopistelaskuri (Screen.Left + 100.0, Screen.Top - 100.0); 
154    }
155
156    IntMeter Luopistelaskuri(double x, double y)
157    {
158        IntMeter laskuri = new IntMeter (0);
159        laskuri.MaxValue = 10;
160
161        Label naytto = new Label ();
162        naytto.BindTo(laskuri);
163        naytto.X = x;
164        naytto.Y = y;
165        naytto.TextColor = Color.Black;
166        naytto.BorderColor = Level.BackgroundColor;
167        Add(naytto);
168    }
169
170    void Triggerlaunch(PhysicsObject Pelaaja, PhysicsObject Kohde)
171    {
172        //if (Pelaaja
173   
174
175        }
176               
177}
Note: See TracBrowser for help on using the repository browser.