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

Revision 8620, 3.5 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, 3);
59        matti.CanRotate = false;
60        double laserinpituus = 1000;
61        GameObject laser = new  GameObject(2, laserinpituus);
62        laser.Y = matti.Y + laserinpituus/2+16;
63        laser.Color = new Color(Color.Red, 30);
64        matti.Add(laser);
65    }
66
67    void LiikutaPelaajaa(Vector vektori)
68    {
69        matti.Move(vektori);
70    }
71    void Tahtaa(AnalogState hiirenLiike)
72    {
73        Vector suunta = (Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize();
74        matti.Angle = suunta.Angle - Angle.RightAngle;
75    }
76    void Ammu()
77    {
78        PhysicsObject panos = new PhysicsObject(5.0, 5.0);
79        if (vasenPyssy)
80        {
81            panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 22).RightNormal;
82            vasenPyssy = false;
83        }
84        else
85        {
86            panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * -22).RightNormal;
87            vasenPyssy = true;
88        }
89        panos.IgnoresCollisionWith(matti);
90        panos.MaximumLifetime = new TimeSpan(0, 0, 5);
91        Add(panos);
92        panos.Velocity = ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize())*2000;
93
94       
95    }
96    void Mappi()
97    {
98        Level.Background.Image = LoadImage("mappi");
99       
100    }
101    void LiikuEteen()
102    {
103        matti.Move(((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 220);
104    }
105    void YksVihu()
106    {
107        PhysicsObject vihu = new PhysicsObject(0.0, 0.0);
108        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
109        satunnaisAivot.ChangeMovementSeconds = 3;
110        vihu.Brain = satunnaisAivot;
111        Add(vihu);
112    }
113   
114
115}
Note: See TracBrowser for help on using the repository browser.