source: 2016/30/TimoH/JamaicanBoksi3000/JamaicanBoksi3000/JamaicanBoksi3000/JamaicanBoksi3000.cs @ 8107

Revision 8107, 2.8 KB checked in by tihaapas, 3 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class JamaicanBoksi3000 : PhysicsGame
10{
11    SortedList<char, Vector> polku;
12    IntMeter raha;
13        int tornihinta = 600;
14
15    public override void Begin()
16    {
17        LuoKenttä();
18        LuoRahaLaskuri();
19        AsetaOhjaimet();
20
21        Timer vihuAjastin = new Timer();
22        vihuAjastin.Interval = 0.5;
23        vihuAjastin.Timeout += LuoVihollinen;
24        vihuAjastin.Start();
25
26        IsMouseVisible = true;
27
28
29       
30    }
31
32    void AsetaOhjaimet()
33    {
34        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, OstaTorni, "Rakenna uusi torni");
35
36
37
38        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
39
40    }
41
42    void OstaTorni()
43    {
44        if (raha.Value >= tornihinta)
45        {
46            raha.Value -= tornihinta;
47
48            GameObject torni = new GameObject(50, 100);
49            torni.Color = Color.Green;
50            torni.Position = Mouse.PositionOnWorld;
51            Add(torni);
52
53        }
54
55    }
56
57    void LuoKenttä()
58    {
59        polku = new SortedList<char, Vector>();
60
61        TileMap ruudut = TileMap.FromLevelAsset("Jamaicanboksi1");
62        ruudut.SetTileMethod('%', LuoPolku);
63       
64
65        for (char merkki = 'A'; merkki <= 'Z'; merkki++)
66        {
67            ruudut.SetTileMethod(merkki, LuoKulma, merkki);
68        }
69        ruudut.Execute(30, 30);
70
71        Camera.ZoomToAllObjects();
72
73    }
74
75   
76
77    void LuoPolku(Vector paikka , double leveys, double korkeus)
78    {
79        GameObject polku = new GameObject(leveys, korkeus);
80     polku.Position = paikka;
81       Add(polku, -1);
82
83    }
84
85    void LuoKulma(Vector paikka, double leveys, double korkeus, char merkki)
86    {
87        polku.Add(merkki, paikka);
88        LuoPolku(paikka, leveys, korkeus);
89    }
90
91    void LuoVihollinen()
92    {
93        PhysicsObject vihu = new PhysicsObject(50, 50);
94        vihu.Color = Color.Red;
95        vihu.Shape = Shape.Circle;
96        vihu.Position = polku.Values[0];
97        Add(vihu);
98
99        PathFollowerBrain polkuAivot = new PathFollowerBrain(new List<Vector>(polku.Values));
100        polkuAivot.Speed = 200;
101        vihu.Brain = polkuAivot;
102    }
103
104    void LuoRahaLaskuri()
105    {
106        raha = new IntMeter(100);
107
108        Label rahaNautto = new Label(raha);
109        rahaNautto.Left = Screen.Left + 100;
110        rahaNautto.Top = Screen.Top - 100;
111        rahaNautto.IntFormatString = "Jamaican Dollars: {0}";
112        Add(rahaNautto);
113
114        Timer rahaAjastin = new Timer();
115        rahaAjastin.Interval = 0.25;
116        rahaAjastin.Timeout += delegate { raha.Value += 50; };
117        rahaAjastin.Start();
118
119    }
120
121
122}
Note: See TracBrowser for help on using the repository browser.