1 | using System; |
---|
2 | using Jypeli; |
---|
3 | using Jypeli.ScreenObjects; |
---|
4 | using Jypeli.Assets; |
---|
5 | /* |
---|
6 | * Author: Simo Haatainen |
---|
7 | */ |
---|
8 | namespace WandererBrainExample |
---|
9 | { |
---|
10 | /// <summary> |
---|
11 | /// Esimerkki WandererBrainin toiminnasta |
---|
12 | /// </summary> |
---|
13 | public class Peli : PhysicsGame |
---|
14 | { |
---|
15 | protected override void Begin() |
---|
16 | { |
---|
17 | // Luodaa uusi pallo peliolio ja asetetaan sen muodoksi |
---|
18 | // ympyrä ja alkusijainniksi kentän keskipiste. |
---|
19 | |
---|
20 | PhysicsObject pallo = new PhysicsObject(40, 40); // Luodaan uusi fysiikkaolio |
---|
21 | pallo.Shape = Shapes.Circle; // Asetetaan olion muodoksi ympyrä |
---|
22 | pallo.Position = new Vector(0, 0); // Asetetaan olion aloituspisteeksi kentän keskipiste |
---|
23 | Add(pallo); // Lopuksi lisätään pallo kentälle |
---|
24 | |
---|
25 | // Luodaan uudet vaeltajatyyppiset aivot |
---|
26 | WandererBrain vaeltajanAivot = new WandererBrain(); |
---|
27 | |
---|
28 | // Luodaan pisteet joissa olion halutaan käyvän |
---|
29 | Vector piste1 = new Vector(-200, -200); |
---|
30 | Vector piste2 = new Vector(200, 200); |
---|
31 | Vector piste3 = new Vector(100, -100); |
---|
32 | |
---|
33 | // Lisätään aivoille pisteet joissa olion halutaan käyvän |
---|
34 | vaeltajanAivot.Add(piste1, piste2, piste3); |
---|
35 | |
---|
36 | // Asetetaan aivot aktiiviseksi |
---|
37 | vaeltajanAivot.Active = true; |
---|
38 | |
---|
39 | // Asetetaan vaeltajalle liikkumisnopeus |
---|
40 | vaeltajanAivot.MovingSpeed = 200; |
---|
41 | |
---|
42 | // Asetetaan pallon aivoiksi vaeltajan aivot |
---|
43 | pallo.Brain = vaeltajanAivot; |
---|
44 | |
---|
45 | // Piirretään pisteet joissa olio käy |
---|
46 | piirraPiste(piste1,"1"); |
---|
47 | piirraPiste(piste2,"2"); |
---|
48 | piirraPiste(piste3,"3"); |
---|
49 | } |
---|
50 | |
---|
51 | /// <summary> |
---|
52 | /// Aliohjelma, jolla piirretään pallon kiertämät pisteet |
---|
53 | /// </summary> |
---|
54 | /// <param name="pos">Pisteen sijainti</param> |
---|
55 | void piirraPiste(Vector pos, String numero) |
---|
56 | { |
---|
57 | GameObject piste = new GameObject(10, 10, Shapes.Circle); |
---|
58 | TextDisplay pisteNumero = new TextDisplay(); |
---|
59 | pisteNumero.Position = pos + new Vector(15, 15); |
---|
60 | pisteNumero.TextColor = Color.Red; |
---|
61 | pisteNumero.Text = numero; |
---|
62 | Add(pisteNumero); |
---|
63 | piste.Position = pos; |
---|
64 | piste.Color = Color.Red; |
---|
65 | Add(piste); |
---|
66 | } |
---|
67 | } |
---|
68 | } |
---|