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

Revision 6648, 4.4 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    Image ekaPlKuva = LoadImage("ekaPelaaja");
25    Image ekaPlKuva2 = LoadImage("ekaPelaaja2");
26    Image ekaPlKuva3 = LoadImage("ekaPelaaja3");
27    Image ekaPlKuva4 = LoadImage("ekaPelaaja4");
28 
29    Image miekkaKuva = LoadImage("miekka");
30    Image miekkaKuva2 = LoadImage("miekka2");
31    Image miekkaKuva3 = LoadImage("miekka3");
32    Image miekkaKuva4 = LoadImage("miekka4");
33 
34    Pelaaja ekaPelaaja;
35
36    public override void Begin()
37    {
38        LuoPelaaja();
39
40        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
41    }
42
43    public void LuoPelaaja()
44    {
45        ekaPelaaja = new Pelaaja(ekaPlKuva);
46        Add(ekaPelaaja);
47        Ohjet(ekaPelaaja);
48    }
49
50    public void Ohjet(PhysicsObject pelaaja)
51    {
52        Vector ylos = new Vector(0.0, 500.0);
53        Vector alas = new Vector(0.0, -500.0);
54        Vector oikea = new Vector(500.0, 0.0);
55        Vector vasema = new Vector(-500.0, 0.0);
56
57        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Liiku ylös.", pelaaja, ylos);
58        Keyboard.Listen(Key.Up, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva4);
59        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
60
61        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Liiku alas.", pelaaja, alas);
62        Keyboard.Listen(Key.Down, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva);
63        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
64
65        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liiku oikealle.", pelaaja, oikea);
66        Keyboard.Listen(Key.Right, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva2);
67        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
68
69        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liiku vasemalle.", pelaaja, vasema);
70        Keyboard.Listen(Key.Left, ButtonState.Pressed, AsetaKuva, null, pelaaja, ekaPlKuva3);
71        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
72
73        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyokkaa, "Hyökkää miekkaan kansa.");
74    }
75
76    public void Hyokkaa()
77    {
78        if (ekaPelaaja.Image == ekaPlKuva) {
79            PhysicsObject miekka = new PhysicsObject(miekkaKuva);
80            ekaPelaaja.Add(miekka);
81            miekka.Y -= 27.0;
82            Timer miekkaAijastin = new Timer();
83            miekkaAijastin.Interval = 0.5;
84            miekkaAijastin.Start();
85            Timer.SingleShot(0.25, delegate { miekka.Destroy(); });
86        }
87        else if (ekaPelaaja.Image == ekaPlKuva2)
88        {
89            PhysicsObject miekka = new PhysicsObject(miekkaKuva2);
90            ekaPelaaja.Add(miekka);
91            Timer miekkaAijastin = new Timer();
92            miekkaAijastin.Interval = 0.5;
93            miekkaAijastin.Start();
94            Timer.SingleShot(0.25, delegate { miekka.Destroy(); });
95        }
96        else if (ekaPelaaja.Image == ekaPlKuva3)
97        {
98            PhysicsObject miekka = new PhysicsObject(miekkaKuva3);
99            ekaPelaaja.Add(miekka);
100            Timer miekkaAijastin = new Timer();
101            miekkaAijastin.Interval = 0.5;
102            miekkaAijastin.Start();
103            Timer.SingleShot(0.25, delegate { miekka.Destroy(); });
104        }
105        else if (ekaPelaaja.Image == ekaPlKuva4)
106        {
107            PhysicsObject miekka = new PhysicsObject(miekkaKuva4);
108            ekaPelaaja.Add(miekka);
109            Timer miekkaAijastin = new Timer();
110            miekkaAijastin.Interval = 0.5;
111            miekkaAijastin.Start();
112            Timer.SingleShot(0.25, delegate { miekka.Destroy(); });
113        }
114    }
115
116    public void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus)
117    {
118        pelaaja.Move(nopeus);
119    }
120    public void AsetaKuva(PhysicsObject pelaaja, Image kuva)
121    {
122        pelaaja.Image = kuva;
123    }
124}
Note: See TracBrowser for help on using the repository browser.