source: aapo_p/FysiikkaPeli2/Peli.cs @ 74

Revision 74, 5.8 KB checked in by aaalalpe, 12 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 Defendyourhouse
20{
21//keskeneräiset:
22//neliöistä luodaan rajat, koodi on pohjalla
23//vaihtoehtoisesti tiilistä tehdään reunat(mieluisa vaihtoehto)
24//laita oma hahmo kuntoon
25//tornit, ja ampuminen kaikille
26//päivien vaihtuminen ja vihollisten määrän kasvaminen ja ulkomuodon muuttuminen
27//mahdollisesti myös pistelaskuri
28//ota selvää miksi nelön luominen ei onnistu????
29//miksi hahmo1 on ohjaus-aliohjelmissa "null"??????????????????????????????
30
31
32    public class Peli : PhysicsGame
33           
34    {
35        public PhysicsObject neli;
36        public PhysicsObject nelio11;
37        public PhysicsObject hahmo1;
38        public PhysicsObject nelia;
39        public PhysicsObject tiili;
40       
41        public ListSelectionWindow menu;
42        protected override void LoadContent()
43        {
44            Menu();               
45        }     
46        void AsetaOhjaimet()
47        {
48            Controls.Listen(Keys.M, ButtonPosition.Down, menu2, "menu" );
49            Controls.Listen(Keys.W, ButtonPosition.Down, ylös, "ylöspäin", hahmo1);
50            Controls.Listen(Keys.S, ButtonPosition.Down, alas, "alaspäin", hahmo1);
51            Controls.Listen(Keys.A, ButtonPosition.Down, vasemmalle, "vasemmalle", hahmo1);
52            Controls.Listen(Keys.D, ButtonPosition.Down, oikealle, "oikealle", hahmo1);
53
54        }
55       
56
57           
58       // void tiili(double x, double y)
59      //  {
60      //      IShape tiili = Shapes.CreateRectangle(100.0, 100.0);
61      //      PhysicsObject.tiilet = PhysicsObject.CreateStaticObject(tiili);
62      //      tiilet.X = x;
63      //      tiilet.Y = y;
64      //      tiilet.Color = Color.Brown;
65      //  }
66        void Buy (ScreenObject sender)
67        {
68                                 
69        }
70        Boolean Menu()
71        {
72            menu = new ListSelectionWindow(this);
73            menu.AddItem("lopeta").Clicked += new ScreenObject.ClickEventHandler(lopeta);
74            menu.AddItem("aloita").Clicked +=new ScreenObject.ClickEventHandler(aloita);
75            menu.AddItem("osta").Clicked += new ScreenObject.ClickEventHandler(Buy);
76            Add(menu);
77
78            return false;
79        }
80
81
82
83        void lopeta(ScreenObject sender)
84        {
85            Exit();
86        }
87        void aloita(ScreenObject sender)
88        {
89            menu.Close();
90            AsetaOhjaimet();
91            neliö();
92            for (int i = 0; i < 20; i++)
93            {
94                addenemy();
95            }
96            addhero();
97           
98        }
99        void addenemy()
100        {
101            IShape nelio = Shapes.CreateRectangle(50.0, 50.0);
102            PhysicsObject enemy1 = new PhysicsObject(10.0, nelio);
103            Texture2D joku = Content.Load<Texture2D>("enemy1");
104            enemy1.AnimatedTexture = AnimatedTexture.FromTexture2D(joku, 320, false);
105            Level.Objects.Add(enemy1);
106            enemy1.X = Level.Left;
107            enemy1.Y = 0;
108            enemy1.Restitution = 2.0;
109            Vector2D impulssi2 = new Vector2D(600.0, 0.0);
110            enemy1.Hit(impulssi2);
111        }
112        void addtile()
113        {
114           
115            IShape tiili2 = Shapes.CreateRectangle(149.0, 131.0);
116            tiili = PhysicsObject.CreateStaticObject(tiili2);
117            Texture2D tiili = Content.Load<Texture2D>("tiili");
118           
119           
120                       
121        }
122        void addhero()
123        {
124            IShape nelia = Shapes.CreateRectangle(50.0, 50.0);
125            hahmo1 = new PhysicsObject(10.0, nelia);
126            Texture2D hahmo = Content.Load<Texture2D>("hahmo1");
127            Level.Objects.Add(hahmo1);
128            hahmo1.X = Level.Right + 25;
129            hahmo1.Y = 0;
130        }
131
132        void addtower()
133        {
134 
135        }
136        bool menu2(ControlEvent e)
137        {
138            Menu();
139
140            return false;
141        }
142       
143        bool alas(ControlEvent e)
144        {
145            PhysicsObject hahmo1 = e.Parameter0.ToPhysicsObject();
146            hahmo1.Y += -5.0;
147
148            return false;
149        }
150        bool ylös(ControlEvent e)
151        {
152            PhysicsObject hahmo1 = e.Parameter0.ToPhysicsObject();
153            hahmo1.Y += 5.0;
154
155            return false;
156        }
157        bool oikealle(ControlEvent e)
158        {
159            PhysicsObject hahmo1 = e.Parameter0.ToPhysicsObject();
160            hahmo1.X += 5.0;
161
162            return false;
163        }
164        bool vasemmalle(ControlEvent e)
165        {
166            PhysicsObject hahmo1 = e.Parameter0.ToPhysicsObject();
167            hahmo1.X += -5.0;
168
169            return false;           
170        }
171        bool LiikutaMailaaYlos(ControlEvent e)
172        {
173
174            PhysicsObject nelio3 = e.Parameter0.ToPhysicsObject();
175            nelio3.Y += 10.0;
176
177
178            return false;
179        }
180        void neliö()
181        {
182            IShape neliö22 = Shapes.CreateRectangle(50.0, 50.0);
183            neli = PhysicsObject.CreateStaticObject(neliö22);
184            neli.X = -100;
185            neli.Y = -25;
186            neli.Restitution = 0;
187            neli.Color = Color.Black;
188            neli.Angle = neli.Angle + Angle.Degrees(45);
189            Level.Objects.Add(neli);
190         }
191       
192       
193       
194
195
196    }
197}
198//nelio.Angle = nelio.Angle + Angle.Degrees(50);
199 //           base.Update(gameTime);
Note: See TracBrowser for help on using the repository browser.