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

Revision 8735, 4.2 KB checked in by npo17_15, 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 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 = 10000;
59        aluksenAse.ProjectileCollision = AmmusOsui;
60        alus.Add(aluksenAse);
61        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", aluksenAse);
62        aluksenAse.FireRate = 100.0;
63     
64
65
66
67
68
69        // Gravity = new Vector(0.0, -500.0);
70
71        Image tausta = LoadImage("taustakuva");
72        Level.Background.Image = tausta;
73        Level.Background.Height = 2460;
74        Level.Background.Width = 5160;
75
76        ohjaimet();
77        Vihollinen();
78        LuoKentta();
79
80        Mouse.ListenMovement(0.1, Tahtaa, "tahtaa aseella");
81
82   
83
84    }
85    void AmmuAseella(LaserGun ase)
86    {
87        PhysicsObject ammus = ase.Shoot();
88        if (ammus != null)
89        {
90
91
92        }
93
94
95  }
96    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
97    {
98        kohde.Destroy();
99    }
100    void Tahtaa(AnalogState hiirenLiike)
101    {
102        Vector suunta = (Mouse.PositionOnWorld - alus.AbsolutePosition).Normalize();
103        alus.Angle = suunta.Angle;
104    }
105
106    void LuoKentta()
107{
108            TileMap ruudut = TileMap.FromLevelAsset("kentta1");
109           
110            ruudut.SetTileMethod('#', LuoPalikka);
111            //ruudut.SetTileMethod('*', LuoTahti);
112            ruudut.Execute(20, 20);
113  }
114
115     
116
117void LuoPalikka(Vector paikka, double leveys, double korkeus)
118{
119    PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
120    taso.Position = paikka;
121   
122    Add(taso);
123
124}
125
126    void Vihollinen()
127    {
128        vihollinen = new PhysicsObject(60.0, 40.0);
129        Add(vihollinen);
130        vihollinen.Image = Vihollinenkuva;
131        FollowerBrain seuraajanAivot = new FollowerBrain(alus);
132       // aivot.Speed = 100;
133       // aivot.Active = true;
134       // aivot.TurnWhileMoving = true;
135
136
137    }
138
139
140
141    void ohjaimet()
142    {
143        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
144
145        Keyboard.Listen(Key.W, ButtonState.Down, asetanopeus, " Liikuta alusta ylös", alus, nopeusYlos);
146        Keyboard.Listen(Key.W, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
147        Keyboard.Listen(Key.S, ButtonState.Down, asetanopeus, " Liikuta alusta alas", alus, nopeusAlas);
148        Keyboard.Listen(Key.S, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
149        Keyboard.Listen(Key.A, ButtonState.Down, asetanopeus, " Liikuta alusta vasemmalle", alus, nopeusVasemmalle);
150        Keyboard.Listen(Key.A, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
151        Keyboard.Listen(Key.D, ButtonState.Down, asetanopeus, " Liikuta alusta oikealle", alus, nopeusOikealle);
152        Keyboard.Listen(Key.D, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
153       // Keyboard.Listen(Key.Space, ButtonState.Pressed,);
154    }
155
156    void asetanopeus(PhysicsObject alus, Vector nopeus)
157    {
158        alus.Velocity = nopeus;
159
160
161    }
162
163
164
165}
Note: See TracBrowser for help on using the repository browser.