source: 2016/koodauskerho/JereM/MurkkuPeli/MurkkuPeli/MurkkuPeli/MurkkuPeli.cs @ 9357

Revision 9357, 4.0 KB checked in by npo17_80, 23 months ago (diff)

Tehtiin PikkuMurkut? toimiviksi ja tehtiin marjat.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class MurkkuPeli : PhysicsGame
10{
11    PhysicsObject isomurkku;
12    Image taustaKuva = LoadImage("grass");
13
14    Image OlionKuva = LoadImage("isomurkku");
15
16
17
18    public override void Begin()
19    {
20        Level.Width = 1500;
21        Level.Height = 1500;
22
23        Level.Background.Image = taustaKuva;
24        Level.Background.FitToLevel();
25
26        Camera.StayInLevel = true;
27        isomurkku = new PhysicsObject(100.0, 100.0);
28        Add(isomurkku);
29        isomurkku.CanRotate = false;
30        isomurkku.Image = OlionKuva;
31        isomurkku.LinearDamping = 1.00 ;
32        AddCollisionHandler(isomurkku, "marja", SyoMarja);
33        PienetMurkut();
34
35        Marjat
36            ();
37
38
39        Mouse.ListenMovement(0.1, Tahtaa, "tähtää");
40
41
42        IsMouseVisible = true;
43
44        Camera.Follow(isomurkku);
45
46        Camera.Zoom(2.0);
47        // TODO: Kirjoita ohjelmakoodisi tähän
48
49        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
50
51        //Level.CreateBorders();
52        PhysicsObject ylareuna = Level.CreateTopBorder(0.0, false);
53
54        PhysicsObject alareuna = Level.CreateBottomBorder(0.0, false);
55
56        PhysicsObject oikeareuna = Level.CreateRightBorder(0.0, false);
57
58        PhysicsObject vasenreuna = Level.CreateLeftBorder(0.0, false);
59
60
61
62
63
64
65        Keyboard.Listen(Key.Left, ButtonState.Down,
66          LiikutaPelaajaa, null, new Vector(-100, 0));
67        Keyboard.Listen(Key.Right, ButtonState.Down,
68          LiikutaPelaajaa, null, new Vector(100, 0));
69        Keyboard.Listen(Key.Up, ButtonState.Down,
70          LiikutaPelaajaa, null, new Vector(0, 100));
71        Keyboard.Listen(Key.Down, ButtonState.Down,
72          LiikutaPelaajaa, null, new Vector(0, -100));
73    }
74
75
76    void Tahtaa(AnalogState hiirenLiike)
77    {
78        Vector suunta = Mouse.PositionOnWorld - isomurkku.Position;
79        isomurkku.Angle = suunta.Angle;
80    }
81    void PienetMurkut()
82    {
83        PieniMurkku(Level.Left, Level.Top);
84        PieniMurkku(Level.Right, Level.Top);
85        PieniMurkku(Level.Right, Level.Bottom);
86        PieniMurkku(Level.Left, Level.Bottom);
87
88       
89
90    }
91
92    void PieniMurkku(double x, double y)
93    {
94        PhysicsObject pienimurkku = new PhysicsObject(40.0, 40.0);
95        Add(pienimurkku);
96        pienimurkku.Image = OlionKuva;
97
98        pienimurkku.X = x;
99        pienimurkku.Y = y;
100
101        FollowerBrain seuraajanAivot = new FollowerBrain(isomurkku);
102
103        seuraajanAivot.Speed = 150;                 // Millä nopeudella kohdetta seurataan
104        seuraajanAivot.DistanceFar = 6000;           // Etäisyys jolla aletaan seurata kohdetta
105        seuraajanAivot.DistanceClose = 100;         // Etäisyys jolloin ollaan lähellä kohdetta
106        seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta
107        //seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana
108
109        pienimurkku.Brain = seuraajanAivot;
110    }
111
112
113    void LiikutaPelaajaa(Vector vektori)
114    {
115        isomurkku.Push(vektori);
116
117
118    }
119
120
121
122
123    void AsetaOhjaimet()
124    {
125
126    }
127
128    void FollowerBrain()
129    {
130
131       
132    }
133
134    void Marjat()
135    {
136        for (int i = 0; i < 20; i++)
137        {
138
139            Marja();
140           
141        }
142
143    }
144
145    void Marja()
146    {
147        PhysicsObject pallo = new PhysicsObject(15.0, 15.0);
148        Add(pallo);
149        pallo.Color = Color.Red;
150        pallo.Shape = Shape.Circle;
151        pallo.Tag = "marja";
152        pallo.X = RandomGen.NextDouble(Level.Left, Level.Right);
153        pallo.Y = RandomGen.NextDouble(Level.Bottom, Level.Top);
154
155
156    }
157    void Törmäys()
158    {
159
160    }
161
162    void SyoMarja(PhysicsObject tormaaja, PhysicsObject kohde)
163    {
164        kohde.Destroy();
165        MessageDisplay.Add("Sait elämän!");
166    }
167   
168
169
170}
Note: See TracBrowser for help on using the repository browser.