source: 2016/koodauskerho/HenriH/kaksintaistelu/kaksintaistelu/kaksintaistelu/kaksintaistelu.cs @ 8387

Revision 8387, 4.5 KB checked in by sieerinn, 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 kaksintaistelu : PhysicsGame
10{
11    Image Pallokuva = LoadImage("Pallokuva");
12    Image Pelaaja1Kuva = LoadImage("ukko1");
13    Image Pelaaja2Kuva = LoadImage("ukko2");
14    Image Taustakuva = LoadImage("Taustakuva");
15    Image maalikuva = LoadImage("maali1");
16
17    IntMeter pelaajan1Pisteet;
18    IntMeter pelaajan2Pisteet;
19
20    public override void Begin()
21    {
22        LisaaLaskurit();
23
24        PhysicsObject maali2 = new PhysicsObject(350, 350);
25        maali2.Image = maalikuva;
26        maali2.X = 1020.0;
27        maali2.Y = 80.0;
28        maali2.Restitution = 1.0;
29        Add(maali2);
30
31        PhysicsObject maali1 = new PhysicsObject(350, 350);
32        maali1.Image = maalikuva;
33        maali1.X = -1020.0;
34        maali1.Y = 80.0;
35        maali1.Restitution = 1.0;
36        maali1.MakeStatic();
37        Add(maali1);
38
39        PhysicsObject pallo = new PhysicsObject(50, 50);
40        pallo.Image = Pallokuva;
41        pallo.X = 0.0;
42        pallo.Y = 0.0;
43        pallo.Restitution = 1.0;
44        Add(pallo);
45
46        PhysicsObject pelaaja1 = new PhysicsObject(100, 50);
47        pelaaja1.Image = Pelaaja1Kuva;
48        Add(pelaaja1);
49        pelaaja1.X = 180;
50        pelaaja1.AngularDamping = 0.95;
51        pelaaja1.LinearDamping = 0.9;
52
53        PhysicsObject pelaaja2 = new PhysicsObject(100, 50);
54        pelaaja2.Image = Pelaaja2Kuva;
55        Add(pelaaja2);
56        pelaaja2.X = -180;
57        pelaaja2.AngularDamping = 0.95;
58        pelaaja2.LinearDamping = 0.9;
59
60        Level.Width = Screen.Width;
61        Level.Height = Screen.Height;
62        Level.CreateBorders();
63        Level.Background.Image = Taustakuva;
64        Level.Background.FitToLevel();
65
66        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
67
68        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja1);
69        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja1);
70        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja1);
71        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja1);
72
73        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1500, 0), pelaaja1);
74        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1500, 0), pelaaja1);
75        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1500), pelaaja1);
76        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1500), pelaaja1);
77
78        ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja2);
79        ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja2);
80        ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja2);
81        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja2);
82
83        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1500, 0), pelaaja2);
84        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1500, 0), pelaaja2);
85        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1500), pelaaja2);
86        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1500), pelaaja2);
87    }
88
89    void LiikutaPelaajaa(Vector vektori, PhysicsObject pelaaja)
90    {
91        pelaaja.Push(vektori);
92        pelaaja.Angle = pelaaja.Velocity.Angle + Angle.FromDegrees(-90);
93
94
95
96    }
97
98
99    void LisaaLaskurit()
100    {
101         pelaajan1Pisteet = new IntMeter(LuoPisteLaskuri(-300, 300));
102
103
104        pelaajan2Pisteet = new IntMeter(LuoPisteLaskuri(300, 300));
105           
106    }
107
108    IntMeter LuoPisteLaskuri(double x, double y)
109    {
110        IntMeter laskuri = new IntMeter(0);
111        laskuri.MaxValue = 1;
112        Label naytto = new Label();
113        naytto.BindTo(laskuri);
114        naytto.X = x;
115        naytto.Y = y;
116        naytto.TextColor = Color.White;
117        naytto.BorderColor = Level.Background.Color;
118        naytto.Color = Level.Background.Color;
119        Add(naytto);
120        return laskuri;
121    }
122
123}
124
Note: See TracBrowser for help on using the repository browser.