source: 2011/31/PavelT/gee tee aa ssek/gee tee aa ssek/gee tee aa ssek/Peli.cs @ 2541

Revision 2541, 5.0 KB checked in by patammi, 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 Peli : PhysicsGame
10{
11    PhysicsObject olio;
12    Image olionKuva = LoadImage("Kari");
13   
14    PhysicsObject sampodiego;
15    Image olionkuva = LoadImage("Kari");
16    AssaultRifle pyssy;
17
18
19    List<Label> valikonKohdat;
20
21
22    public override void Begin()
23
24    {
25        olio = luokari();
26        olio.X = 20;
27        olio.Y = 10;
28        Add(olio);
29        sampodiego = luosampodiego();
30        sampodiego.X = 100;
31        sampodiego.Y = -20;
32        Add(sampodiego);
33
34        // TODO: Kirjoita ohjelmakoodisi tähän
35        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
36        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
37        Level.BackgroundColor = new Color(150, 150, 150);
38        Camera.Follow(olio);
39        TileMap ruudut = TileMap.FromLevelAsset("kenttä");
40        ruudut.SetTileMethod('=', LuoPalikka);
41        ruudut.Execute(150, 200);
42
43        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
44        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
45        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
46        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
47        Keyboard.Listen(Key.A, ButtonState.Down,käännäpelaajaa,null,  -10.0 );
48        Keyboard.Listen(Key.A, ButtonState.Released,käännäpelaajaa,null, 0.0 );
49        Keyboard.Listen(Key.D, ButtonState.Down,käännäpelaajaa,null, 10.0);
50        Keyboard.Listen(Key.D, ButtonState.Released,käännäpelaajaa,null,0.0 );
51        Keyboard.Listen(Key.Space, ButtonState.Down, ammu, null);
52        Camera.ZoomFactor = (0.5);
53        olio.AngularVelocity = 5.0;
54     }
55
56     void Valikko()
57    {
58        ClearAll();
59        valikonKohdat = new List<Label>();
60
61        Label kohta1 = new Label("Aloita uusi peli");
62        kohta1.Position = new Vector(0, 40);
63        valikonKohdat.Add(kohta1);
64
65        Label kohta2 = new Label("Lopeta");
66        kohta2.Position = new Vector(0, -40);
67        valikonKohdat.Add(kohta2);
68
69        foreach (Label valikonKohta in valikonKohdat)
70        {
71            Add(valikonKohta);
72        }
73
74        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
75        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
76       
77        Mouse.IsCursorVisible = true;
78        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null);
79        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "");
80    }
81
82    void ValikossaLiikkuminen(AnalogState hiirenTila)
83    {
84        foreach (Label kohta in valikonKohdat)
85        {
86            if (Mouse.IsCursorOn(kohta))
87            {
88                kohta.TextColor = Color.Red;
89            }
90            else
91            {
92                kohta.TextColor = Color.Black;
93            }
94
95        }
96    }
97
98    void AloitaPeli()
99    {
100        ClearAll();
101        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon");
102    }
103
104
105
106
107    void ammu()
108    {
109        pyssy.Shoot();
110       
111 
112    }
113
114    void käännäpelaajaa(double kulmanopeus)
115    {
116        olio.AngularVelocity = kulmanopeus;
117
118    }
119
120    void LiikutaPelaajaa(Vector vektori)
121    {
122        olio.Push(vektori);
123    }
124
125   
126    void LuoPalikka(Vector paikka, double leveys, double korkeus)
127    {
128        PhysicsObject taso = PhysicsObject.CreateStaticObject(
129          leveys, korkeus, Shape.Rectangle);
130        taso.Position = paikka;
131        //taso.Image = groundImage;
132        Add(taso);
133    } 
134
135    PhysicsObject luokari()
136    {
137        PhysicsObject olio = new PhysicsObject(100, 50);
138        olio.Image = olionKuva;
139        olio.Size = new Vector(100.0,150.0);
140        olio.LinearDamping = 0.950;
141        olio.AngularDamping = 0.8;
142        pyssy = new AssaultRifle(60, 20);
143        olio.Add(pyssy);
144        pyssy.Angle += Angle.FromDegrees(5);
145       
146        return olio;
147       
148    }
149    PhysicsObject luosampodiego()
150    {
151        PhysicsObject sampodiego = new PhysicsObject(100, 50);
152        sampodiego.Image = olionKuva;
153        sampodiego.Size = new Vector(100.0, 150);
154        sampodiego.LinearDamping = 0.950;
155        sampodiego.AngularDamping = 0.8;
156
157        FollowerBrain seuraajaAivot = new FollowerBrain(olio);
158        seuraajaAivot.Speed = 250;
159        seuraajaAivot.TargetCloseDistance = 1000;
160        seuraajaAivot.StopWhenTargetClose = false;
161        seuraajaAivot.Active = true;
162        seuraajaAivot.Target = olio;
163        sampodiego.Brain = seuraajaAivot;
164        Brain aivot = new Brain();
165        AssaultRifle pyssy = new AssaultRifle(20, 5);
166        sampodiego.Add(pyssy);
167
168
169
170        //Add (sampodiego);
171       
172        return sampodiego;
173    }
174
175}
Note: See TracBrowser for help on using the repository browser.