source: 2014/30/SimonG/OmaPeli2014/OmaPeli2014/OmaPeli2014/OmaPeli2014.cs @ 5571

Revision 5571, 2.9 KB checked in by sidatogr, 7 years ago (diff)

Resoluutio vaihdettu ja tähtäys laitettu

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class OmaPeli2014 : PhysicsGame
10{
11    PhysicsObject Pelaaja;
12    AssaultRifle PelaajanAse;
13
14
15    public override void Begin()
16    {
17        IsMouseVisible = true;
18        Luokentta();
19        LuoHyokkaaja();
20        SetWindowSize (800, 600);
21        LuoHyokkaaja();
22        LuoHyokkaaja();
23        LuoHyokkaaja();
24        LuoHyokkaaja();
25        LuoHyokkaaja();
26        LuoHyokkaaja();
27
28        Level.CreateBorders ();
29        Camera.ZoomToLevel();
30
31       
32       
33
34        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
35        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
36        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
37        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
38       
39        Level.Background.Color = Color.DarkForestGreen;
40
41        // TODO: Kirjoita ohjelmakoodisi tähän
42       
43        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
44        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
45    }
46    void LiikutaPelaajaa(Vector vektori)
47    {
48        Pelaaja.Push(vektori);
49    }
50    void Luokentta()
51    {
52        Pelaaja = new PhysicsObject(60, 60);
53        Pelaaja.Shape = Shape.Circle;
54        Pelaaja.Color = Color.Blue;
55        Pelaaja.Tag = "Pelaaja";
56        Add(Pelaaja);
57        Pelaaja.LinearDamping = 0.9;
58       
59        PelaajanAse = new AssaultRifle(70, 30);
60        PelaajanAse.Ammo.Value = 10000;
61        PelaajanAse.ProjectileCollision = AmmusOsui;
62        Pelaaja.Add(PelaajanAse);
63        PelaajanAse.AttackSound = null;
64
65
66        Mouse.Listen (MouseButton.Left, ButtonState.Pressed, AmmuAseella, "Ammu", PelaajanAse);
67
68        Mouse.ListenMovement(0.0, Tahtaa, "Tähtää aseella");
69
70    }
71    void LuoHyokkaaja()
72    {
73        PhysicsObject Hyokkaaja = new PhysicsObject(50, 50);
74        Hyokkaaja.Shape = Shape.Circle;
75        Hyokkaaja.Color = Color.MediumPurple;
76        Hyokkaaja.Tag = "Hyokkaaja";
77        FollowerBrain seuraajanAivot = new FollowerBrain("Hyokkaaja");
78        Add(Hyokkaaja);
79
80        Hyokkaaja.X = RandomGen.NextDouble(Level.Left,Level.Left + 50);
81        Hyokkaaja.Y = RandomGen.NextDouble(Level.Top, Level.Bottom);
82    }
83    void Tahtaa(AnalogState hiirenliike)
84    {
85        Vector suunta = (Mouse.PositionOnWorld - PelaajanAse.AbsolutePosition).Normalize();
86        PelaajanAse.AbsoluteAngle = suunta.Angle;
87    }
88    void AmmusOsui(PhysicsObject ammus, PhysicsObject Hyokkaaja)
89    {
90        ammus.Destroy();
91        if (Hyokkaaja.Tag.Equals("Hyokkaaja")) Hyokkaaja.Destroy();
92    }
93    void AmmuAseella(AssaultRifle ase)
94    {
95        PhysicsObject ammus = ase.Shoot();
96    }
97
98}
Note: See TracBrowser for help on using the repository browser.