source: 2013/27/Emil-AleksiK/Pong/Pong/Pong/Pong.cs @ 4376

Revision 4376, 3.1 KB checked in by juiitamm, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Pong : PhysicsGame
10{
11    PhysicsObject pallo;
12    PhysicsObject maila;
13    Image laatikkokuva = LoadImage("laatikko");
14    public override void Begin()
15    {
16        Level.Width *= 1.4;
17        starttaa();
18        aloita();
19       
20       
21
22        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
23        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
24        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "", new Vector(300, 0));
25        Keyboard.Listen(Key.Right, ButtonState.Released, liikuta, "", Vector.Zero);
26        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "", new Vector(-300, 0));
27        Keyboard.Listen(Key.Left, ButtonState.Released, liikuta, "", Vector.Zero);
28    }
29    void aloita()
30    {
31        Gravity = new Vector(0, -200);
32        //Vector impulssi = new Vector(0.0, -412.0);
33        //pallo.Hit(impulssi);
34    }
35    void liikuta(Vector suunta)
36    {
37        if (maila.Right > Level.Right && suunta.X >0)
38        {
39            maila.Velocity = Vector.Zero;
40            return;
41        }
42        if (maila.Left < Level.Left && suunta.X < 0)
43        {
44            maila.Velocity = Vector.Zero;
45            return;
46        }
47        maila.Velocity = suunta;
48    }
49
50    void starttaa()
51    {
52       
53
54        TileMap kentta = TileMap.FromLevelAsset("kentta1");
55        kentta.SetTileMethod('o', luo_laatikko);
56        kentta.SetTileMethod('k', luo_pallo);
57        kentta.SetTileMethod('p', luo_maila);
58        kentta.Execute(40,40);
59       
60        Level.CreateBorders(0.9, false);
61        pallo.Restitution = 1.5;
62        Level.BackgroundColor = Color.Green;
63        Camera.ZoomToLevel();
64        IsMouseVisible = true;
65       
66
67    }
68
69    void luo_laatikko(Vector paikka, double leveys, double korkeus)
70    {
71        PhysicsObject laatikko= PhysicsObject.CreateStaticObject(leveys, korkeus);
72        laatikko.Position = paikka;
73        laatikko.Image = laatikkokuva;
74        laatikko.Tag = "laatikko";
75        Add(laatikko);
76    }
77
78    void luo_pallo(Vector paikka, double leveys, double korkeus)
79    {
80        pallo = new PhysicsObject(leveys, korkeus);
81        Add(pallo);
82        pallo.Shape = Shape.Circle;
83        pallo.Color = Color.Red;
84        pallo.Position = paikka;
85        AddCollisionHandler(pallo, "laatikko", törmäys);
86    }
87    void luo_maila(Vector paikka, double leveys, double korkeus)
88    {
89        maila = PhysicsObject.CreateStaticObject(leveys*3, korkeus);
90        maila.Shape = Shape.Rectangle;
91        maila.Position = paikka;
92        maila.Restitution = 3.0;
93        Add(maila);
94    }
95
96    void törmäys(PhysicsObject pallo,PhysicsObject laatikko)
97    {
98        Explosion rajahdys = new Explosion(100);
99        rajahdys.Position = laatikko.Position;
100        rajahdys.UseShockWave = false;
101        Add(rajahdys);
102        laatikko.Destroy();
103
104    }
105
106}
107
Note: See TracBrowser for help on using the repository browser.