source: 2015/24/JouniP/JouninHienoFysiikkapeli/JouninHienoFysiikkapeli/JouninHienoFysiikkapeli/JouninHienoFysiikkapeli.cs @ 6021

Revision 6021, 2.9 KB checked in by jotapoti, 4 years ago (diff)

Esimerkkiohjelmat lisätty

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class JouninHienoFysiikkapeli : PhysicsGame
10{
11    public override void Begin()
12    {
13        IsFullScreen = true;
14        //SetWindowSize(800, 600);
15
16        Level.CreateBorders();
17        PhysicsObject ympyra = LuoOlio(140.0, 76.0, Color.Red, Shape.Circle);
18        ympyra.Tag = "hyvis";
19       
20        Vector impulssi = new Vector(100, 0);
21        ympyra.Hit(impulssi);
22
23        LuoOlio(290.0, 76.0, Color.Black, Shape.Rectangle);
24
25        LuoOlio(0.0, 0.0, Color.Black, Shape.Diamond);
26
27        for (int i = 0; i < 100; i++)
28        {
29            LuoOlio(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top), RandomGen.NextColor(), Shape.Circle);
30        }
31
32        for (int i = 0; i < 10; i++)
33        {
34            PhysicsObject luotuPallo = LuoOlio(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top), RandomGen.NextColor(), Shape.Circle);
35            luotuPallo.Tag = "hyvis";
36            AddCollisionHandler(luotuPallo, "pahis", TeeRajahdys);
37        }
38        // luodaan pallo:
39        //PhysicsObject pallo2 = new PhysicsObject(50, 50);
40        //pallo2.Shape = Shape.Circle;
41        //pallo2.Position = new Vector(140, 76);
42        //pallo2.Color = Color.White;
43        //Add(pallo2);
44
45        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
46        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
47        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
48        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Liiku ylös", ympyra, new Vector(0, 10));
49        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "Liiku alas", ympyra, new Vector(0, -10));
50        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Liiku vasemmalle", ympyra, new Vector(-10, 0));
51        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Liiku oikealle", ympyra, new Vector(10, 0));
52
53        AddCollisionHandler(ympyra, "pahis", TeeRajahdys);
54
55    }
56   
57    void LiikutaPelaajaa(PhysicsObject pelaaja, Vector voima)
58    {
59       pelaaja.Hit(voima);
60    }
61
62    void TeeRajahdys(PhysicsObject tormaaja, PhysicsObject kohde)
63    {
64       
65        Explosion rajahdys = new Explosion(500);
66        rajahdys.Position = kohde.Position;
67        kohde.Destroy();
68        Add(rajahdys);
69    }
70
71    PhysicsObject LuoOlio(double x, double y, Color vari, Shape muoto)
72    {
73        // luodaan uusi olio:
74        PhysicsObject uusiOlio = new PhysicsObject(50, 50);
75        uusiOlio.Shape = muoto;
76        uusiOlio.Position = new Vector(x, y);
77        uusiOlio.Color = vari;
78        uusiOlio.Tag = "pahis";
79        Add(uusiOlio);
80        return uusiOlio;
81    }
82
83}
Note: See TracBrowser for help on using the repository browser.