source: 2014/koodauskerho/38/santeriS/TankBattele/TankBattele/TankBattele/TankBattele.cs @ 5847

Revision 5847, 2.5 KB checked in by hesahave, 7 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 TankBattele : PhysicsGame
10{
11    Image tankki1kuva = LoadImage("tankki1");
12    Image tankki2kuva = LoadImage("tankki2");
13    Image tankki3kuva = LoadImage("tankki3");
14    Image tankki4kuva = LoadImage("tankki4");
15    PhysicsObject tankki1, tankki2, tankki3, tankki4;
16
17    public override void Begin()
18    {
19        // TODO: Kirjoita ohjelmakoodisi tähän
20        Gravity = new Vector(0, -1000);
21
22        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
23        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
24        //Level.Height = Screen.Height;
25        Level.Width = Screen.Width;
26        IsFullScreen = true;
27        LuoMaa();
28        tankki1 = Luotankki(new Vector(-600, -200), tankki1kuva);
29        tankki2 = Luotankki(new Vector(-300, -200), tankki2kuva);
30        tankki3 = Luotankki(new Vector(300, -200), tankki3kuva);
31        tankki4 = Luotankki(new Vector(600, -200), tankki4kuva);
32    }
33
34    void LuoMaa()
35    {
36        //Surface alaReuna = Surface.CreateBottom(Level, 30,180,20,100);
37        Surface alaReuna = Surface.CreateBottom(Level, 200, 400, 30, 100);
38        alaReuna.Y += 150;
39        Add(alaReuna);
40    }
41
42    PhysicsObject Luotankki(Vector paikka, Image kuva)
43    {
44        PhysicsObject tankki = new PhysicsObject(40, 20);
45        tankki.Shape = Shape.Rectangle;
46        tankki.Color = Color.Black;
47        tankki.Mass = 10;
48        tankki.Position = paikka;
49        tankki.Image = kuva;
50        //tankki.CanRotate = false;
51        tankki.AngularDamping = 0.1;
52        tankki.Restitution = 0.0;
53        Add(tankki);
54
55        Cannon tykki = new Cannon(20, 5);
56        tykki.InfiniteAmmo = true;
57        tykki.ProjectileCollision = AmmusOsui;
58        tankki.Add(tykki);
59        tykki.X = 8.0;
60        tykki.Y = 0.0;
61
62        return tankki;
63        /*AssaultRifle ase = new AssaultRifle(30, 10);
64        ase.InfiniteAmmo = true;
65        ase.ProjectileCollision = AmmusOsui;
66        tankki.Add(ase);*/
67    }
68
69    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
70    {
71        ammus.Destroy();
72    }
73
74    void luoNappaimet()
75    {
76        Keyboard.Listen(Key.Left, ButtonState.Pressed, kaannaTykkia,"käännä tykkiä", tankki1, 20.0); 
77    }
78
79    void kaannaTykkia(PhysicsObject tankki, double speed)
80    {
81       
82    }
83}
Note: See TracBrowser for help on using the repository browser.