source: 2013/30/NikiV/Airbattle/Airbattle/Airbattle/Airbattle.cs @ 4524

Revision 4524, 3.5 KB checked in by nieekrva, 6 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Airbattle : PhysicsGame
10{
11    public override void Begin()
12    {
13        Level.Size = new Vector(800, 600);
14        SetWindowSize(800, 600, false);
15        // TODO: Kirjoita ohjelmakoodisi tähän
16        PhysicsObject alus = new PhysicsObject(50.0, 50.0, Shape.Circle);
17        Add(alus);
18        alus.LinearDamping = 0.9;
19        alus.CanRotate = false;
20        alus.Tag = "alus";
21        Image aluskuva = LoadImage("alus");
22        alus.Image = aluskuva;
23        AddCollisionHandler(alus, "hämis", PelaajaOsuu);
24
25        PhysicsObject hamis = new PhysicsObject(50.0, 50.0);
26        hamis.X = 200;
27        Add(hamis);
28        hamis.CanRotate = false;
29        //hamis.AngularDamping = 0.9;
30        Image hamiskuva = LoadImage("hamis");
31        hamis.Image = hamiskuva;
32        FollowerBrain seuraajanAivot = new FollowerBrain("alus");
33        seuraajanAivot.Speed = 200;
34        seuraajanAivot.Active = true;
35        hamis.Brain = seuraajanAivot;
36        hamis.Tag = "hämis";
37
38        Level.CreateBorders(1.0, true);
39        Camera.ZoomToLevel();
40
41        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, alus, new Vector(-1000, 0));
42        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, alus, Vector.Zero);
43
44        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, alus, new Vector(1000, 0));
45        Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaPelaajaa, null, alus, Vector.Zero);
46
47        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, alus, new Vector(0, 1000));
48        Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, alus, Vector.Zero);
49
50        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, alus, new Vector(0, -1000));
51        Keyboard.Listen(Key.Down, ButtonState.Released, LiikutaPelaajaa, null, alus, Vector.Zero);
52
53        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
54        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
55    }
56    void PelaajaOsuu(PhysicsObject alus, PhysicsObject hamis)
57    {
58        alus.Destroy();
59    }
60
61
62    void LiikutaPelaajaa(PhysicsObject alus, Vector nopeus)
63    {
64        // alareuna
65        if ((nopeus.Y < 0) && (alus.Bottom <= Level.Bottom))
66        {
67            alus.Bottom = Level.Bottom;
68            alus.Velocity = Vector.Zero;
69            return;
70        }
71        // yläreuna
72        if ((nopeus.Y > 0) && (alus.Top >= Level.Top))
73        {
74            alus.Top = Level.Top;
75            alus.Velocity = Vector.Zero;
76            return;
77        }
78        // vasen
79        if ((nopeus.X < 0) && (alus.Left <= Level.Left))
80        {
81            alus.Left = Level.Left;
82            alus.Velocity = Vector.Zero;
83            return;
84        }
85        // oikea
86        if ((nopeus.X > 0) && (alus.Right >= Level.Right))
87        {
88            alus.Right = Level.Right;
89            alus.Velocity = Vector.Zero;
90            return;
91        }
92
93        alus.Velocity = nopeus;
94
95    }
96    void LuoKentta()
97    {
98        TileMap ruudut = TileMap.FromLevelAsset("kentta1");
99        ruudut.SetTileMethod('a', Luoalus);
100        ruudut.SetTileMethod('h', Luohamis);
101        ruudut.Execute(20, 20);
102    }
103    void Luoalus(Vector paikka, double leveys, double korkeus)
104    {
105        alus = new PhysicsObject(10, 10);
106        alus.Position = paikka;
107
108}
Note: See TracBrowser for help on using the repository browser.