source: 2016/24/LasseK/TankkiPeli/TankkiPeli/TankkiPeli/TankkiPeli.cs @ 7359

Revision 7359, 2.9 KB checked in by latukova, 5 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 TankkiPeli : PhysicsGame
10{
11    Image Tykki2 = LoadImage("TykkiJonkaMuokkasit");
12    //Image Tykkikuva = LoadImage("Tykki");
13    Image TankkiRunko = LoadImage("VaununRunko");
14    Image Tornikuva = LoadImage("Tykkitorni");
15
16    Image kokoTankki = LoadImage("kokotankki");
17
18    PhysicsObject Tankki;
19    PhysicsObject Torni;
20    PhysicsObject Tykki;
21    public override void Begin()
22
23    {
24        Kentta();
25        LuoTankki();
26        AsetaOhjaimet();
27
28    }
29
30    void LiikutaTykkiä(PhysicsObject Tykki, double Suunta)
31    {
32
33
34    }
35
36    void AsetaOhjaimet()
37    {
38        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
39        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaTankkia, "Liikuttaa Tankkia Vasempaan", Tankki, new Vector(-800, 0));
40        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaTankkia, "Liikuttaa Tankkia Oikeaan", Tankki, new Vector(550, 0));
41
42        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaTykkiä, "Liikuta Tykkiä Ylös", Tykki, 0.1);
43
44    }
45
46    void Tahtaa(AnalogState hiirenLiike)
47    {
48        if (Mouse.PositionOnWorld.X > Tankki.Position.X)
49        {
50            Torni.Image = Image.Mirror(Tornikuva);
51            Tykki.Image = Image.Mirror(Tykki2);
52            Tykki.Position = Torni.Position + new Vector(10, 1);
53        }
54        else
55        {
56            Torni.Image = Tornikuva;
57            Tykki.Image = Image.Mirror(Tykki2);
58            Tykki.Position = Torni.Position + new Vector(-10, 1);
59        }
60
61
62        Angle suunta = ((Mouse.PositionOnWorld - Tykki.AbsolutePosition).Normalize()).Angle;
63        Tykki.Position = Vector.FromLengthAndAngle(Tykki.Width, suunta);
64        Tykki.Angle = suunta;
65    }
66
67
68    void Kentta()
69    {
70        Surface alaReuna = Surface.CreateBottom(Level, 299, 300, 100, 5);
71        Add(alaReuna);
72        Level.CreateLeftBorder(0, true);
73        Level.CreateRightBorder(0, true);
74        Gravity = new Vector(0, -500);
75
76    }
77
78
79
80
81    void LuoTankki()
82    {
83
84        Tankki = new PhysicsObject(160, 65);
85        Tankki.Image = TankkiRunko;
86        Tankki.LinearDamping = 0.95;
87        Tankki.Position = new Vector(-200, -350);
88        Add(Tankki);
89
90        Torni = new PhysicsObject(85, 45);
91        Torni.Image = Tornikuva;
92        Torni.IgnoresPhysicsLogics = true;
93        Torni.Position = Torni.Position + new Vector(0, 38);
94        Tankki.Add(Torni);
95
96        Tykki = new PhysicsObject(120, 10); //80
97        Tykki.Image = Tykki2;
98        Tykki.Position = Torni.Position + new Vector(-40, 1 );  //Torni.Position + new Vector(70, 1);
99        Tykki.IgnoresPhysicsLogics = true;
100        Tankki.Add(Tykki);
101
102
103
104    }
105    void LiikutaTankkia(PhysicsObject Tankki, Vector suunta)
106    {
107        Tankki.Push(suunta);
108
109    }
110
111}
Note: See TracBrowser for help on using the repository browser.