source: 2016/30/luennot/Pallopeli/Pallopeli/Pallopeli/Pallopeli.cs @ 8112

Revision 8112, 2.6 KB checked in by jotapoti, 3 years ago (diff)

Viholliselle kuva, viholliseen voi tormata jolloin vihu kasvaa isommaksi.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Pallopeli : PhysicsGame
10{
11    PhysicsObject pelaaja1;
12    Image pelaajanKuva = LoadImage("pinkman");
13    Image vihollisenKuva = LoadImage("vihu");
14
15    public override void Begin()
16    {
17        SmoothTextures = false;
18
19        Level.CreateBorders();
20
21        LuoVihollinen();
22
23        LuoPallo(-100.0, -20.5, Color.HotPink);
24        LuoPallo(200.0, 0.0, Color.MidnightBlue);
25        LuoPallo(150.0, 0.0, Color.Green);
26        LuoPallo(150.0, 400.0, Color.MediumVioletRed);
27
28        LisaaPelaaja();
29
30        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
31        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
32        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Liiku vasemmalle", new Vector(-1000, 0));
33        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Liiku oikealle", new Vector(1000, 0));
34        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Liiku ylös", new Vector(0, 1000));
35        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "Liiku alas", new Vector(0, -1000));
36    }
37
38    void LiikutaPelaajaa(Vector vektori)
39    {
40        pelaaja1.Push(vektori);
41    }
42    void LisaaPelaaja()
43    {
44        pelaaja1 = new PhysicsObject(40.0, 40.0);
45        pelaaja1.CanRotate = false;
46        pelaaja1.Image = pelaajanKuva;
47        Add(pelaaja1);
48        AddCollisionHandler(pelaaja1, "pallura", PelaajaTormaaPalloon);
49        AddCollisionHandler(pelaaja1, "vihu", PelaajaTormaaVihuun);
50    }
51
52    void PelaajaTormaaPalloon(PhysicsObject pelaajahahmo, PhysicsObject pallonen)
53    {
54        pallonen.Destroy();
55        pelaajahahmo.Size *= 1.5;
56    }
57
58    void PelaajaTormaaVihuun(PhysicsObject pelaajahahmo, PhysicsObject pahis)
59    {
60        pahis.Size *= 1.5;
61        pelaajahahmo.Size *= 0.5;
62    }
63
64    void LuoPallo(double xkoordinaatti, double ykoordinaatti, Color vari)
65    {
66        PhysicsObject pallo = new PhysicsObject(50.0, 50.0, Shape.Circle);
67        pallo.Color = vari;
68        pallo.X = xkoordinaatti;
69        pallo.Y = ykoordinaatti;
70        pallo.Tag = "pallura";
71        Add(pallo);
72    }
73
74    void LuoVihollinen()
75    {
76        PhysicsObject vihollinen = new PhysicsObject(50.0, 50.0);
77        vihollinen.X = 400.0;
78        vihollinen.Y = 0.0;
79        vihollinen.Image = vihollisenKuva;
80        vihollinen.Tag = "vihu";
81        Add(vihollinen);
82    }
83}
Note: See TracBrowser for help on using the repository browser.