source: 2015/27/BenjaminE/HackNSlashV2.0/HackNSlashV2.0/HacknSlash.cs @ 6644

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