source: 2015/27/EemilI/infected - Copy/infected/infected/infected.cs @ 6661

Revision 6661, 2.8 KB checked in by eemikone, 5 years ago (diff)

päivittelyä

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class infected : PhysicsGame
10{
11    PhysicsObject mies;
12    Image mieskuva = LoadImage("zombi");
13    Image seinakuva = LoadImage("seina");
14
15    public override void Begin()
16    {
17        LuoKentta();
18        kontrollit();
19
20        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
21    }
22    void LuoHahmo(Vector paikka, double leveys, double korkeus)
23    {
24        mies = new PhysicsObject(mieskuva);
25        mies.Size = new Vector(50, 50);
26        mies.Position = paikka;
27        mies.LinearDamping = 0.1;
28        Add(mies);
29
30    }
31    void LuoKentta() 
32    {
33        ColorTileMap mappi = ColorTileMap.FromLevelAsset("mappi");
34        mappi.SetTileMethod(Color.Black, LuoTaso);
35        mappi.SetTileMethod(Color.Red, LuoHahmo);
36        mappi.Execute(40, 40);
37
38        Level.CreateBorders();
39        Camera.Follow(mies);
40        Camera.StayInLevel = true;
41        Camera.Zoom(1.0);
42    }
43
44    void LuoTaso(Vector paikka, double leveys, double korkeus)
45    {
46        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
47        taso.Position = paikka;
48        taso.Color = Color.Black;
49        taso.Image = seinakuva;
50        taso.CollisionIgnoreGroup = 1;
51        Level.BackgroundColor = Color.Black;
52        Add(taso);
53    }
54    void kontrollit()
55    {
56        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liikkuu ylos", 3000.0, 1);
57        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "l", 3000.0, 2);
58        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "l", 3000.0, 3);
59        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "l", 3000.0,  4);
60        Mouse.ListenMovement(0.0, Tahtays, null);
61        Mouse.IsCursorVisible = true;
62        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "InfoIkkuna"); 
63    }
64    void LiikutaPelaajaa(double nopeus, int liikkuminen)
65    {
66        switch (liikkuminen)
67        {
68            case 1:
69                mies.Move(Vector.FromLengthAndAngle(nopeus, mies.Angle));
70                break;
71            case 2:
72                mies.Move(-Vector.FromLengthAndAngle(nopeus, mies.Angle));
73                break;
74            case 3:
75                mies.Move(Vector.FromLengthAndAngle(nopeus, mies.Angle - Angle.FromDegrees(90)));
76                break;
77            case 4:
78                mies.Move(Vector.FromLengthAndAngle(nopeus, mies.Angle - Angle.FromDegrees(-90)));
79                break;
80            default:
81                break;
82        }
83    }
84    void Tahtays(AnalogState hiirenTila)
85    {
86        Vector suunta = Mouse.PositionOnWorld - mies.Position;
87        mies.Angle = suunta.Angle;
88    }
89}
Note: See TracBrowser for help on using the repository browser.