source: 2010/30/alsiseoi/WorldOfBallcraft/Peli.cs @ 1370

Revision 1370, 4.2 KB checked in by alsiseoi, 13 years ago (diff)

Aivojen testaus.

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    PhysicsObject Player1;
9    PhysicsObject Player2;
10   
11    PhysicsObject VasenReuna;
12    PhysicsObject OikeaReuna;
13    PhysicsObject YlaReuna;
14    PhysicsObject AlaReuna;
15
16    Vector NopeusYlos = new Vector(0, 200);
17    Vector NopeusAlas = new Vector(0, -200);
18    Vector NopeusOikealle = new Vector(200, 0);
19    Vector NopeusVasemmalle = new Vector(-200, 0);
20
21    protected override void Begin()
22    {
23        LuoKentta();
24        AsetaOhjaimet();
25    }
26
27    PhysicsObject LuoPelaaja(double x, double y, double koko, Color vari)
28    {
29        PhysicsObject pelaaja = new PhysicsObject(koko, koko, Shapes.Circle);
30        pelaaja.Color = vari;
31        pelaaja.X = x;
32        pelaaja.Y = y;
33        Add(pelaaja);
34        AddCollisionHandler(pelaaja, KasittelePelaajanTormays);
35        return pelaaja;
36    }
37
38    void LuoKentta()
39    {
40        Level.BackgroundColor = new Color (62, 102, 55);
41
42        Player1 = LuoPelaaja(300, 200, 40, Color.Blue);
43
44        Player2 = LuoPelaaja(300, 300, 40, Color.Red);
45       
46        Camera.ZoomToLevel();
47        //Camera.ZoomFactor = 1.5;
48
49        VasenReuna = Level.CreateLeftBorder();
50        VasenReuna.Restitution = 1.0;
51        VasenReuna.IsVisible = true;
52
53        OikeaReuna = Level.CreateRightBorder();
54        OikeaReuna.Restitution = 1.0;
55        OikeaReuna.IsVisible = true;
56
57        YlaReuna = Level.CreateTopBorder();
58        YlaReuna.Restitution = 1.0;
59        YlaReuna.IsVisible = true;
60
61        AlaReuna = Level.CreateBottomBorder();
62        AlaReuna.Restitution = 1.0;
63        AlaReuna.IsVisible = true;
64
65        PhysicsObject keppi = new PhysicsObject(20.0, 20.0);
66        keppi.Tag = "kepakko";
67        Add(keppi);
68
69        Brain aivot = new Brain();
70
71    }
72
73    void AsetaOhjaimet()
74    {
75        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Player1: Liikuta pelaajaa ylös", Player1, NopeusYlos);
76        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, Player1, Vector.Zero);
77        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Player1: Liikuta pelaajaa alas", Player1, NopeusAlas);
78        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, Player1, Vector.Zero);
79        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Player1: Liikuta pelaajaa oikealle", Player1, NopeusOikealle);
80        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, Player1, Vector.Zero);
81        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Player1: Liikuta pelaajaa vasemmalle", Player1, NopeusVasemmalle);
82        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, Player1, Vector.Zero);
83
84        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Player2: Liikuta pelaajaa ylös", Player2, NopeusYlos);
85        Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, Player2, Vector.Zero);
86        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Player2: Liikuta pelaajaa alas", Player2, NopeusAlas);
87        Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, Player2, Vector.Zero);
88        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Player2: Liikuta pelaajaa oikealle", Player2, NopeusOikealle);
89        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, Player2, Vector.Zero);
90        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Player1: Liikuta pelaajaa vasemmalle", Player2, NopeusVasemmalle);
91        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, Player2, Vector.Zero);
92
93        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
94        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
95    }
96
97    void AsetaNopeus(PhysicsObject pelaaja, Vector suunta)
98    {
99        pelaaja.Velocity = suunta;
100        //pelaaja.Push(suunta);
101    }
102
103    void KasittelePelaajanTormays(PhysicsObject pelaaja, PhysicsObject kohde )
104    {
105        if (pelaaja == Player1)
106        {
107            if (kohde.Tag.ToString() == "kepakko")
108            { 
109                kohde.Color = Color.Blue; 
110            }
111        }
112
113    }
114}
115
Note: See TracBrowser for help on using the repository browser.