source: 2010/30/jumakall/The_Bus_Game_codetesting/Peli.cs @ 1432

Revision 1407, 3.6 KB checked in by jumakall, 10 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    Image osotinkuva = LoadImage("reittivalitsin");
9
10    PhysicsObject osoitin;
11    PhysicsObject pallo;
12    double palloja;
13    double vaihda;
14    double lisaapallo;
15    double lisaarajaytys;
16
17    protected override void Begin()
18    {
19        osoitin = LuoOsoitin();
20        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Sulje");
21        pallo = LuoPallo();
22
23        Mouse.Listen(MouseButton.Left, ButtonState.Down, Pam, "Luo räjähdys");
24        Camera.ZoomToLevel();
25        Gravity = new Vector(0.0, -500.0);
26        PhysicsObject vasenReuna = Level.CreateLeftBorder();
27        vasenReuna.Restitution = 1.0;
28        vasenReuna.IsVisible = false;
29        PhysicsObject oikeaReuna = Level.CreateRightBorder();
30        oikeaReuna.Restitution = 1.0;
31        oikeaReuna.IsVisible = false;
32        PhysicsObject ylaReuna = Level.CreateTopBorder();
33        ylaReuna.Restitution = 1.0;
34        ylaReuna.IsVisible = false;
35        PhysicsObject alaReuna = Level.CreateBottomBorder();
36        alaReuna.Restitution = 1.0;
37        alaReuna.IsVisible = false;
38        palloja = 0;
39        vaihda = 0;
40        lisaapallo = 0;
41        lisaarajaytys = 0;
42    }
43
44    protected override void Update(Time time)
45    {
46        base.Update(time);
47
48        if (vaihda == 50)
49        {
50            Level.BackgroundColor = RandomGen.NextColor();
51            vaihda = 0;
52        }
53        vaihda++;
54        if (lisaapallo == 1)
55        {
56            if (palloja <= 500)
57            {
58                LuoPallo();
59                palloja++;
60                lisaapallo = 0;
61            }
62        }
63        lisaapallo++;
64        if (osoitin != null)
65        {
66            osoitin.X = Mouse.PositionOnScreen.X;
67            osoitin.Y = Mouse.PositionOnScreen.Y;
68        }
69        if (lisaarajaytys == 10)
70        {
71            randpam();
72            lisaarajaytys = 0;
73        }
74        lisaarajaytys++;
75    }
76
77
78    PhysicsObject LuoOsoitin()
79    {
80        PhysicsObject osoitin = new PhysicsObject(25.0, 25.0);
81        osoitin.Shape = Shapes.Circle;
82        osoitin.Color = Color.White;
83        osoitin.X = Mouse.PositionOnScreen.X;
84        osoitin.Y = Mouse.PositionOnScreen.Y;
85        osoitin.Restitution = 1.0;
86        osoitin.Image = osotinkuva;
87
88        osoitin.IgnoresCollisionResponse = true;
89        osoitin.IgnoresGravity = true;
90        osoitin.IgnoresPhysicsLogics = true;
91        osoitin.IgnoresExplosions = true;
92
93        Add(osoitin);
94
95        return osoitin;
96    }
97
98    PhysicsObject LuoPallo()
99    {
100        PhysicsObject pallo = new PhysicsObject(20.00, 20.00);
101        pallo.Shape = Shapes.Circle;
102        pallo.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
103        // RandomGen.NextDouble(Level.Right, Level.Left); RandomGen.NextDouble(Level.Top, Level.Bottom);
104        /*pallo.X = 0.0;
105        pallo.Y = 0.0;*/
106        pallo.Color = RandomGen.NextColor();
107
108        Add(pallo);
109
110        return pallo;
111    }
112
113    void Pam()
114    {
115        Explosion rajahdys = new Explosion(100.0);
116        rajahdys.Position = Mouse.PositionOnScreen;
117        Add(rajahdys);
118
119        //Lisäasetukset
120        //
121        //rajahdys.Speed = 500.0;
122        //rajahdys.Force = 10000;
123        //rajahdys.ShockwaveColor = Color.Yellow;
124    }
125
126    void randpam()
127    {
128        Explosion rajahdys = new Explosion(100.0);
129        rajahdys.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
130        Add(rajahdys);
131    }
132}
Note: See TracBrowser for help on using the repository browser.