source: 2010/23/jaollipa/Blockbuster/Peli.cs @ 700

Revision 700, 3.5 KB checked in by jaollipa, 11 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Blockbuster
7{
8    public class Peli : PhysicsGame
9    {
10
11        PhysicsObject pallo;
12        PhysicsObject maila;
13        Timer BallRebounceTimer;
14        Boolean CheckRebounce;
15        Vector rebound;
16        Boolean LazerCheck;
17        Object LazerPowerUp;
18        Object RocketPowerUp;
19        Object BawlsTimesThree;
20
21        protected override void Begin()
22        {
23            LuoPallo();
24            LuoMaila();
25            AloitaPeli();
26            CreateBlocks();
27
28            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
29            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Kontrollit");
30            Keyboard.Listen(Key.W, ButtonState.Pressed, BallRebounce, "Tönäise palloa");
31            Mouse.Listen(MouseButton.Left, ButtonState.Pressed, ShootLazer, "Ammu lasereita (kun saatavilla). Hiiren vasen näppäin");
32            Mouse.ListenMovement(0.1, KuunteleLiiketta, null);
33            PhysicsObject bottom = PhysicsObject.CreateStaticObject(1000.0, 10.0);
34            bottom.X = 0;
35            bottom.Y = -350;
36            Add(bottom);
37            Level.CreateBorders(1.0, false);
38            Camera.ZoomToLevel();
39        }
40
41        void LuoPallo()
42        {
43            pallo = new PhysicsObject(25.0, 25.0);
44            pallo.Shape = Shapes.Circle;
45            Add(pallo);
46            pallo.Restitution = 1.0;
47            pallo.X = 0;
48            pallo.Y = -250;
49            pallo.KineticFriction = 0.0;
50            AddCollisionHandler(pallo, ProcessBallCrash);
51            AddCollisionHandler(pallo, ProcessBallLoss);
52        }
53
54        void KuunteleLiiketta(AnalogState hiirenTila)
55        {
56            maila.X = Mouse.PositionOnWorld.X;
57        }
58
59        void LuoMaila()
60        {
61            maila = PhysicsObject.CreateStaticObject(100.0, 20.0);
62            maila.Shape = Shapes.Rectangle;
63            Add(maila);
64            maila.Restitution = 1.0;
65            maila.X = 0;
66            maila.Y = -300;
67        }
68
69        void AloitaPeli()
70        {
71            Vector startgame = new Vector(25.0, 300.0);
72            pallo.Hit(startgame);
73            CheckRebounce = true;
74            BallRebounceTimer = new Timer();
75            BallRebounceTimer.Interval = 10;
76            BallRebounceTimer.Trigger +=new Timer.TriggerHandler(TimerBallRebounce);
77            Add(BallRebounceTimer);
78            BallRebounceTimer.Start();
79        }
80
81        void BallRebounce()
82        {
83            if (CheckRebounce == true)
84            {
85                rebound = new Vector(25.0, 300.0);
86                pallo.Hit(rebound);
87                CheckRebounce = false;
88            }
89        }
90
91        void TimerBallRebounce( Timer sender )
92        {
93            CheckRebounce = true;
94        }
95
96        void CreateBlocks()
97        {
98            for (int i = 0; i < 7; i++)
99            {
100                int vali = new int();
101                vali = 140;
102                PhysicsObject block = PhysicsObject.CreateStaticObject(100.0, 20.0);
103                block.X = -425 + i * vali;
104                Add(block);
105            }
106        }
107
108        void ProcessBallCrash(PhysicsObject pallo, PhysicsObject block)
109        {
110
111        }
112
113        void ProcessBallLoss(PhysicsObject pallo, PhysicsObject bottom)
114        {
115            ;
116        }
117
118        void ShootLazer()
119        {
120
121        }
122    }
123}
Note: See TracBrowser for help on using the repository browser.