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

Revision 1403, 3.2 KB checked in by jumakall, 13 years ago (diff)

The Bus Gamen kehittelyä

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
16    protected override void Begin()
17    {
18        osoitin = LuoOsoitin();
19        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Sulje");
20        pallo = LuoPallo();
21
22        Mouse.Listen(MouseButton.Left, ButtonState.Down, Pam, "Luo räjähdys");
23        Camera.ZoomToLevel();
24        Gravity = new Vector(0.0, -500.0);
25        PhysicsObject vasenReuna = Level.CreateLeftBorder();
26        vasenReuna.Restitution = 1.0;
27        vasenReuna.IsVisible = false;
28        PhysicsObject oikeaReuna = Level.CreateRightBorder();
29        oikeaReuna.Restitution = 1.0;
30        oikeaReuna.IsVisible = false;
31        PhysicsObject ylaReuna = Level.CreateTopBorder();
32        ylaReuna.Restitution = 1.0;
33        ylaReuna.IsVisible = false;
34        PhysicsObject alaReuna = Level.CreateBottomBorder();
35        alaReuna.Restitution = 1.0;
36        alaReuna.IsVisible = false;
37        palloja = 0;
38        vaihda = 0;
39        lisaapallo = 0;
40    }
41
42    protected override void Update(Time time)
43    {
44        base.Update(time);
45
46        if (vaihda == 50)
47        {
48            Level.BackgroundColor = RandomGen.NextColor();
49            vaihda = 0;
50        }
51        vaihda++;
52        if (lisaapallo == 10)
53        {
54            if (palloja <= 200)
55            {
56                LuoPallo();
57                palloja++;
58                lisaapallo = 0;
59            }
60        }
61        lisaapallo++;
62        if (osoitin != null)
63        {
64            osoitin.X = Mouse.PositionOnScreen.X;
65            osoitin.Y = Mouse.PositionOnScreen.Y;
66        }
67
68    }
69
70
71    PhysicsObject LuoOsoitin()
72    {
73        PhysicsObject osoitin = new PhysicsObject(25.0, 25.0);
74        osoitin.Shape = Shapes.Circle;
75        osoitin.Color = Color.White;
76        osoitin.X = Mouse.PositionOnScreen.X;
77        osoitin.Y = Mouse.PositionOnScreen.Y;
78        osoitin.Restitution = 1.0;
79        osoitin.Image = osotinkuva;
80
81        osoitin.IgnoresCollisionResponse = true;
82        osoitin.IgnoresGravity = true;
83        osoitin.IgnoresPhysicsLogics = true;
84        osoitin.IgnoresExplosions = true;
85
86        Add(osoitin);
87
88        return osoitin;
89    }
90
91    PhysicsObject LuoPallo()
92    {
93        PhysicsObject pallo = new PhysicsObject(20.00, 20.00);
94        pallo.Shape = Shapes.Circle;
95        pallo.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
96        // RandomGen.NextDouble(Level.Right, Level.Left); RandomGen.NextDouble(Level.Top, Level.Bottom);
97        /*pallo.X = 0.0;
98        pallo.Y = 0.0;*/
99        pallo.Color = RandomGen.NextColor();
100
101        Add(pallo);
102
103        return pallo;
104    }
105
106    void Pam()
107    {
108        Explosion rajahdys = new Explosion(100.0);
109        rajahdys.Position = Mouse.PositionOnScreen;
110        Add(rajahdys);
111
112        //Lisäasetukset
113        //
114        //rajahdys.Speed = 500.0;
115        //rajahdys.Force = 10000;
116        //rajahdys.ShockwaveColor = Color.Yellow;
117    }
118}
Note: See TracBrowser for help on using the repository browser.