source: 2015/27/JesseS/VoltsTank/VoltsTank/VoltsTank/VoltsTank.cs @ 6668

Revision 6668, 3.2 KB checked in by jesirkia, 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 VoltsTank : PhysicsGame
10{
11    AssaultRifle pelaajan1Ase;
12    PhysicsObject pelaaja1;
13    PhysicsObject pelaaja2;
14
15    Image ammuksenKuva = LoadImage("Ammus");
16
17    double maxNopeus = 1500.0;
18
19    public override void Begin()
20    {
21        IsFullScreen = true;
22
23        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Quit game");
24        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Quit game");
25
26        Grenade kranaatti = new Grenade(4.0);
27
28        LuoPelaaja1();
29        LuoPelaaja2();
30
31        pelaajan1Ase = new AssaultRifle(30, 10);
32
33        pelaajan1Ase.Ammo.Value = 1000;
34
35        pelaajan1Ase.ProjectileCollision = AmmusOsui;
36
37        pelaaja1.Add(pelaajan1Ase);
38       
39        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1,
40  LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja1);
41
42        ControllerOne.ListenAnalog(AnalogControl.RightTrigger, 0.1,
43        AmmuTykilla, "Käytä oikeaa liipasinta ampumisen tavoin.", pelaaja1);
44
45        ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1,
46    LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja2);
47
48        ControllerTwo.ListenAnalog(AnalogControl.RightTrigger, 0.1,
49        AmmuTykilla, "Käytä oikeaa liipasinta ampumisen tavoin.", pelaaja2);
50
51        ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase);
52        ControllerOne.Listen(Button.LeftTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase);
53
54        //ControllerTwo.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaajan2Ase);
55        //ControllerTwo.Listen(Button.LeftTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaajan2Ase);
56    }
57    void LiikutaPelaajaa(AnalogState tatinTila, PhysicsObject pelaaja)
58    {
59        pelaaja.Angle = tatinTila.StateVector.Angle;
60        pelaaja.Move(tatinTila.StateVector * maxNopeus);
61
62    }
63    void AmmuTykilla(AnalogState liipasimenTila, PhysicsObject pelaaja)
64    {
65        double liipasimenAsento = liipasimenTila.State;
66    }
67    void LuoPelaaja1()
68    {
69        pelaaja1 = new PhysicsObject(40, 40);
70        pelaaja1.LinearDamping = 0.1;
71        pelaaja1.AngularDamping = 0.1;
72        Add(pelaaja1);
73
74    }
75    void LuoPelaaja2()
76    {
77        pelaaja2 = new PhysicsObject(40, 40);
78        pelaaja2.LinearDamping = 0.1;
79        pelaaja2.AngularDamping = 0.1;
80        Add(pelaaja2);
81
82    }
83
84    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
85    {
86        ammus.Destroy();
87    }
88    void AmmuAseella(AssaultRifle ase)
89    {
90        PhysicsObject ammus = ase.Shoot();
91
92        if (ammus != null)
93        {
94            ammus.Size *= 1;
95            ammus.Image = ammuksenKuva;
96            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.5);
97        }
98        if (ammus != null)
99        {
100            ammus.Size *= 1;
101            ammus.Image = ammuksenKuva;
102            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.5);
103        }
104    }
105}
Note: See TracBrowser for help on using the repository browser.