- Timestamp:
- 2012-06-29 12:44:31 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/TopiL/Spike Fall/Spike Fall/Spike Fall/Spike Fall/Spike_Fall.cs
r3371 r3416 8 8 9 9 /// <summary> 10 /// Sivusta päin kuvattu auto, jossa on kaksi pyörää.11 10 /// </summary> 12 11 class RagDoll : PhysicsObject 13 12 { 14 //PhysicsObject vartalo;15 //AxleJoint vartaloLiitos;16 //PhysicsObject vasenJalka;17 //AxleJoint vasenJalkaLiitos;18 //PhysicsObject oikeaJalka;19 //AxleJoint oikeaJalkaLiitos;20 //PhysicsObject vasenKasi;21 //AxleJoint vasenKasiLiitos;22 //PhysicsObject oikeaKasi;23 //AxleJoint oikeaKasiLiitos;24 25 13 public RagDoll(double leveys, double korkeus) 26 14 : base(leveys, korkeus) … … 34 22 public void Kiihdyta(double kiihtyvyys) 35 23 { 36 //double kulmakiiht = kiihtyvyys * vasenPyora.Width / 2; 37 //double hitaus = MomentOfInertia + vasenPyora.MomentOfInertia + oikeaPyora.MomentOfInertia; 38 //double vaanto = kulmakiiht * hitaus; 39 //double vaantoPerPyora = vaanto / 2; 40 41 //vasenPyora.ApplyTorque(vaantoPerPyora); 42 //oikeaPyora.ApplyTorque(vaantoPerPyora); 24 43 25 } 44 26 … … 61 43 vasenJalkaLiitos.Softness = 0.01; 62 44 fysiikkaPeli.Add(vasenJalkaLiitos); 63 64 //vasenKasi = new PhysicsObject(65 //vasenPyora.Position = this.Position + new Vector(-Width / 4, -Height / 2);66 67 45 } 68 46 69 47 public override void Destroy() 70 48 { 71 //vasenLiitos.Destroy();72 //oikeaLiitos.Destroy();73 //vasenPyora.Destroy();74 //oikeaPyora.Destroy();75 49 base.Destroy(); 76 50 } … … 80 54 { 81 55 82 ExplosionSystem es = new ExplosionSystem(LoadImage("veri"), 3000);56 ExplosionSystem es; 83 57 84 58 public override void Begin() 85 { 86 //RagDoll ragdoll = new RagDoll(40, 40); // pään koko 100 x 100 87 //ragdoll.Angle = Angle.FromDegrees(30); 88 //Add(ragdoll); 59 { 60 SetWindowSize(1024, 768, false); 61 Valikko(); 62 } 63 64 void AloitaPeli() 65 { 66 ClearAll(); 67 89 68 Wind = new Vector(0, -200); 69 es = new ExplosionSystem(LoadImage("veri"), 3000); 90 70 es.MaxLifetime = 15; 91 71 es.MinLifetime = 10; … … 120 100 es.AddEffect(p.Position, 50); 121 101 vartaloLiitos.Destroy(); 102 LopetaPeli(); 122 103 }); 123 104 … … 126 107 vasenKasi.Top = vartalo.Top; 127 108 vasenKasi.Right = vartalo.Left; 128 //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2);129 109 vasenKasi.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Ivory, Color.Charcoal); 130 110 Add(vasenKasi); … … 143 123 oikeaKasi.Top = vartalo.Top; 144 124 oikeaKasi.Left = vartalo.Right; 145 //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2);146 125 oikeaKasi.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Ivory, Color.Charcoal); 147 126 Add(oikeaKasi); … … 160 139 vasenJalka.Top = vartalo.Bottom; 161 140 vasenJalka.Right = vartalo.Left; 162 //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2);163 141 vasenJalka.Image = Image.FromGradient((int)paa.Width, (int)paa.Height, Color.Charcoal, Color.Ivory); 164 142 Add(vasenJalka); … … 178 156 oikeaJalka.Top = vartalo.Bottom; 179 157 oikeaJalka.Left = vartalo.Right; 180 //vasenJalka.Position = vartalo.Position + new Vector(-vasenJalka.Height /1.4, -vartalo.Height / 1.6 - vasenJalka.Height / 2);181 158 oikeaJalka.Image = Image.FromGradient((int)vartalo.Width, (int)vartalo.Height, Color.Charcoal, Color.Ivory); 182 159 … … 204 181 oikeaKasi.Hit(RandomGen.NextVector(100, 500)); 205 182 vasenKasi.Hit(RandomGen.NextVector(100, 500)); 183 LopetaPeli(); 206 184 }); 207 185 … … 216 194 217 195 Timer ajastin = new Timer(); 218 ajastin.Interval = 1.0;196 ajastin.Interval = RandomGen.NextInt(1, 5); 219 197 ajastin.Timeout += Piikit; 220 198 ajastin.Start(); 221 199 200 Timer ajastin2 = new Timer(); 201 ajastin2.Interval = RandomGen.NextInt(1, 6); 202 ajastin2.Timeout += Piikit2; 203 ajastin2.Start(); 204 205 Timer ajastin3 = new Timer(); 206 ajastin3.Interval = RandomGen.NextInt(1, 8); 207 ajastin3.Timeout += Piikit3; 208 ajastin3.Start(); 209 210 Timer ajastin4 = new Timer(); 211 ajastin4.Interval = RandomGen.NextInt(1, 14); 212 ajastin4.Timeout += Piikit4; 213 ajastin4.Start(); 214 222 215 LuoAikaLaskuri(); 223 216 224 SetWindowSize(1024, 768, false);225 226 217 Camera.ZoomToLevel(); 227 218 228 219 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 220 } 221 222 void Valikko() 223 { 224 ClearAll(); 225 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 226 "Aloita peli", "Lopeta"); 227 Add(alkuValikko); 228 alkuValikko.ItemSelected += PainettiinValikonNappia; 229 } 230 231 void PainettiinValikonNappia(int valinta) 232 { 233 switch (valinta) 234 { 235 case 0: 236 AloitaPeli(); 237 break; 238 case 1: 239 Exit(); 240 break; 241 } 242 } 243 244 void LopetaPeli() 245 { 246 Keyboard.DisableAll(); 247 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, ""); 229 248 } 230 249 … … 235 254 236 255 Label aikaNaytto = new Label(); 237 aikaNaytto.TextColor = Color. White;256 aikaNaytto.TextColor = Color.Silver; 238 257 aikaNaytto.DecimalPlaces = 1; 239 258 aikaNaytto.BindTo(aikaLaskuri.SecondCounter); … … 243 262 void Piikit() 244 263 { 245 LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 345); 246 LuoPiikki(0, 345); 247 LuoPiikki(-400, 345); 264 LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 340); 265 LuoPiikki(RandomGen.NextDouble(Level.Left, Level.Right), 340); 266 } 267 268 void Piikit2() 269 { 270 LuoPiikki2(RandomGen.NextDouble(Level.Left, Level.Right), 340); 271 LuoPiikki2(RandomGen.NextDouble(Level.Left, Level.Right), 340); 272 } 273 274 void Piikit3() 275 { 276 LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 277 LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 278 LuoPiikki3(RandomGen.NextDouble(Level.Left, Level.Right), 340); 279 } 280 281 void Piikit4() 282 { 283 LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 284 LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 285 LuoPiikki4(RandomGen.NextDouble(Level.Left, Level.Right), 340); 248 286 } 249 287 … … 253 291 Piikki.Image = LoadImage("Piikki2"); 254 292 Piikki.Position = new Vector(x, y); 255 Piikki.Mass = 1;256 293 Piikki.Tag = "piikki"; 257 Piikki.Restitution = 0.5;258 294 Add(Piikki); 259 295 AddCollisionHandler(Piikki, CollisionHandler.DestroyObject); 260 296 } 261 297 298 void LuoPiikki2(double x, double y) 299 { 300 PhysicsObject Piikki2 = new PhysicsObject(30, 80); 301 Piikki2.Image = LoadImage("Piikki2"); 302 Piikki2.Position = new Vector(x, y); 303 Piikki2.Tag = "piikki"; 304 Add(Piikki2); 305 AddCollisionHandler(Piikki2, CollisionHandler.DestroyObject); 306 } 307 308 void LuoPiikki3(double x, double y) 309 { 310 PhysicsObject Piikki3 = new PhysicsObject(30, 80); 311 Piikki3.Image = LoadImage("Piikki2"); 312 Piikki3.Position = new Vector(x, y); 313 Piikki3.Tag = "piikki"; 314 Add(Piikki3); 315 AddCollisionHandler(Piikki3, CollisionHandler.DestroyObject); 316 } 317 318 void LuoPiikki4(double x, double y) 319 { 320 PhysicsObject Piikki4 = new PhysicsObject(30, 80); 321 Piikki4.Image = LoadImage("Piikki2"); 322 Piikki4.Position = new Vector(x, y); 323 Piikki4.Tag = "piikki"; 324 Add(Piikki4); 325 AddCollisionHandler(Piikki4, CollisionHandler.DestroyObject); 326 } 327 262 328 void Liikuta(PhysicsObject pallo, Vector suunta) 263 329 {
Note: See TracChangeset
for help on using the changeset viewer.