source: 2016/24/TaneliL/2016peli/_2016peli/_2016peli.cs @ 7280

Revision 7280, 2.4 KB checked in by TaLiimat, 3 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 _2016peli : PhysicsGame
10{
11
12    PhysicsObject pelaaja;
13    PhysicsObject alaLaita;
14    PhysicsObject ylaLaita;
15    PhysicsObject vasLaita;
16    PhysicsObject oikLaita;
17
18    AssaultRifle pelaajanAse;
19
20    public override void Begin()
21    { 
22        luoPelaaja();
23        luoMaailma();
24        nappaimet();
25    }
26
27    void luoPelaaja()
28    {
29        pelaaja = new PhysicsObject(50, 50);
30        pelaaja.Shape = Shape.Circle;
31        pelaaja.Y = -320;
32        Add(pelaaja);
33
34        pelaajanAse = new AssaultRifle(20,20);
35        pelaajanAse.FireRate = 10;
36        pelaajanAse.InfiniteAmmo = true;
37        pelaajanAse.ProjectileCollision = ammusOsui;
38        pelaaja.Add(pelaajanAse);
39    }
40
41    void luoMaailma()
42    {
43        alaLaita = PhysicsObject.CreateStaticObject(2000,50);
44        alaLaita.Y = -400;
45        Add(alaLaita);
46
47        ylaLaita = PhysicsObject.CreateStaticObject(2000,50);
48        ylaLaita.Y = 400;
49        Add(ylaLaita);
50
51        vasLaita = PhysicsObject.CreateStaticObject(50, 2000);
52        vasLaita.X = -650;
53        Add(vasLaita);
54
55        oikLaita = PhysicsObject.CreateStaticObject(50, 2000);
56        oikLaita.X = 650;
57        Add(oikLaita);
58    }
59
60    void nappaimet()
61    {
62        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
63        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
64        Keyboard.Listen(Key.W, ButtonState.Down, liikkuminen, null, new Vector(0, 100));
65        Keyboard.Listen(Key.S, ButtonState.Down, liikkuminen, null, new Vector(0, -100));
66        Keyboard.Listen(Key.A, ButtonState.Down, liikkuminen, null, new Vector(-100, 0));
67        Keyboard.Listen(Key.D, ButtonState.Down, liikkuminen, null, new Vector(100, 0));
68        Keyboard.Listen(Key.Space, ButtonState.Down, ammu, "", pelaajanAse);
69    }
70
71    void liikkuminen(Vector suunta)
72    {
73        pelaaja.Push(suunta);
74    }
75
76    void ammu(AssaultRifle pelaajanAse)
77    {
78        PhysicsObject ammus = pelaajanAse.Shoot();
79
80        if (ammus != null)
81        {
82            ammus.Size *= 1;
83
84        }
85    }
86
87    void ammusOsui(PhysicsObject ammus, PhysicsObject kohde)
88    {
89        ammus.Destroy();
90    }
91}
Note: See TracBrowser for help on using the repository browser.