- Timestamp:
- 2014-06-27 12:10:10 (7 years ago)
- Location:
- 2014/26/NikoK
- Files:
-
- 2 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/26/NikoK/EpicTankBattle/EpicTankBattle/EpicTankBattle/EpicTankBattle.cs
r5137 r5160 95 95 { 96 96 ClearAll(); 97 97 LuoAlkuValikko(); 98 } 99 100 void LuoAlkuValikko() 101 { 98 102 MultiSelectWindow alkuValikko = new MultiSelectWindow("EpicTankBattle", 99 103 "Uusi peli", "Lopeta"); 104 Level.Background.CreateGradient(Color.Mint, Color.Snow); 100 105 Add(alkuValikko); 106 alkuValikko.ItemSelected += PainettiinValikonNappia; 101 107 102 Level.Background.CreateGradient(Color.Mint, Color.Snow); 103 alkuValikko.ItemSelected += PainettiinValikonNappia; 104 } 108 } 105 109 106 110 void PainettiinValikonNappia(int valinta) … … 122 126 Add(MaaperaValikko); 123 127 MaaperaValikko.ItemSelected += PainettiinMaaperaValikonNappia; 128 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoAlkuValikko, null); 124 129 } 125 130 void PainettiinMaaperaValikonNappia(int MaaperanValinta) … … 147 152 Add(P1VariValikko); 148 153 P1VariValikko.ItemSelected += PainettiinP1VariValikonNappia; 154 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoAlkuValikko, null); 149 155 } 150 156 void PainettiinP1VariValikonNappia(int valinta2) … … 191 197 Add(P2VariValikko); 192 198 P2VariValikko.ItemSelected += PainettiinP2VariValikonNappia; 199 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoAlkuValikko, null); 193 200 } 194 201 void PainettiinP2VariValikonNappia(int valinta3) … … 622 629 Keyboard.Listen(Key.Tab, ButtonState.Pressed, Hyppaa, null, P1, hyppy); 623 630 Keyboard.Listen(Key.Enter, ButtonState.Pressed, Hyppaa, null, P2, hyppy); 631 632 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoAlkuValikko, null); 624 633 } 625 634 -
2014/26/NikoK/EpicTankBattle/EpicTankBattle/EpicTankBattle/bin/x86/Debug/EpicTankBattle.application
r5137 r5160 16 16 </dsig:Transforms> 17 17 <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 18 <dsig:DigestValue> 70g2S5K7hnZGTe1XxXM0mxA5UFo=</dsig:DigestValue>18 <dsig:DigestValue>J38hexa3f8FoUKWg8wyTa69hUNw=</dsig:DigestValue> 19 19 </hash> 20 20 </dependentAssembly> -
2014/26/NikoK/EpicTankBattle/EpicTankBattle/EpicTankBattle/bin/x86/Debug/EpicTankBattle.exe.manifest
r5137 r5160 44 44 </dependency> 45 45 <dependency> 46 <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="EpicTankBattle.exe" size="2 8672">46 <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="EpicTankBattle.exe" size="29184"> 47 47 <assemblyIdentity name="EpicTankBattle" version="1.0.0.0" language="neutral" processorArchitecture="x86" /> 48 48 <hash> … … 51 51 </dsig:Transforms> 52 52 <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 53 <dsig:DigestValue> +ssVvFKBZWxkhAg15i5xXYouiYs=</dsig:DigestValue>53 <dsig:DigestValue>iASo6wbmoyF+nxQ1HzVvJDlTnzs=</dsig:DigestValue> 54 54 </hash> 55 55 </dependentAssembly> -
2014/26/NikoK/EpicTankBattle/EpicTankBattle/EpicTankBattle/obj/x86/Debug/EpicTankBattle.application
r5137 r5160 16 16 </dsig:Transforms> 17 17 <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 18 <dsig:DigestValue> 70g2S5K7hnZGTe1XxXM0mxA5UFo=</dsig:DigestValue>18 <dsig:DigestValue>J38hexa3f8FoUKWg8wyTa69hUNw=</dsig:DigestValue> 19 19 </hash> 20 20 </dependentAssembly> -
2014/26/NikoK/EpicTankBattle/EpicTankBattle/EpicTankBattle/obj/x86/Debug/EpicTankBattle.exe.manifest
r5137 r5160 44 44 </dependency> 45 45 <dependency> 46 <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="EpicTankBattle.exe" size="2 8672">46 <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="EpicTankBattle.exe" size="29184"> 47 47 <assemblyIdentity name="EpicTankBattle" version="1.0.0.0" language="neutral" processorArchitecture="x86" /> 48 48 <hash> … … 51 51 </dsig:Transforms> 52 52 <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 53 <dsig:DigestValue> +ssVvFKBZWxkhAg15i5xXYouiYs=</dsig:DigestValue>53 <dsig:DigestValue>iASo6wbmoyF+nxQ1HzVvJDlTnzs=</dsig:DigestValue> 54 54 </hash> 55 55 </dependentAssembly> -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/Ase.cs
r5133 r5160 12 12 public Image AmmuksenKuva { get; set; } 13 13 14 public bool IsEnabled = false; 15 14 16 public Ase(double width, double height, double damage) 15 17 :base(width, height) 16 18 { 17 19 this.Damage = damage; 20 this.IsEnabled = true; 18 21 } 19 22 } -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/Juna.cs
r5137 r5160 32 32 WarTrain.Peli.Keyboard.Disable(Key.W); 33 33 WarTrain.Peli.Keyboard.Disable(Key.Up); 34 WarTrain.Peli.Camera.StopFollowing(); 35 WarTrain.Peli.PeliPaattyi(); 34 36 }; 35 37 … … 69 71 Vaunut[i].CanRotate = true; 70 72 } 73 if (i == 0) 74 { 75 Veturi.Elamat.Value = 0; 76 } 71 77 } 72 78 -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/Vaunu.cs
r5137 r5160 9 9 public bool OnkoRaiteilla { get; set; } 10 10 11 List<Ase> Aseet = new List<Ase>();11 public List<Ase> Aseet = new List<Ase>(); 12 12 13 13 public Vaunu(double width, double height, int elamat) … … 18 18 this.OnkoRaiteilla = true; 19 19 this.IsUpdated = true; 20 this.Tag = "juna"; 21 this.CollisionIgnoreGroup = 1; 20 22 } 21 23 … … 27 29 this.OnkoRaiteilla = true; 28 30 this.IsUpdated = true; 31 this.Tag = "juna"; 32 this.CollisionIgnoreGroup = 1; 29 33 } 30 34 … … 38 42 for (int i = 0; i < Aseet.Count; i++) 39 43 { 40 Aseet[i].A ngle = (WarTrain.Peli.Mouse.PositionOnWorld - Aseet[i].Position).Angle;44 Aseet[i].AbsoluteAngle = (WarTrain.Peli.Mouse.PositionOnWorld - Aseet[i].AbsolutePosition).Angle; 41 45 } 42 46 base.Update(time); … … 52 56 public void Ammu() 53 57 { 58 if (!this.OnkoRaiteilla) return; 54 59 for (int i = 0; i < Aseet.Count; i++) 55 60 { 56 Aseet[i].Shoot(); 61 if (!Aseet[i].IsEnabled) continue; 62 PhysicsObject o = Aseet[i].Shoot(); 63 64 if (o != null) 65 { 66 o.Size = new Vector(Aseet[i].AmmuksenKuva.Width, Aseet[i].AmmuksenKuva.Height); 67 o.Size *= 2.25; 68 o.Image = Aseet[i].AmmuksenKuva; 69 o.MaximumLifetime = TimeSpan.FromSeconds(2.5); 70 o.Collided += AmmusOsui; 71 o.Tag = Aseet[i].Damage; 72 o.CollisionIgnoreGroup = 1; 73 } 74 } 75 } 76 77 private void AmmusOsui(IPhysicsObject ammus, IPhysicsObject kohde) 78 { 79 Tuhoutuva t = kohde as Tuhoutuva; 80 81 if (t != null) 82 { 83 if (t.Tag.ToString() != "juna") 84 t.Elamat.Value -= (double)ammus.Tag; 57 85 } 58 86 } -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/Vihollinen.cs
r5137 r5160 16 16 public int RuutujaLevelUppiin { get; set; } 17 17 18 public Image TuhoutumisEfektiKuva { get; set; } 18 19 19 20 public Vihollinen(double width, double height, double elamat, double damage, double fireRate) … … 31 32 this.AmpumisAjastin.Timeout += delegate() { Ammu(EtsiLahinKohde()); }; 32 33 this.AmpumisAjastin.Start(); 34 this.Elamat.LowerLimit += delegate { this.Destroy(); }; 33 35 36 this.Destroying += delegate 37 { 38 TuhoutumisEfekti(); 39 }; 34 40 this.Destroyed += delegate { 35 41 this.Ase.Destroy(); 36 42 this.AmpumisAjastin.Stop(); 43 WarTrain.Peli.Pistelaskuri.Value += 100; 37 44 }; 38 45 … … 49 56 tuhoutumisAjastin.Start(); 50 57 this.MakeStatic(); 51 this.Collided += delegate(IPhysicsObject vihu, IPhysicsObject kohde) { vihu.Destroy(); };58 this.Collided += delegate(IPhysicsObject vihu, IPhysicsObject kohde) { if (kohde.Tag.ToString() == "juna") vihu.Destroy(); }; 52 59 this.IgnoresCollisionResponse = true; 53 60 } … … 107 114 return vaunut[lahinI].Position; 108 115 } 116 117 public void TuhoutumisEfekti() 118 { 119 GameObject efekti = new GameObject(this.Width, this.Height); 120 efekti.Image = TuhoutumisEfektiKuva; 121 efekti.Position = this.Position; 122 WarTrain.Peli.Add(efekti, -1); 123 } 109 124 } -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/WarTrain.cs
r5137 r5160 37 37 public class WarTrain : PhysicsGame 38 38 { 39 EasyHighScore topLista = new EasyHighScore();40 39 41 40 SoundEffect Pam1 = LoadSoundEffect("Pam1"); … … 84 83 int VihollisiaAlueella = 5; 85 84 85 EasyHighScore TopLista = new EasyHighScore(); 86 87 public IntMeter Pistelaskuri; 88 86 89 public override void Begin() 87 90 { 88 // ParhaatTulokset = DataStorage.TryLoad<ScoreList>(ParhaatTulokset, "ParhaatTulokset.txt");89 91 Peli = this; 90 92 SetWindowSize(680, 760); … … 92 94 } 93 95 94 96 void LuoTopLista() 97 { 98 TopLista.Show(); 99 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoValikko, null).InContext(TopLista.HighScoreWindow); 100 } 95 101 96 102 void LuoValikko() … … 100 106 MediaPlayer.Play("Musa"); 101 107 MediaPlayer.IsRepeating = true; 102 MediaPlayer.Volume = 1;108 MediaPlayer.Volume = 0.5; 103 109 104 110 Mouse.IsCursorVisible = false; … … 111 117 Valikko.DefaultCancel = 3; 112 118 Add(Valikko); 113 //Pistelaskuri.Reset();114 119 } 115 120 … … 122 127 break; 123 128 case 1: 129 LuoTopLista(); 124 130 break; 125 131 case 2: … … 129 135 } 130 136 131 //HighScoreWindow TulosIkkuna = new HighScoreWindow(132 // "Parhaat tulokset:",133 // ParhaatTulokset);134 //TulosIkkuna.Closed += TallennaPisteet;135 //136 //void TallennaPisteet(Window sender)137 //{138 // DataStorage.Save<ScoreList>(ParhaatTulokset, "ParhaatTulokset.txt");139 //}140 141 IntMeter Pistelaskuri;142 143 137 void LuoPisteLaskuri() 144 138 { 145 139 Pistelaskuri = new IntMeter(0); 146 140 Label PisteNaytto = new Label(); 147 PisteNaytto.X = Screen.Left + 100; 148 PisteNaytto.Y = Screen.Top - 100; 149 PisteNaytto.Color = Color.White; 141 PisteNaytto.X = taustakuvat[0].Right - PisteNaytto.Width - 10; 142 PisteNaytto.Title = "Pisteet"; 143 PisteNaytto.Y = taustakuvat[0].Top - 50; 144 PisteNaytto.Color = Color.Transparent; 150 145 PisteNaytto.BindTo(Pistelaskuri); 151 //Add(PisteNaytto); 146 Add(PisteNaytto); 147 } 148 149 void LuoHPMittari(DoubleMeter meter, Vector paikka, string title) 150 { 151 Label elamaNaytto = new Label(meter); 152 elamaNaytto.DecimalPlaces = 0; 153 elamaNaytto.Title = title; 154 elamaNaytto.Position = new Vector(taustakuvat[0].Right - elamaNaytto.Width / 2 - 37, paikka.Y); 155 elamaNaytto.Color = Color.Transparent; 156 Add(elamaNaytto); 152 157 } 153 158 … … 158 163 Spawnaus.Initialize(); 159 164 MediaPlayer.Play("Musa2"); 160 MediaPlayer.Volume = 0. 2;165 MediaPlayer.Volume = 0.1; 161 166 Level.Background.CreateGradient(Color.DarkGray, Color.DarkJungleGreen); 162 167 … … 197 202 for (int i = 0; i < 1; i++) 198 203 { 199 Vaunu v = new Vaunu(LoadImage("Junavaunu"), 100);204 Vaunu v = new Vaunu(LoadImage("Junavaunu"), 500); 200 205 juna.LisaaVaunu(v); 201 206 } 202 207 Ase kk = new Ase(aseKuva1.Width, aseKuva1.Height, 12.50); 203 kk.FireRate = 2;208 kk.FireRate = 4; 204 209 kk.InfiniteAmmo = true; 205 210 kk.Image = aseKuva1; 206 211 kk.Size *= 2; 212 kk.AmmuksenKuva = panosKuva1; 213 kk.AttackSound = Pam1; 207 214 juna.Vaunut[0].LisaaAse(kk, new Vector(0.0, juna.Vaunut[0].Height / 3)); 208 215 209 216 Ase pieniTykki = new Ase(aseKuva2.Width, aseKuva2.Height, 31.25); 210 pieniTykki.FireRate = 1;217 pieniTykki.FireRate = 2; 211 218 pieniTykki.InfiniteAmmo = true; 212 219 pieniTykki.Image = aseKuva2; 213 220 pieniTykki.Size *= 2; 221 pieniTykki.AmmuksenKuva = panosKuva2; 222 pieniTykki.AttackSound = Pam2; 214 223 juna.Vaunut[0].LisaaAse(pieniTykki, new Vector(0.0, kk.Position.Y - juna.Vaunut[0].Height / 3)); 215 224 216 225 Ase isoTykki = new Ase(aseKuva3.Width, aseKuva3.Height, 75.00); 217 isoTykki.FireRate = 0.5;226 isoTykki.FireRate = 1; 218 227 isoTykki.InfiniteAmmo = true; 219 228 isoTykki.Image = aseKuva3; 220 229 isoTykki.Size *= 2; 230 isoTykki.AmmuksenKuva = panosKuva3; 231 isoTykki.AttackSound = Pam3; 221 232 juna.Vaunut[0].LisaaAse(isoTykki, new Vector(0.0, pieniTykki.Position.Y - juna.Vaunut[0].Height / 3)); 222 233 … … 228 239 peliAikaAjastin.Start(); 229 240 SmoothTextures = false; 230 } 241 LuoPisteLaskuri(); 242 243 Vector ylimmanMittarinPaikka = new Vector(0.0, taustakuvat[0].Top - 100); 244 LuoHPMittari(juna.Veturi.Elamat, ylimmanMittarinPaikka, "Veturi"); 245 246 for (int i = 0; i < juna.Vaunut.Count; i++) 247 { 248 ylimmanMittarinPaikka += new Vector(0.0, -50.0); 249 LuoHPMittari(juna.Vaunut[i].Elamat, ylimmanMittarinPaikka, "Vaunu"); 250 } 251 } 252 231 253 protected override void Update(Time time) 232 254 { … … 252 274 base.Update(time); 253 275 } 276 277 public void PeliPaattyi() 278 { 279 TopLista.EnterAndShow(Pistelaskuri.Value); 280 TopLista.EnterText = "Kirjoita nimesi:"; 281 TopLista.HighScoreWindow.OKButton.Clicked += LuoValikko; 282 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoValikko, null).InContext(TopLista.HighScoreWindow); 283 } 284 254 285 255 286 void SpawnaaVihollisia(Vector keskipiste) … … 318 349 vihrea.Position = paikka; 319 350 vihrea.Ase.AmmuksenKuva = panosKuva1; 351 vihrea.Ase.AttackSound = Pam1; 352 vihrea.TuhoutumisEfektiKuva = sotilasKuollutKuva; 320 353 Add(vihrea); 321 354 break; … … 325 358 keltainen.Position = paikka; 326 359 keltainen.Ase.AmmuksenKuva = panosKuva1; 360 keltainen.Ase.AttackSound = Pam1; 361 keltainen.TuhoutumisEfektiKuva = sotilasKuollutKuva; 327 362 Add(keltainen); 328 363 break; … … 332 367 punainen.Position = paikka; 333 368 punainen.Ase.AmmuksenKuva = panosKuva1; 369 punainen.Ase.AttackSound = Pam1; 370 punainen.TuhoutumisEfektiKuva = sotilasKuollutKuva; 334 371 Add(punainen); 335 372 break; … … 348 385 vihrea.Position = paikka; 349 386 vihrea.Ase.AmmuksenKuva = panosKuva2; 387 vihrea.Ase.AttackSound = Pam2; 388 vihrea.TuhoutumisEfektiKuva = tankkiKuollutKuva; 350 389 Add(vihrea); 351 390 break; … … 355 394 keltainen.Position = paikka; 356 395 keltainen.Ase.AmmuksenKuva = panosKuva2; 396 keltainen.Ase.AttackSound = Pam2; 397 keltainen.TuhoutumisEfektiKuva = tankkiKuollutKuva; 357 398 Add(keltainen); 358 399 break; … … 362 403 punainen.Position = paikka; 363 404 punainen.Ase.AmmuksenKuva = panosKuva2; 405 punainen.Ase.AttackSound = Pam2; 406 punainen.TuhoutumisEfektiKuva = tankkiKuollutKuva; 364 407 Add(punainen); 365 408 break; … … 379 422 vihrea.Position = paikka; 380 423 vihrea.Ase.AmmuksenKuva = panosKuva3; 424 vihrea.Ase.AttackSound = Pam3; 425 vihrea.TuhoutumisEfektiKuva = tykkiKuollutKuva; 381 426 Add(vihrea); 382 427 break; … … 386 431 keltainen.Position = paikka; 387 432 keltainen.Ase.AmmuksenKuva = panosKuva3; 433 keltainen.Ase.AttackSound = Pam3; 434 keltainen.TuhoutumisEfektiKuva = tykkiKuollutKuva; 388 435 Add(keltainen); 389 436 break; … … 393 440 punainen.Position = paikka; 394 441 punainen.Ase.AmmuksenKuva = panosKuva3; 442 punainen.Ase.AttackSound = Pam3; 443 punainen.TuhoutumisEfektiKuva = tykkiKuollutKuva; 395 444 Add(punainen); 396 445 break; … … 414 463 void JunaTuhoutui() 415 464 { 416 juna.Veturi. Destroy();465 juna.Veturi.Elamat.Value = 0; 417 466 JunaTuhoutuuAani.Play(); 418 467 VaunuTuhoutuuAani.Play(); 419 //topLista.EnterAndShow(PisteLaskuri.value); 420 //top_lista.HighScoreWindow.Closed += LuoValikko; 468 TopLista.Show(); 421 469 } 422 470 … … 429 477 Keyboard.Listen(Key.Down, ButtonState.Down, juna.Liiku, null, -10000.0); 430 478 Keyboard.Listen(Key.R, ButtonState.Pressed, delegate { MessageDisplay.Add(Mouse.PositionOnWorld.ToString()); }, null); 479 Keyboard.Listen(Key.Escape, ButtonState.Pressed, LuoValikko, null); 480 Keyboard.Listen(Key.K, ButtonState.Pressed, JunaTuhoutui, null); 481 Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, null); 482 Keyboard.Listen(Key.F1, ButtonState.Pressed, delegate { EnabloiAse(0); }, null); 483 Keyboard.Listen(Key.F2, ButtonState.Pressed, delegate { EnabloiAse(1); }, null); 484 Keyboard.Listen(Key.F3, ButtonState.Pressed, delegate { EnabloiAse(2); }, null); 485 Keyboard.Listen(Key.L, ButtonState.Pressed, delegate { 486 for (int i = 0; i < juna.Vaunut.Count; i++) 487 juna.Vaunut[i].Elamat.Value += 1000; 488 juna.Veturi.Elamat.Value += 1000; 489 }, null); 490 } 491 492 void Ammu() 493 { 494 for (int i = 0; i < juna.Vaunut.Count; i++) 495 { 496 juna.Vaunut[i].Ammu(); 497 } 498 } 499 500 void EnabloiAse(int ase) 501 { 502 for (int i = 0; i < juna.Vaunut.Count; i++) 503 { 504 if (ase < 0 || ase > juna.Vaunut[i].Aseet.Count) continue; 505 506 juna.Vaunut[i].Aseet[ase].IsEnabled = !juna.Vaunut[i].Aseet[ase].IsEnabled; 507 } 431 508 } 432 509 } -
2014/26/NikoK/WarTrain/WarTrain/WarTrain/WarTrain/obj/x86/Debug/ContentPipeline-{742829C2-05BF-48AE-981F-513102281E2D}.xml
r5137 r5160 227 227 <Options>None</Options> 228 228 <Output>C:\MyTemp\NikoK\WarTrain\WarTrain\WarTrain\WarTrain\bin\x86\Debug\Content\Panos1.xnb</Output> 229 <Time>2014-06-2 4T12:26:20.0177988+03:00</Time>229 <Time>2014-06-27T11:36:38.731991+03:00</Time> 230 230 </Item> 231 231 <Item>
Note: See TracChangeset
for help on using the changeset viewer.