source: 2017/24/ViljamiM/Zombodroid/Zombodroid/Zombodroid/Zombodroid.cs @ 8603

Revision 8603, 3.3 KB checked in by npo17_18, 2 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 Zombodroid : PhysicsGame
10{
11    PhysicsObject matti;
12    bool vasenPyssy = true;
13
14    public override void Begin()
15    {
16        AsetaOhjaimet();
17        AsetaHenkilot();
18
19        Mappi();
20
21        Camera.Follow(matti);
22
23        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella");
24
25        IsMouseVisible = true;
26
27    }
28    void AsetaOhjaimet()
29    {
30        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
31
32        Keyboard.Listen(Key.A, ButtonState.Down,
33   LiikutaPelaajaa, null, new Vector(-220, 0));
34        Keyboard.Listen(Key.D, ButtonState.Down,
35          LiikutaPelaajaa, null, new Vector(220, 0));
36        Keyboard.Listen(Key.W, ButtonState.Down,
37          LiikuEteen, null);
38        Keyboard.Listen(Key.S, ButtonState.Down,
39          LiikutaPelaajaa, null, new Vector(0, -220));
40
41        Keyboard.Listen(Key.A, ButtonState.Released,
42   LiikutaPelaajaa, null, Vector.Zero);
43        Keyboard.Listen(Key.D, ButtonState.Released,
44         LiikutaPelaajaa, null, Vector.Zero);
45        Keyboard.Listen(Key.W, ButtonState.Released,
46          LiikutaPelaajaa, null, Vector.Zero);
47        Keyboard.Listen(Key.S, ButtonState.Released,
48          LiikutaPelaajaa, null, Vector.Zero);
49
50        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, null);
51
52
53    }
54    void AsetaHenkilot()
55    {
56        matti = new PhysicsObject(75, 75);
57        matti.Image = LoadImage("oikeeukkeli");
58        Add(matti);
59        matti.CanRotate = false;
60    }
61
62    void LiikutaPelaajaa(Vector vektori)
63    {
64        matti.Move(vektori);
65    }
66    void Tahtaa(AnalogState hiirenLiike)
67    {
68        Vector suunta = (Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize();
69        matti.Angle = suunta.Angle - Angle.RightAngle;
70    }
71    void Ammu()
72    {
73        PhysicsObject panos = new PhysicsObject(5.0, 5.0);
74        if (vasenPyssy)
75        {
76            panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 22).RightNormal;
77            vasenPyssy = false;
78        }
79        else
80        {
81            panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * -22).RightNormal;
82            vasenPyssy = true;
83        }
84        panos.IgnoresCollisionWith(matti);
85        panos.MaximumLifetime = new TimeSpan(0, 0, 5);
86        Add(panos);
87        panos.Velocity = ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize())*1750;
88
89       
90    }
91    void Mappi()
92    {
93        Level.Background.Image = LoadImage("mappi");
94       
95    }
96    void LiikuEteen()
97    {
98        matti.Move(((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 220);
99    }
100    void YksVihu()
101    {
102        PhysicsObject vihu = new PhysicsObject(100.0, 100.0);
103        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
104        satunnaisAivot.ChangeMovementSeconds = 3;
105        vihu.Brain = satunnaisAivot;
106        Add(vihu);
107    }
108   
109
110}
Note: See TracBrowser for help on using the repository browser.