source: 2015/27/BenjaminE/BenJaMarkPeli/HacknSlash/HacknSlash/HacknSlash/HacknSlash.cs @ 6645

Revision 6645, 3.4 KB checked in by maankari, 6 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 Pelaaja : PhysicsObject
10{
11    public IntMeter healthit;
12
13    public Image graf;
14
15    Vector impulssi;
16
17    public Pelaaja(Image grafiikka)
18        : base(grafiikka)
19    {
20        this.healthit = new IntMeter(1, 0, 100);
21        graf = grafiikka;
22    }
23}
24
25
26public class HacknSlash : PhysicsGame
27
28{
29    Image ekaPlKuva = LoadImage("res/ekaPelaaja");
30    Image ekaPlKuva2 = LoadImage("res/ekaPelaaja2");
31    Image ekaPlKuva3 = LoadImage("res/ekaPelaaja3");
32    Image ekaPlKuva4 = LoadImage("res/ekaPelaaja4");
33 
34    Image miekkaKuva = LoadImage("res/miekka");
35 
36    Pelaaja ekaPelaaja;
37
38    public override void Begin()
39    {
40        LuoPelaaja();
41
42       
43    }
44
45    public void LuoPelaaja()
46    {
47        ekaPelaaja = new Pelaaja(ekaPlKuva);
48
49
50
51        Add(ekaPelaaja);
52        Ohjet(ekaPelaaja);
53    }
54
55    public void Ohjet(PhysicsObject pelaaja)
56    {
57        Vector ylos = new Vector(0.0, 500.0);
58        Vector alas = new Vector(0.0, -500.0);
59        Vector oikea = new Vector(500.0, 0.0);
60        Vector vasen = new Vector(-500.0, 0.0);
61
62
63
64
65        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Liiku alas.", pelaaja, alas);
66        Keyboard.Listen(Key.Down, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva);
67        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
68
69        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liiku oikealle.", pelaaja, oikea);
70        Keyboard.Listen(Key.Right, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva2);
71        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
72
73        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liiku vasemalle.", pelaaja, vasen);
74        Keyboard.Listen(Key.Left, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva3);
75        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
76
77        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Liiku ylös.", pelaaja, ylos);
78        Keyboard.Listen(Key.Up, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva4);
79        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
80
81        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
82
83
84        Keyboard.Listen(Key.Space, ButtonState.Down, Hyokkaa, "Hyökkää miekkaan kansa.");
85
86        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
87    }
88
89    public void Hyokkaa()
90    {
91        PhysicsObject miekka = new PhysicsObject(16, 16);
92        miekka.Image = miekkaKuva;
93
94        Timer miekkaAijastin = new Timer();
95        miekkaAijastin.Interval = 0.5;
96        miekkaAijastin.Timeout += delegate
97        {
98            miekka.Position = ekaPelaaja.Position;
99        };
100        miekkaAijastin.Start();
101
102        Timer.SingleShot(0.25, delegate { miekka.Destroy(); });
103        Add(miekka);
104    }
105
106    public void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus)
107    {
108        pelaaja.Move(nopeus);
109    }
110    public void AsetaKuva(PhysicsObject pelaaja, Image kuva)
111    {
112        pelaaja.Image = kuva;
113    }
114}
Note: See TracBrowser for help on using the repository browser.