source: 2016/30/NikoK/Diepiokaks/Diepiokaks/Diepiokaks/Diepiokaks.cs @ 8248

Revision 8248, 4.4 KB checked in by nimikeka, 6 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 Diepiokaks : PhysicsGame
10{
11    Image taustaKuva = LoadImage("ruudukko");
12    Image tankin1Kuva = LoadImage("tankki 1");
13    Image tankin2Kuva = LoadImage("tankki 2");
14    Image tykai1 = LoadImage("diepiotankki");
15    Image tykai2 = LoadImage("diepiotankki");
16    PhysicsObject tankki1;
17    PhysicsObject tankki2;
18
19    Cannon tankin1Tykki;
20    Cannon tankin2Tykki;
21
22
23    public override void Begin()
24    {
25        LuoKenttä();
26        LisaaOhjaimetTankki1();
27        LisaaOhjaimetTankki2();
28    }
29    void LuoKenttä()
30    {
31
32        Level.CreateLeftBorder();
33        Level.CreateRightBorder();
34        Level.CreateBottomBorder();
35        Level.CreateTopBorder();
36
37        Level.Background.Image = taustaKuva;
38        Level.Background.FitToLevel();
39
40        tankki2 = new PhysicsObject(50, 50);
41        tankki2.Shape = Shape.Circle;
42        tankki2.Mass = 5.0;
43        tankki2.Image = tankin2Kuva;
44        tankki2.X = -450.0;
45        tankki2.Y = 0.0;
46        tankin2Tykki = new Cannon(50, 30);
47        tankin2Tykki.InfiniteAmmo = true;
48        tankin2Tykki.ProjectileCollision = AmmusOsui;
49        tankin2Tykki.X = 30.0;
50        tankin2Tykki.Image = tykai2;
51        tankki2.Add(tankin2Tykki);
52        Add(tankki2, 1);
53
54        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
55        tankki1 = new PhysicsObject(50, 50);
56        tankki1.Shape = Shape.Circle;
57        tankki1.Mass = 5.0;
58        tankki1.Image = tankin1Kuva;
59        tankki1.X = 450.0;
60        tankki1.Y = 0.0;
61        tankin1Tykki = new Cannon(50, 30);
62        tankin1Tykki.InfiniteAmmo = true;
63        tankin1Tykki.ProjectileCollision = AmmusOsui;
64        tankin1Tykki.X = -30.0;
65        tankin1Tykki.Image = tykai1;
66        tankki1.Add(tankin1Tykki);
67        Add(tankki1, 1);
68    }
69    void LisaaOhjaimetTankki1()
70    {
71        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia vasemmalle", new Vector(-3000, 0));
72        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia oikealle", new Vector( 3000, 0));
73        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia ylos", new Vector( 0, 3000));
74        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia alas", new Vector( 0, -3000));
75        //Keyboard.Listen (Key.Space, ButtonState.Down, AmmuTankkilla, "Ammu tykilla", new Vector)
76        IsMouseVisible = true;
77        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella");
78
79
80        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia vasemmalle", new Vector(-3000, 0));
81        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaTankkia, "liikuta tankkia oikealle", new Vector(3000, 0));
82        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, LiikutaTankkia, "liikuta tankkia ylos", new Vector(0, 3000));
83        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaTankkia, "Liikuta tankkia alas", new Vector(0, -3000));
84    }
85    void Tahtaa(AnalogState hiirentila)
86    {
87        Vector suunta2 = (Mouse.PositionOnWorld - tankki1.AbsolutePosition).Normalize();
88        tankki1.Angle = suunta2.Angle;
89    }
90    void LisaaOhjaimetTankki2()
91    {
92        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaTankia, "Liikuta tankkia vasemmalle", new Vector(-3000, 0));
93        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaTankia, "liikuta tankkia oikealle", new Vector(3000, 0));
94        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, LiikutaTankia, "liikuta tankkia ylos", new Vector(0, 3000));
95        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaTankia, "Liikuta tankkia alas", new Vector(0, -3000));
96        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, Tahta, "Tähtää aseella");
97    }
98    void Tahta(AnalogState hiirenLiike)
99    {
100       
101    }
102    void LiikutaTankkia(Vector vector)
103    {
104        tankki1.Push(vector);
105    }
106    void LiikutaTankia(Vector vector)
107    {
108        tankki2.Push(vector);
109    }
110    void AmmusOsui(PhysicsObject Ammus, PhysicsObject kohde)
111    {
112        tankki2.Destroy();
113        Ammus.Destroy();
114    }
115    void AmmuTankilla()
116    {
117
118    }
119}
Note: See TracBrowser for help on using the repository browser.