- Timestamp:
- 2014-07-04 11:46:06 (7 years ago)
- Location:
- 2014/27/JuhanaK
- Files:
-
- 4 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs
r5403 r5430 60 60 } 61 61 62 class Tykki : GameObject62 class Tykki : PhysicsObject 63 63 { 64 64 public int taso = 1; 65 65 public AssaultRifle ase; 66 public Tykki(double leveys, double korkeus) 66 private IntMeter elamaLaskuri; 67 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 68 69 public Tykki(double leveys, double korkeus, int elama) 67 70 : base(leveys, korkeus) 68 71 { 69 72 elamaLaskuri = new IntMeter(elama, 0, elama); 70 73 71 74 } … … 99 102 PlatformCharacter pelaaja1; 100 103 104 105 Image Tulikuva = LoadImage("tuli"); 101 106 Image AlienKuva = LoadImage("Alien"); 102 107 Image Orkkikuva = LoadImage("Orkki"); … … 117 122 List<PushButton> painonapit = new List<PushButton>(); 118 123 Label menuHelperNaytto; 119 private GameObject seurattava;124 private PhysicsObject seurattava; 120 125 bool ollaanRakentamassa = false; 126 string mitaRakennetaan; 121 127 122 128 PushButton menuNappi; … … 124 130 public override void Begin() 125 131 { 132 SmoothTextures = false; 126 133 IsMouseVisible = true; 127 134 MediaPlayer.Play("musiikki"); … … 154 161 ase.FireRate = 2; 155 162 ase.ProjectileCollision = AmmusOsui; 156 //seurattava.Add(ase); 157 seurattava.IsVisible = false; 158 PhysicsObject tykki = PhysicsObject.CreateStaticObject(100, 100); 159 tykki.Image = seurattava.Image; 160 tykki.Position = seurattava.Position; 161 Add(tykki); 162 tykki.Add(ase); 163 seurattava.Add(ase); 164 seurattava.IgnoresCollisionResponse = false; 163 165 (seurattava as Tykki).ase = ase; 164 166 Timer ajastin = new Timer(); … … 166 168 ajastin.Timeout += delegate 167 169 { 170 /* 171 if (seurattava.Tag.Equals("flamer")) 172 { 173 174 } 175 176 else if (seurattava.Tag.Equals("automaattiTykki")) 177 { 178 179 } 180 */ 181 168 182 List<GameObject> vihut = GetObjectsWithTag("vihollinen"); 169 183 //var vihut = vihulista; … … 180 194 if (ammus != null) 181 195 { 182 ammus.Size *= 0.5; 196 if (ase.Parent != null && ase.Parent.Tag.Equals("flamer")) 197 { 198 ammus.Image = Tulikuva; 199 ammus.Size *= 3; 200 } 201 else 202 { 203 ammus.Size *= 0.5; 204 } 183 205 //ammus.Image = cannonballKuva; 184 206 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 185 //Tykki.Play();186 207 } 208 209 if (ase.Parent != null && ase.Parent.IsDestroyed) 210 ajastin.Stop(); 187 211 }; 188 212 ajastin.Start(); … … 221 245 } 222 246 223 void Anna Rakennus(double leveys, double korkeus, int hinta, Image kuva)247 void AnnaAse(double leveys, double korkeus, int hinta, Image kuva, string tyyppi) 224 248 { 225 249 if (ollaanRakentamassa) return; … … 227 251 pisteLaskuri.Value -= hinta; 228 252 229 Tykki talo = new Tykki(leveys, korkeus); 230 talo.Color = Color.Black; 231 talo.Image = kuva; 232 talo.Position = Mouse.PositionOnScreen; 233 talo.Tag = "torni"; 253 Tykki tykki = new Tykki(leveys, korkeus, 30); 254 tykki.MakeStatic(); 255 256 tykki.ElamaLaskuri.LowerLimit += delegate 257 { 258 tykki.Destroy(); 259 }; 260 261 tykki.Color = Color.Black; 262 tykki.Image = kuva; 263 tykki.CanRotate = false; 264 tykki.IgnoresCollisionResponse = true; 265 tykki.Position = Mouse.PositionOnScreen; 266 tykki.IgnoresGravity = true; 267 tykki.Tag = tyyppi; 234 268 ollaanRakentamassa = true; 235 seurattava = talo; 236 Add(talo, 3); 237 238 } 239 // void LuoRakennus(double leveys, double korkeus, int hinta, Image kuva) 240 { 241 // if (ollaanRakentamassa) return; 242 // if (hinta > pisteLaskuri.Value) { MessageDisplay.Add("Ei tarpeeksi pisteitä!"); return; } 243 // pisteLaskuri.Value -= hinta; 244 245 // Tykki talo = new Tykki(leveys, korkeus); 246 // talo.Color = Color.Black; 247 // talo.Image = kuva; 248 // talo.Position = Mouse.PositionOnScreen; 249 // talo.Tag = "Tykki"; 250 // ollaanRakentamassa = true; 251 // seurattava = talo; 252 // Add(talo, 3); 253 254 } 255 int JarjestaVihut(AssaultRifle ase, GameObject a, GameObject b) 256 { 257 if (a == null || b == null) return 0; 258 return Vector.Distance(a.Position, ase.AbsolutePosition) > Vector.Distance(b.Position, ase.AbsolutePosition) ? 1 : -1; 259 } 260 261 void LuoTorniNappula(Vector paikka, double leveys, double korkeus, Image rakennusKuva, int hinta, int rakennusKoko) 262 { 263 menuNappi = new PushButton(leveys * 2, korkeus * 2, flamerkuva); 264 menuNappi.Position = new Vector(0, (Screen.Bottom + 30)); 265 menuNappi.Clicked += new Action(() => AnnaRakennus(rakennusKoko, rakennusKoko * 2, hinta, rakennusKuva)); 269 seurattava = tykki; 270 Add(tykki, 3); 271 AddCollisionHandler(tykki, "vihollinen", VahingoitaAsetta); 272 } 273 274 275 void VahingoitaAsetta(PhysicsObject tykki, PhysicsObject kohde) 276 { 277 if (kohde.Tag.Equals("vihollinen")) 278 { 279 (tykki as Tykki).ElamaLaskuri.Value--; 280 MessageDisplay.Add("Au"); 281 if ((tykki as Tykki).ElamaLaskuri.Value <= 0) tykki.Destroy(); 282 } 283 } 284 285 286 void LuoTykkiNappula(Vector paikka, double leveys, double korkeus, Image rakennusKuva, int hinta, int rakennusKoko) 287 { 288 menuNappi = new PushButton(leveys * 2, korkeus * 2, rakennusKuva); 289 menuNappi.Position = paikka; 290 menuNappi.Clicked += new Action(() => AnnaAse(rakennusKoko, rakennusKoko, hinta, rakennusKuva, "automaattiTykki")); 266 291 Add(menuNappi); 267 292 Mouse.ListenMovement(1.0, delegate 268 } 293 { 269 294 if (Mouse.IsCursorOn(menuNappi)) 270 295 { 271 296 menuHelperNaytto.IsVisible = true; 272 menuHelperNaytto.Text = "Torni, " + hinta + " kultaa"; 297 menuHelperNaytto.Text = "Ase, " + hinta + " pistettä"; 298 menuHelperNaytto.Position = Mouse.PositionOnScreen + new Vector(menuHelperNaytto.Width / 2 + 10, 0); 299 } 300 301 }, null 302 ); 303 } 304 305 int JarjestaVihut(AssaultRifle ase, GameObject a, GameObject b) 306 { 307 if (a == null || b == null) return 0; 308 return Vector.Distance(a.Position, ase.AbsolutePosition) > Vector.Distance(b.Position, ase.AbsolutePosition) ? 1 : -1; 309 } 310 311 void LuoAseNappula(Vector paikka, double leveys, double korkeus, Image rakennusKuva, int hinta, int rakennusKoko) 312 { 313 menuNappi = new PushButton(leveys * 2, korkeus * 2, flamerkuva); 314 menuNappi.Position = new Vector(0, (Screen.Bottom + 30)); 315 menuNappi.Clicked += new Action(() => AnnaAse(rakennusKoko, rakennusKoko, hinta, rakennusKuva, "flamer")); 316 Add(menuNappi); 317 Mouse.ListenMovement(1.0, delegate { 318 if (Mouse.IsCursorOn(menuNappi)) 319 { 320 menuHelperNaytto.IsVisible = true; 321 menuHelperNaytto.Text = "Ase, " + hinta + " pistettä"; 273 322 menuHelperNaytto.Position = Mouse.PositionOnScreen + new Vector(menuHelperNaytto.Width / 2 + 10, 0); 274 323 } … … 308 357 309 358 LuoMenu(); 310 Luo TorniNappula(Vector.Zero, 50, 50, flamerkuva, 10, 50);311 LuoTykkiNappula( Vector.Zero, 50, 50, Automaattikuva, 10, 50);359 LuoAseNappula(new Vector(80, (Screen.Bottom + 35)), 40, 40, flamerkuva, 200, 100); 360 LuoTykkiNappula(new Vector(-80, (Screen.Bottom + 35)), 40, 40, Automaattikuva, 300, 100); 312 361 313 362 Camera.Follow(pelaaja1); … … 523 572 vihollinen.X = Level.Right - 100; 524 573 vihollinen.Tag = "vihollinen"; 525 Add(vihollinen );574 Add(vihollinen,3); 526 575 527 576 vihut.Add(vihollinen); … … 555 604 vihollinen.X = Level.Right - 100; 556 605 vihollinen.Tag = "vihollinen"; 557 Add(vihollinen );606 Add(vihollinen, 2); 558 607 559 608 vihut.Add(vihollinen); … … 641 690 void LuoPistelaskuri() 642 691 { 643 pisteLaskuri = new IntMeter( 100);692 pisteLaskuri = new IntMeter(500); 644 693 645 694 Label pisteNaytto = new Label(); … … 742 791 Timer aaltoLaskuri = new Timer(); 743 792 aaltoLaskuri.Interval = 0.1; 744 aaltoLaskuri.Timeout += delegate { aaltoPalkki.Value--; MessageDisplay.Add("Moi");};793 aaltoLaskuri.Timeout += delegate { aaltoPalkki.Value--; }; 745 794 aaltoLaskuri.Start(20); 746 795 } -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.csproj.Debug.cachefile
r5380 r5430 21 21 Content\Automaattitykki.xnb 22 22 Content\Este.xnb 23 Content\tuli.xnb 23 24 Content\musiikki.wma -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/Avaruuspeli.csproj.FileListAbsolute.txt
r5380 r5430 30 30 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Automaattitykki.xnb 31 31 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Este.xnb 32 C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\tuli.xnb -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/ContentPipeline-{5282F811-AB87-41EF-A580-9908C47A987D}.xml
r5403 r5430 200 200 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\Este.xnb</Output> 201 201 <Time>2014-07-03T14:26:16.4600338+03:00</Time> 202 </Item> 203 <Item> 204 <Source>tuli.png</Source> 205 <Name>tuli</Name> 206 <Importer>TextureImporter</Importer> 207 <Processor>TextureProcessor</Processor> 208 <Options>None</Options> 209 <Output>C:\MyTemp\JuhanaK\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\tuli.xnb</Output> 210 <Time>2014-07-04T11:36:44.2693848+03:00</Time> 202 211 </Item> 203 212 <BuildSuccessful>true</BuildSuccessful> -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/cachefile-{5282F811-AB87-41EF-A580-9908C47A987D}-targetpath.txt
r5380 r5430 22 22 Content\Automaattitykki.xnb 23 23 Content\Este.xnb 24 Content\tuli.xnb -
2014/27/JuhanaK/Avaruuspeli/Avaruuspeli/AvaruuspeliContent/AvaruuspeliContent.contentproj
r5380 r5430 169 169 </Compile> 170 170 </ItemGroup> 171 <ItemGroup> 172 <Compile Include="tuli.png"> 173 <Name>tuli</Name> 174 <Importer>TextureImporter</Importer> 175 <Processor>TextureProcessor</Processor> 176 </Compile> 177 </ItemGroup> 171 178 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 172 179 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.