source: 2017/30/HugoE/HanniAndHoo/HanniAndHoo/HanniAndHoo/HanniAndHoo.cs @ 9118

Revision 9118, 3.6 KB checked in by npo17_65, 23 months ago (diff)

Hoo pystyy liikkkumaan ja Hannin ase toimii.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class HanniAndHoo : PhysicsGame
10{
11     Image HanninKuva = LoadImage("Hanni");
12     Image HoonKuva = LoadImage("Hoo");
13
14    AssaultRifle HanninAse;
15
16    AssaultRifle HoonAse;
17   
18
19   
20    PlatformCharacter Hanni;
21    PhysicsObject Hoo;
22   
23    public override void Begin()
24    {
25        LuoKentta();
26        LuoNappaimet();
27        LuoPelaajat();
28
29        AmmuAseella(HanninAse);
30
31
32
33
34
35
36    }
37
38    void LuoPelaajat()
39    {
40
41        Hanni = new PlatformCharacter(80.0, 80.0);
42        Hanni.X = Level.Left + 20.0;
43        Hanni.Y = 0.0;
44        Hanni.Shape = Shape.Circle;
45        Hanni.Color = Color.Blue;
46        Hanni.Image = HanninKuva;
47        Hanni.CanRotate = false;
48        Add(Hanni);
49        HanninAse = new AssaultRifle(60, 20);
50        HanninAse.ProjectileCollision = AmmusOsui;
51        HanninAse.X += 50;
52        Hanni.Add(HanninAse);
53
54               
55        Hoo = new PlatformCharacter (100.0, 100.0);
56        Hoo.X = Level.Right - 20.0;
57        Hoo.Y = 0.0;
58        Hoo.Shape = Shape.Circle;
59        Hoo.Color = Color.Red;
60        Hoo.Image = HoonKuva;
61        Hoo.CanRotate = false;
62        Add(Hoo);
63        HoonAse = new AssaultRifle(90, 30);
64        HoonAse.ProjectileCollision = AmmusOsui;
65        HoonAse.X += 50;
66        HoonAse.Y -= 10;
67        Hoo.Add(HoonAse);
68    }
69
70    void AmmusOsui(PhysicsObject Ammus, PhysicsObject Kohde)
71    {
72        //Ammus.Destroy, Kohde;
73
74    }
75    void LuoNappaimet()
76    {
77        Keyboard.Listen(Key.W, ButtonState.Pressed, LiikutaHannia, null, new Vector(0, 700));
78        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaHannia, null, new Vector(500.0, 0.0));
79        Keyboard.Listen(Key.D, ButtonState.Released, LiikutaHannia, null, new Vector(0, 0));
80        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaHannia, null, new Vector(-500, 0));
81        Keyboard.Listen(Key.A, ButtonState.Released, LiikutaHannia, null, new Vector(0, 0));
82
83
84        Keyboard.Listen(Key.Up, ButtonState.Pressed, LiikutaHoota, null, new Vector(0, 700));
85        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaHoota, null, new Vector(500.0, 0.0));
86        Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaHoota, null, new Vector(0, 0));
87        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaHoota, null, new Vector(-500, 0));
88        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaHoota, null, new Vector(0, 0));
89
90
91
92        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
93
94    }
95    void LuoKentta()
96    {
97        Gravity = new Vector(0.0, -800.0);
98
99       
100        PhysicsObject AlaReuna = Level.CreateBottomBorder(0.0, false);
101        PhysicsObject OikeaReuna = Level.CreateRightBorder(0.0, false);
102        PhysicsObject VasenReuna = Level.CreateLeftBorder(0.0, false);
103
104       
105       
106
107       
108    }
109
110
111
112    void LiikutaHannia(Vector vektori)
113    {
114        Hanni.Velocity = (vektori);
115       
116
117    }
118    void LiikutaHoota(Vector vektori)
119    {
120        Hoo.Velocity = (vektori);
121    }
122
123    void AmmuAseella(AssaultRifle HanninAse)
124    {
125        PhysicsObject Ammus = HanninAse.Shoot();
126        Keyboard.Listen(Key.Space, ButtonState.Pressed, AmmuAseella, "Ammu", HanninAse);
127
128        if (Ammus != null)
129        {
130            Ammus.Size *= 3;
131            Ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
132
133        }
134
135
136    }
137
138
139
140
141
142
143
144
145
146
147
148
149}
Note: See TracBrowser for help on using the repository browser.