source: 2017/24/TomiK/AvaruusTaistelu/AvaruusTaistelu/AvaruusTaistelu/AvaruusTaistelu.cs @ 8718

Revision 8718, 4.2 KB checked in by npo17_15, 2 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 AvaruusTaistelu : PhysicsGame
10{
11
12
13    LaserGun aluksenAse;
14    PhysicsObject uuni;
15    PhysicsObject vihollinen;
16    Image Uunikuva = LoadImage("Uuni");
17    Image Vihollinenkuva = LoadImage("Vihollinen2");
18    Image Asteroidkuva = LoadImage("Asteroidi");
19    Image Rakettikuva = LoadImage("Raketti2");
20    PhysicsObject asteroid;
21    Vector nopeusYlos = new Vector(0, 200);
22    Vector nopeusAlas = new Vector(0, -200);
23    Vector nopeusVasemmalle = new Vector(-200, 0);
24    Vector nopeusOikealle = new Vector(200, 0);
25    PhysicsObject alus;
26    public override void Begin()
27    {
28
29
30        Mouse.IsCursorVisible = true;
31
32        alus = new PhysicsObject(60.0, 40.0);
33        Add(alus);
34        alus.Image = Rakettikuva;
35        Camera.Follow(alus);
36
37
38
39        SmoothTextures = false;
40
41        uuni = new PhysicsObject(10.0, 10.0);
42        uuni.X = -10;
43        uuni.Y = 40;
44        Add(uuni);
45        uuni.Image = Uunikuva;
46
47
48
49        asteroid = new PhysicsObject(100.0, 100.0);
50        asteroid.Image = Asteroidkuva;
51
52        Add(asteroid);
53
54       
55
56
57        aluksenAse = new LaserGun(20, 5);
58        aluksenAse.Ammo.Value = 1000;
59        aluksenAse.ProjectileCollision = AmmusOsui;
60        alus.Add(aluksenAse);
61        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", aluksenAse);
62
63
64
65
66
67
68        // Gravity = new Vector(0.0, -500.0);
69
70        Image tausta = LoadImage("taustakuva");
71        Level.Background.Image = tausta;
72        Level.Background.Height = 2460;
73        Level.Background.Width = 5160;
74
75        ohjaimet();
76        Vihollinen();
77        LuoKentta();
78
79        Mouse.ListenMovement(0.1, Tahtaa, "tahtaa aseella");
80
81   
82
83    }
84    void AmmuAseella(LaserGun ase)
85    {
86        PhysicsObject ammus = ase.Shoot();
87        if (ammus != null)
88        {
89
90
91        }
92
93
94  }
95    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
96    {
97        kohde.Destroy();
98    }
99    void Tahtaa(AnalogState hiirenLiike)
100    {
101        Vector suunta = (Mouse.PositionOnWorld - alus.AbsolutePosition).Normalize();
102        alus.Angle = suunta.Angle;
103    }
104
105    void LuoKentta()
106{
107            TileMap ruudut = TileMap.FromLevelAsset("kentta1");
108           
109            ruudut.SetTileMethod('#', LuoPalikka);
110            //ruudut.SetTileMethod('*', LuoTahti);
111            ruudut.Execute(20, 20);
112  }
113
114     
115
116void LuoPalikka(Vector paikka, double leveys, double korkeus)
117{
118    PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
119    taso.Position = paikka;
120   
121    Add(taso);
122
123}
124
125    void Vihollinen()
126    {
127        vihollinen = new PhysicsObject(60.0, 40.0);
128        Add(vihollinen);
129        vihollinen.Image = Vihollinenkuva;
130        FollowerBrain seuraajanAivot = new FollowerBrain(alus);
131       // aivot.Speed = 100;
132       // aivot.Active = true;
133       // aivot.TurnWhileMoving = true;
134
135
136    }
137
138
139
140    void ohjaimet()
141    {
142        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
143
144        Keyboard.Listen(Key.W, ButtonState.Down, asetanopeus, " Liikuta alusta ylös", alus, nopeusYlos);
145        Keyboard.Listen(Key.W, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
146        Keyboard.Listen(Key.S, ButtonState.Down, asetanopeus, " Liikuta alusta alas", alus, nopeusAlas);
147        Keyboard.Listen(Key.S, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
148        Keyboard.Listen(Key.A, ButtonState.Down, asetanopeus, " Liikuta alusta vasemmalle", alus, nopeusVasemmalle);
149        Keyboard.Listen(Key.A, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
150        Keyboard.Listen(Key.D, ButtonState.Down, asetanopeus, " Liikuta alusta oikealle", alus, nopeusOikealle);
151        Keyboard.Listen(Key.D, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
152       // Keyboard.Listen(Key.Space, ButtonState.Pressed,);
153    }
154
155    void asetanopeus(PhysicsObject alus, Vector nopeus)
156    {
157        alus.Velocity = nopeus;
158
159
160    }
161
162
163
164}
Note: See TracBrowser for help on using the repository browser.