- Timestamp:
- 2015-07-24 11:34:01 (8 years ago)
- Location:
- 2015/30/MarkusS/git_gud_the_game
- Files:
-
- 4 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/git_gud_the_game.cs
r6985 r7017 7 7 using Jypeli.Widgets; 8 8 9 10 ///@author Markus Sorvali 11 /// <summary> 12 /// 13 /// </summary> 9 14 10 15 public class Pelaaja : PhysicsObject … … 39 44 ase.FireRate = 1; 40 45 ase.CanHitOwner = false; 41 elamaLaskuri.LowerLimit += delegate 42 { 46 elamaLaskuri.LowerLimit += delegate 47 { 43 48 this.Destroy(); 44 49 this.ase.Destroy(); … … 101 106 IntMeter pisteLaskuri; 102 107 Image FinalBoss = LoadImage("FinalBoss"); 108 Image enkanKuva = LoadImage("Enkka"); 109 Image kalja = LoadImage("kalja"); 103 110 const double nopeus = 400; 104 111 105 const int ruudunkoko = 60;112 const int ruudunkoko = 60; 106 113 107 114 public override void Begin() … … 123 130 ruudut.SetTileMethod(Color.Red, LuoVihollinen); 124 131 ruudut.SetTileMethod(Color.FromHexCode("808080"), LuoEsine); 125 ruudut.SetTileMethod(Color. Harlequin, LuoHCVihollinen);132 ruudut.SetTileMethod(Color.FromHexCode("1198FF"), LuoHCVihollinen); 126 133 ruudut.SetTileMethod(Color.FromHexCode("B6FF00"), SpawnaaHaulikko); 127 134 ruudut.Execute(ruudunkoko, ruudunkoko); … … 151 158 pelaaja1.AngularDamping = 0.5; 152 159 153 AddCollisionHandler(pelaaja1, " ammus", AmmusOsuuPelaajaan);160 AddCollisionHandler(pelaaja1, "vihollisenAmmus", AmmusOsuuPelaajaan); 154 161 pelaaja1.Tag = "pelaaja"; 155 162 156 163 AddCollisionHandler(pelaaja1, "Esine", Esinekerätty); 164 165 ProgressBar elamaPalkki = new ProgressBar(150, 20); 166 elamaPalkki.X = Screen.Left + 150; 167 elamaPalkki.Y = Screen.Top - 20; 168 elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 169 Add(elamaPalkki); 157 170 } 158 171 … … 169 182 pelaaja2.AngularDamping = 0.5; 170 183 171 AddCollisionHandler(pelaaja2, " ammus", AmmusOsuuPelaajaan);184 AddCollisionHandler(pelaaja2, "vihollisenAmmus", AmmusOsuuPelaajaan); 172 185 pelaaja2.Tag = "pelaaja"; 173 186 174 187 AddCollisionHandler(pelaaja2, "Esine", Esinekerätty); 188 189 ProgressBar elamaPalkki = new ProgressBar(150, 20); 190 elamaPalkki.X = Screen.Right - 150; 191 elamaPalkki.Y = Screen.Top - 20; 192 elamaPalkki.BindTo(pelaaja2.ElamaLaskuri); 193 Add(elamaPalkki); 175 194 } 176 195 … … 213 232 int satunnainenLuku = RandomGen.NextInt(2); 214 233 Pelaaja valittuPelaaja = pelaaja1; 215 if (satunnainenLuku == 0) valittuPelaaja = pelaaja1; 216 if (satunnainenLuku == 1) valittuPelaaja = pelaaja2; 217 Vector suunta = (valittuPelaaja.Position - vihollinen.ase.AbsolutePosition).Normalize(); 218 vihollinen.ase.Angle = suunta.Angle; 219 PhysicsObject ammus = vihollinen.ase.Shoot(); 220 if (ammus != null) 234 if (Vector.Distance(vihollinen.Position, pelaaja2.Position) < Vector.Distance(vihollinen.Position, pelaaja1.Position)) 221 235 { 222 ammus.Tag = "ammus";236 valittuPelaaja = pelaaja2; 223 237 } 238 239 if (Vector.Distance(vihollinen.Position, valittuPelaaja.Position) < 500) 240 { 241 Vector suunta = (valittuPelaaja.Position - vihollinen.ase.AbsolutePosition).Normalize(); 242 vihollinen.ase.Angle = suunta.Angle; 243 PhysicsObject ammus = vihollinen.ase.Shoot(); 244 if (ammus != null) 245 { 246 ammus.Tag = "vihollisenAmmus"; 247 } 248 } 249 224 250 }; 225 251 ajastin.Start(); … … 260 286 { 261 287 pelaaja.Image = kavelyYlos; 262 pelaaja.Move(new Vector(0, nopeus));288 pelaaja.Move(new Vector(0, nopeus)); 263 289 264 290 } … … 282 308 ammus.Tag = "ammus"; 283 309 } 310 ammus.LifetimeLeft = new TimeSpan(0, 0, 1); 284 311 } 285 312 … … 288 315 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 289 316 { 317 if (ammus.Tag.Equals("vihollisenAmmus") && kohde.Tag.Equals("vihollinen")) 318 { 319 return; 320 } 290 321 ammus.Destroy(); 291 322 } … … 297 328 { 298 329 ((Vihollinen)vihu).ElamaLaskuri.Value -= vahinko; 330 if (((Vihollinen)vihu).ElamaLaskuri.Value == 0) 331 { 332 LuoEnkka(vihu.Position, ruudunkoko, ruudunkoko); 333 } 299 334 } 300 335 void SpawnaaHaulikko(Vector paikka, double leveys, double korkeus) … … 326 361 pisteLaskuri = new IntMeter(0); 327 362 pisteLaskuri.MaxValue = 10; 328 pisteLaskuri.UpperLimit += delegate { KaikkiKeratty(new Vector(0, 0), ruudunkoko * 1.5, ruudunkoko *1.5); };363 pisteLaskuri.UpperLimit += delegate { KaikkiKeratty(new Vector(0, 0), ruudunkoko * 1.5, ruudunkoko * 1.5); }; 329 364 330 365 } 331 366 void KaikkiKeratty(Vector paikka, double leveys, double korkeus) 332 367 { 333 368 LuoVihu(paikka, leveys, korkeus, 5, vihollisenKuva); 334 369 LuoVihu(paikka, leveys, korkeus, 20, FinalBoss); 370 MessageDisplay.Add("Tapa Vihollisten Pomo!"); 335 371 } 336 372 void LuoEsine(Vector paikka, double leveys, double korkeus) 337 373 { 338 PhysicsObject juttu = new PhysicsObject( 20, 20);374 PhysicsObject juttu = new PhysicsObject(40, 40); 339 375 Add(juttu); 340 376 juttu.Position = paikka; 341 377 juttu.Tag = "Esine"; 378 juttu.Image = kalja; 379 342 380 } 343 381 void Esinekerätty(PhysicsObject Pelaaja, PhysicsObject Esine) … … 346 384 pisteLaskuri.Value += 1; 347 385 } 386 void LuoEnkka(Vector paikka, double leveys, double korkeus) 387 { 388 PhysicsObject enkka = new PhysicsObject(leveys, korkeus); 389 enkka.Position = paikka; 390 enkka.Image = enkanKuva; 391 Add(enkka); 392 AddCollisionHandler(enkka, "pelaaja", LisaaEnkka); 393 } 394 void LisaaEnkka(PhysicsObject enkka, PhysicsObject pelaaja) 395 { 396 Pelaaja tyyppi = pelaaja as Pelaaja; 397 tyyppi.ElamaLaskuri.Value += 2; 398 enkka.Destroy(); 399 } 348 400 } -
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/git_gud_the_game.csproj.Debug.cachefile
r6985 r7017 10 10 Content\pelaajanKuvaSivu.xnb 11 11 Content\pelaajanKuvaSivuVasen.xnb 12 Content\Enkka.xnb 13 Content\kalja.xnb -
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/obj/x86/Debug/cachefile-{1C03E4EE-ABF7-43AF-8443-48178D554BFA}-targetpath.txt
r6985 r7017 10 10 Content\pelaajanKuvaSivu.xnb 11 11 Content\pelaajanKuvaSivuVasen.xnb 12 Content\Enkka.xnb 13 Content\kalja.xnb -
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_game/obj/x86/Debug/git_gud_the_game.csproj.FileListAbsolute.txt
r6985 r7017 18 18 C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\pelaajanKuvaSivu.xnb 19 19 C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\pelaajanKuvaSivuVasen.xnb 20 C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Enkka.xnb 21 C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kalja.xnb -
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_gameContent/git_gud_the_gameContent.contentproj
r6985 r7017 118 118 </Compile> 119 119 </ItemGroup> 120 <ItemGroup> 121 <Compile Include="Enkka.png"> 122 <Name>Enkka</Name> 123 <Importer>TextureImporter</Importer> 124 <Processor>TextureProcessor</Processor> 125 </Compile> 126 </ItemGroup> 127 <ItemGroup> 128 <Compile Include="kalja.png"> 129 <Name>kalja</Name> 130 <Importer>TextureImporter</Importer> 131 <Processor>TextureProcessor</Processor> 132 </Compile> 133 </ItemGroup> 120 134 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 121 135 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2015/30/MarkusS/git_gud_the_game/git_gud_the_game/git_gud_the_gameContent/obj/x86/Debug/ContentPipeline.xml
r6985 r7017 9 9 <Options>None</Options> 10 10 <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kentta1.xnb</Output> 11 <Time>2015-07-2 3T11:36:24.3032956+03:00</Time>11 <Time>2015-07-24T10:14:09.3388044+03:00</Time> 12 12 </Item> 13 13 <Item> … … 18 18 <Options>None</Options> 19 19 <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Seina.xnb</Output> 20 <Time>2015-07-2 3T10:13:21.0152956+03:00</Time>20 <Time>2015-07-24T10:37:54.0806044+03:00</Time> 21 21 </Item> 22 22 <Item> … … 101 101 <Time>2015-07-23T14:40:38.2908257+03:00</Time> 102 102 </Item> 103 <Item> 104 <Source>Enkka.png</Source> 105 <Name>Enkka</Name> 106 <Importer>TextureImporter</Importer> 107 <Processor>TextureProcessor</Processor> 108 <Options>None</Options> 109 <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\Enkka.xnb</Output> 110 <Time>2015-07-24T10:01:56.9014044+03:00</Time> 111 </Item> 112 <Item> 113 <Source>kalja.png</Source> 114 <Name>kalja</Name> 115 <Importer>TextureImporter</Importer> 116 <Processor>TextureProcessor</Processor> 117 <Options>None</Options> 118 <Output>C:\MyTemp\MarkusS\git_gud_the_game\git_gud_the_game\git_gud_the_game\bin\x86\Debug\Content\kalja.xnb</Output> 119 <Time>2015-07-21T16:37:40+03:00</Time> 120 </Item> 103 121 <BuildSuccessful>true</BuildSuccessful> 104 122 <Settings>
Note: See TracChangeset
for help on using the changeset viewer.