source: sara_h/Labyrintti_2/Peli.cs @ 137

Revision 137, 4.1 KB checked in by samafrha, 11 years ago (diff)
Line 
1#region Usings
2using System;
3using System.Collections.Generic;
4using System.Linq;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.Graphics;
9using Microsoft.Xna.Framework.Input;
10using Microsoft.Xna.Framework.Media;
11using Jypeli;
12using Jypeli.ScreenObjects;
13using Jypeli.Assets;
14using AdvanceMath;
15using Physics2DDotNet;
16using Physics2DDotNet.Shapes;
17#endregion
18
19namespace Labyrintti_2
20{
21    public class Peli : PhysicsGame
22    {
23        PhysicsObject pallo1;
24        //PhysicsObject pallo2;
25       
26
27        protected override void LoadContent()
28        {
29           
30            //pallo2 = LuoPallo();
31            pallo1 = LuoPallo();
32
33            // Tehdään seinät: leveys, korkeus, x-koordinaatti, y-koordinaatti
34            LuoSeina(180, 40, -500, 325 );//poikittain
35            LuoSeina(40, 150, -570, 380);//eka pystyssä oleva
36            LuoSeina(40, 100, -480, 465);//pystyssä ylhäällä
37            LuoSeina(40, 135, -390, 330);//pieni
38            LuoSeina(180, 40, -320, 400);//2. poikittain oleva
39            LuoSeina(40, 115, -250, 360);// pätkä
40            LuoSeina(90, 40, -275, 300);// 3.poikittain oleva pätkä
41            LuoSeina(40, 135, -160, 350);//yksinäinen
42            LuoSeina(40, 150, -70, 350);// yksinäinen 2.
43            LuoSeina(40, 160, -570, 130);// vasen yksinäinen
44            LuoSeina(40, 50, -570, 280);//mini
45            LuoSeina(40, 50, -340, 500);
46            LuoSeina(40, 50, -250, 500);
47            LuoSeina(160, 40, -130, 200);//poikittain
48            LuoSeina(40, 40, -20, 100);
49            LuoSeina(40, 100, -20, -20);
50            LuoSeina(40, 90, -300, 180);
51
52            LuoLuu(10, 10);
53
54            AsetaOhjaimet();
55            Level.CreateBorder();
56           
57        }
58
59        void AsetaOhjaimet()
60        {
61
62            //Pelaajan 1 näppäimet
63            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu ylöspäin", pallo1, new Vector2D(-1000, 0));
64            //Controls.Listen(Keys.W, ButtonPosition.Released, PysaytaLiike, null, pallo1);
65            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu alaspäin", pallo1, new Vector2D(1000, 0));
66            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu vasemmalle", pallo1, new Vector2D(0, 1000));
67            Controls.Listen(Keys.D, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu oikealle", pallo1, new Vector2D(0, -1000));
68
69        }
70
71        PhysicsObject LuoLuu(double x, double y)
72    {
73            IShape suorakaide = Shapes.CreateRectangle(20.0, 20.0);
74            PhysicsObject luu = new PhysicsObject(10.0, suorakaide);
75            luu.Color = Color.Chocolate;
76            luu.X = x;
77            luu.Y = y;
78            Level.Objects.Add(luu);
79            return luu;
80
81    }
82
83        PhysicsObject LuoPallo()
84        {
85            IShape ympyra = Shapes.CreateCircle(20.0);
86            PhysicsObject pallo = new PhysicsObject(10.0,ympyra);
87            pallo.Body.LinearDamping = 0.95;
88            pallo.X = Level.Left + 25;
89            pallo.Y = Level.Top - 25;
90            //pallo.Restitution = 1.0;
91            Level.Objects.Add(pallo);
92            return pallo;
93        }
94
95        void LuoSeina(double leveys, double korkeus, double x, double y)
96        {
97            IShape suorakulmio = Shapes.CreateRectangle(leveys, korkeus);
98            PhysicsObject seina = PhysicsObject.CreateStaticObject(suorakulmio);
99            seina.X = x;
100            seina.Y = y;
101            Level.Objects.Add(seina);
102        }
103
104        Boolean LiikutaPalloa(ControlEvent e)
105        {
106            PhysicsObject pallo = e.Parameter0.ToPhysicsObject();
107            Vector2D suunta = e.Parameter1.ToVector2D();
108            pallo.Push(suunta);
109            return false; 
110
111           
112        }
113PhysicsObject LuoMaali()
114
115    {
116        IShape ympyra = Shapes.CreateCircle(20.0);
117        PhysicsObject pallo = new PhysicsObject(10.0, ympyra);
118        Level.Objects.Add(pallo);
119        return pallo;
120
121
122    }
123    }
124}
Note: See TracBrowser for help on using the repository browser.