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

Revision 8700, 3.6 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        LaserGun laserase = new LaserGun(20, 5);
58
59        //Keyboard.Listen(Key.Space, ButtonState.Down, ammuasella, "Ammu", alus);
60
61
62
63
64
65
66        // Gravity = new Vector(0.0, -500.0);
67
68        Image tausta = LoadImage("taustakuva");
69        Level.Background.Image = tausta;
70        Level.Background.Height = 2460;
71        Level.Background.Width = 5160;
72
73        ohjaimet();
74        Vihollinen();
75        LuoKentta();
76
77        Mouse.ListenMovement(0.1, Tahtaa, "tahtaa aseella");
78
79    }
80
81    void Tahtaa(AnalogState hiirenLiike)
82    {
83        Vector suunta = (Mouse.PositionOnWorld - alus.AbsolutePosition).Normalize();
84        alus.Angle = suunta.Angle;
85    }
86
87    void LuoKentta()
88{
89            TileMap ruudut = TileMap.FromLevelAsset("kentta1");
90           
91            ruudut.SetTileMethod('#', LuoPalikka);
92            //ruudut.SetTileMethod('*', LuoTahti);
93            ruudut.Execute(20, 20);
94  }
95
96     
97
98void LuoPalikka(Vector paikka, double leveys, double korkeus)
99{
100    PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
101    taso.Position = paikka;
102   
103    Add(taso);
104
105}
106
107    void Vihollinen()
108    {
109        vihollinen = new PhysicsObject(60.0, 40.0);
110        Add(vihollinen);
111        vihollinen.Image = Vihollinenkuva;
112
113       
114    }
115
116void ohjaimet()
117    {
118        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
119
120        Keyboard.Listen(Key.W, ButtonState.Down, asetanopeus, " Liikuta alusta ylös", alus, nopeusYlos);
121        Keyboard.Listen(Key.W, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
122        Keyboard.Listen(Key.S, ButtonState.Down, asetanopeus, " Liikuta alusta alas", alus, nopeusAlas);
123        Keyboard.Listen(Key.S, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
124        Keyboard.Listen(Key.A, ButtonState.Down, asetanopeus, " Liikuta alusta vasemmalle", alus, nopeusVasemmalle);
125        Keyboard.Listen(Key.A, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
126        Keyboard.Listen(Key.D, ButtonState.Down, asetanopeus, " Liikuta alusta oikealle", alus, nopeusOikealle);
127        Keyboard.Listen(Key.D, ButtonState.Released, asetanopeus, null, alus, Vector.Zero);
128       // Keyboard.Listen(Key.Space, ButtonState.Pressed,);
129    }
130
131    void asetanopeus(PhysicsObject alus, Vector nopeus)
132    {
133        alus.Velocity = nopeus;
134
135
136    }
137
138
139
140}
Note: See TracBrowser for help on using the repository browser.