source: 2016/25/TeroP/Pong/Pong/Pong/Pong.cs @ 7482

Revision 7482, 2.7 KB checked in by tesatapa, 5 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 Pong : PhysicsGame
10{
11    PhysicsObject pelaaja;
12    public override void Begin()
13    {
14        //bit.ly/pelikurssi
15
16        LuoMontaPalloa();
17        pelaaja = LuoPallo(0, 0, Shape.Triangle, Color.Emerald);
18        pelaaja.Width = 100;
19        pelaaja.MakeStatic();
20        pelaaja.IgnoresGravity = true;
21
22
23        AddCollisionHandler(pelaaja, "pallo", SyoPallo);
24        AddCollisionHandler(pelaaja, "pieni", CollisionHandler.DestroyTarget);
25        Mouse.ListenMovement(0.01, HiiriLiikkuu, "Seurataan hiiren liikettä, jotta kolmiota voi liikuttaa");
26
27        // pallo.Color = Color.Red;
28        Level.Background.CreateGradient(Color.Black, Color.Blue);
29
30        Gravity = new Vector(0, -500);
31
32        Level.CreateBorders();
33
34        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
35        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
36    }
37
38
39    void AliohjelmanNimi()
40    {
41
42    }
43
44
45    void SyoPallo(PhysicsObject pelaajaHahmo, PhysicsObject kohde)
46    {
47        PhysicsObject pieni = LuoPallo(kohde.X + 25, kohde.Y, kohde.Shape, kohde.Color);
48        pieni.Width = kohde.Width / 3.0;
49        pieni.Height = kohde.Height / 3.0;
50        pieni.Tag = "pieni";
51
52        PhysicsObject pieni2 = LuoPallo(kohde.X + 25, kohde.Y + 25, kohde.Shape, kohde.Color);
53        pieni2.Width = kohde.Width / 3.0;
54        pieni2.Height = kohde.Height / 3.0;
55        pieni2.Tag = "pieni";
56
57        PhysicsObject pieni3 = LuoPallo(kohde.X, kohde.Y + 25, kohde.Shape, kohde.Color);
58        pieni3.Width = kohde.Width / 3.0;
59        pieni3.Height = kohde.Height / 3.0;
60        pieni3.Tag = "pieni";
61
62        kohde.Destroy();
63       
64    }
65
66    void HiiriLiikkuu(AnalogState muutos)
67    {
68        pelaaja.Position = Mouse.PositionOnWorld;
69    }
70
71    PhysicsObject LuoPallo(double x, double y, Shape muoto, Color vari)
72    {
73        PhysicsObject pallo = new PhysicsObject(50, 50);
74        pallo.Shape = muoto;
75        pallo.X = x;
76        pallo.Y = y;
77        pallo.Color = vari;
78        pallo.Tag = "pallo";
79        Add(pallo);
80        return pallo;
81    }
82
83    void LuoMontaPalloa()
84    {
85
86        for (int i = 0; i < 100; i++)
87        {
88            double x = RandomGen.NextDouble(Level.Left, Level.Right);
89            double y = RandomGen.NextDouble(Level.Bottom, Level.Top);
90            LuoPallo(x, y, RandomGen.SelectOne(Shape.Heart, Shape.Octagon, Shape.Hexagon, Shape.Pentagon, Shape.Star), RandomGen.NextColor());
91        }
92       
93       
94    }
95}
Note: See TracBrowser for help on using the repository browser.