source: 2012/kerho/ljov/Enter_name/Enter_name/Enter_name/Hemmo.cs @ 3864

Revision 3864, 2.2 KB checked in by anlakane, 7 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Jypeli;
6using Jypeli.Assets;
7using Jypeli.Widgets;
8
9class Hemmo : PlatformCharacter
10{
11    public IntMeter hp = new IntMeter(40);
12
13    const int MaxAmmo = 40;
14    //hp mittarilla on jo maksiarvo
15
16    public Hemmo()
17        : base(50, 50)
18    {
19        Image = Game.LoadImage("norsu");
20        Mass = 10;
21
22        hp.MaxValue = 40;
23
24        Weapon = new AssaultRifle(60, 30);
25        Weapon.Power.DefaultValue = 50;
26        Weapon.Ammo.Value = MaxAmmo;
27        Weapon.AmmoIgnoresExplosions = Weapon.AmmoIgnoresGravity = false;
28        Weapon.CanHitOwner = true;
29        Weapon.ProjectileCollision = Ase;
30        Weapon.FireRate = 0.99;
31        Weapon.X = 40;
32    }
33    public void Liiku(int dir)
34    {
35        Walk(500 * dir);
36    }
37    public void Hyppy()
38    {
39        Jump(500);
40    }
41    public void Toimi()
42    {
43    //    PhysicsObject purkka = Weapon.Shoot();
44    //    if (purkka != null) {purkka.Destroy();}
45        Weapon.Shoot();
46    }
47
48    void Ase(PhysicsObject ammus, PhysicsObject kohde)
49    {
50        Explosion xplosion = new Explosion(250);
51        xplosion.Position = ammus.Position;
52        xplosion.Force = 100;
53        xplosion.ShockwaveReachesObject += Tuhoa;
54        xplosion.ShockwaveColor = new Color(0, 255, 0, 100);
55        Game.Add(xplosion);
56        ammus.Destroy();
57    }
58    void Tuhoa(IPhysicsObject kohde, Vector shokki)
59    {
60        if (kohde == this)
61        {
62            hp.Value -= 1;
63        }
64        else if (kohde.Tag.ToString() == "TuhoaMinut")
65        {
66            kohde.Destroy();
67        }
68    }
69    public void kolari(PhysicsObject tormaaja, PhysicsObject kohde)
70    {
71        if (kohde.Tag.ToString() == "Consequence for failure")
72        {
73            Game.MessageDisplay.Add("Häähää, kuolit!");
74        }
75        else if (kohde.Tag.ToString() == "laatikko")
76        {
77            if (kohde is Tarvikelaatikko)
78            {
79                Tarvikelaatikko laatikko = (Tarvikelaatikko)kohde;
80                Console.WriteLine(laatikko.Health);
81            }
82        }
83    }
84}
85
Note: See TracBrowser for help on using the repository browser.