Changeset 5774
- Timestamp:
- 2014-11-15 15:03:49 (9 years ago)
- Location:
- 2014/koodauskerho/38/AakeR/Destroy
- Files:
-
- 14 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/koodauskerho/38/AakeR/Destroy/Destroy/Destroy/Destroy.cs
r5758 r5774 7 7 using Jypeli.Widgets; 8 8 9 10 class Palikka : PhysicsObject 11 { 12 public IntMeter elamat; 13 14 public Palikka(double l, double k) 15 : base(l, k) 16 { 17 elamat = new IntMeter(5, 0, 5); 18 } 19 } 20 9 21 public class Destroy : PhysicsGame 10 22 { … … 12 24 const double hyppyNopeus = 750; 13 25 const int RUUDUN_KOKO = 40; 14 26 string kentanNimi = "kentta1"; 15 27 16 28 Image pelaajanKuva = LoadImage("norsu"); … … 21 33 Image puuKuva2 = LoadImage("PuuPalikka2"); 22 34 Image mustaAukkoKuva = LoadImage("MustaAukko"); 35 Image palikkaRikki2 = LoadImage("PalikkaRikki2"); 36 Image palikkaRikki = LoadImage("PalikkaRikki"); 37 Image puupalikkaRikki = LoadImage("PuuPalikkaRikki"); 38 Image puupalikkaRikki2 = LoadImage("PuuPalikkaRikki2"); 39 Image puupalikka2Rikki = LoadImage("PuuPalikka2Rikki"); 40 Image puupalikka2Rikki2 = LoadImage("PuuPalikka2Rikki2"); 23 41 24 42 SoundEffect maaliAani = LoadSoundEffect("maali"); … … 27 45 public override void Begin() 28 46 { 29 UusiPeli(); 47 MultiSelectWindow alkuValikko = new MultiSelectWindow("Valitse kenttä", 48 "Kenttä 1", "Kenttä 2", "Lopeta"); 49 Add(alkuValikko); 50 alkuValikko.AddItemHandler(0, UusiPeli); 51 alkuValikko.AddItemHandler(1, VaihdaKentta2); 52 alkuValikko.AddItemHandler(2, Exit); 53 30 54 31 55 //Camera.ZoomFactor = 1.5; 32 56 //Camera.ZoomToLevel(); 57 33 58 IsFullScreen = true; 59 34 60 Camera.StayInLevel = true; 35 61 } … … 41 67 Gravity = new Vector(0, -1000); 42 68 43 TileMap kentta = TileMap.FromLevelAsset( "kentta1");69 TileMap kentta = TileMap.FromLevelAsset(kentanNimi); 44 70 kentta.SetTileMethod('#', LisaaTaso); 45 71 kentta.SetTileMethod('?', LisaaPalikka); … … 71 97 } 72 98 73 void LisaaPuu(Vector paikka, double leveys, double korkeus)74 { 75 P hysicsObject puu = new PhysicsObject(leveys*3, korkeus);99 PhysicsObject LuoPuu(Vector paikka, double leveys, double korkeus) 100 { 101 Palikka puu = new Palikka(leveys, korkeus); 76 102 puu.Position = paikka; 77 103 puu.Color = Color.Green; … … 79 105 palikat.Add(puu); 80 106 puu.Image = puuKuva; 81 puu.Mass = 20.0;107 puu.Mass = 10.0; 82 108 puu.Tag = "palikka"; 83 } 84 109 110 puu.elamat.LowerLimit += delegate 111 { 112 LisaaPalikkaOsa(puu.Position + RandomGen.NextVector(5, 20), leveys / 2, korkeus, puupalikkaRikki, true).AbsoluteAngle = puu.AbsoluteAngle; 113 LisaaPalikkaOsa(puu.Position + RandomGen.NextVector(5, 20), leveys / 2, korkeus, puupalikkaRikki, true).AbsoluteAngle = puu.AbsoluteAngle + Angle.FromDegrees(180); 114 puu.Destroy(); 115 }; 116 117 return puu; 118 } 119 120 void LisaaPuu(Vector paikka, double leveys, double korkeus) 121 { 122 LuoPuu(paikka, leveys * 3, korkeus); 123 } 124 125 void LisaaPuu2(Vector paikka, double leveys, double korkeus) 126 { 127 PhysicsObject puu = LuoPuu(paikka, leveys * 3, korkeus); 128 puu.AbsoluteAngle = Angle.FromDegrees(90); 129 } 130 131 132 /* 85 133 void LisaaPuu2(Vector paikka, double leveys, double korkeus) 86 134 { … … 91 139 palikat.Add(puu); 92 140 puu.Image = puuKuva2; 93 puu.Mass = 20.0;141 puu.Mass = 10.0; 94 142 puu.Tag = "palikka"; 95 143 } 144 */ 96 145 97 146 void LisaaNappaimet() … … 123 172 tahti.Destroy(); 124 173 } 174 125 175 void LisaaPalikka(Vector paikka, double leveys, double korkeus) 126 176 { 127 P hysicsObject palikka = new PhysicsObject(leveys, korkeus);177 Palikka palikka = new Palikka(leveys, korkeus); 128 178 palikka.Position = paikka; 129 179 palikka.Color = Color.Green; … … 133 183 palikka.Mass = 10.0; 134 184 palikka.Tag = "palikka"; 185 186 palikka.elamat.LowerLimit += delegate 187 { 188 palikka.Destroy(); 189 190 LisaaPalikkaOsa(palikka.Position + RandomGen.NextVector(5, 20), leveys, korkeus / 2, palikkaRikki2); 191 LisaaPalikkaOsa(palikka.Position + RandomGen.NextVector(5, 20), leveys / 2, korkeus / 2, palikkaRikki); 192 LisaaPalikkaOsa(palikka.Position + RandomGen.NextVector(5, 20), leveys / 2, korkeus / 2, palikkaRikki); 193 }; 194 } 195 196 PhysicsObject LisaaPalikkaOsa(Vector paikka, double leveys, double korkeus, Image kuva, bool muotoKuvasta = false) 197 { 198 PhysicsObject palikka = new PhysicsObject(leveys, korkeus); 199 palikka.Position = paikka; 200 if (muotoKuvasta) 201 { 202 palikka.Shape = Shape.FromImage(kuva); 203 } 204 Add(palikka); 205 palikat.Add(palikka); 206 palikka.Image = kuva; 207 palikka.Mass = 2.0; 208 palikka.Tag = "palikka"; 209 return palikka; 135 210 } 136 211 … … 142 217 { 143 218 PhysicsObject pommi = new PhysicsObject(80, 50); 144 pommi.Tag = "p alikka";219 pommi.Tag = "pommi"; 145 220 pommi.Position = Mouse.PositionOnWorld; 146 221 … … 149 224 { 150 225 if (pommi.IsInside(palikat[i].Position)) { onkoSisalla = true; break; } 151 } 226 if (pommi.IsInside(palikat[i].Position + new Vector(palikat[i].Left, 0))) { onkoSisalla = true; break; } 227 if (pommi.IsInside(palikat[i].Position + new Vector(palikat[i].Right, 0))) { onkoSisalla = true; break; } 228 if (pommi.IsInside(palikat[i].Position + new Vector(0, palikat[i].Top))) { onkoSisalla = true; break; } 229 if (pommi.IsInside(palikat[i].Position + new Vector(0, palikat[i].Bottom))) { onkoSisalla = true; break; } 230 231 } 232 233 foreach (GameObject toinenpommi in GetObjectsWithTag("pommi")) 234 { 235 if (pommi.IsInside(toinenpommi.Position)) { onkoSisalla = true; break; } 236 } 237 152 238 if (onkoSisalla == false) 153 239 { … … 167 253 Explosion rajahdys = new Explosion(150); 168 254 rajahdys.Position = pommi.Position; 255 rajahdys.ShockwaveReachesObject += PaineaaltoOsuu; 169 256 Add(rajahdys); 170 257 pommi.Destroy(); 171 258 172 259 } 260 261 void PaineaaltoOsuu(IPhysicsObject olio, Vector shokki) 262 { 263 if (olio is Palikka) 264 { 265 Palikka palikka = olio as Palikka; 266 palikka.elamat.Value--; 267 } 268 } 269 173 270 174 271 void UusiPeli() … … 214 311 } 215 312 } 313 314 foreach (var obj in GetObjectsWithTag("pommi")) 315 { 316 if (obj is PhysicsObject) 317 { 318 double voima = 1 * (2250000 / Vector.Distance(mustaAukko.Position, ((PhysicsObject)obj).Position)); 319 ((PhysicsObject)obj).Push((mustaAukko.Position - ((PhysicsObject)obj).Position).Normalize() * voima); 320 } 321 } 216 322 }; 217 323 ajastin.Start(); … … 219 325 } 220 326 327 void VaihdaKentta2() 328 { 329 kentanNimi = "kentta2"; 330 UusiPeli(); 331 } 332 221 333 } -
2014/koodauskerho/38/AakeR/Destroy/Destroy/Destroy/Destroy.csproj.Debug.cachefile
r5758 r5774 8 8 Content\PuuPalikka2.xnb 9 9 Content\MustaAukko.xnb 10 Content\PalikkaRikki.xnb 11 Content\PalikkaRikki2.xnb 12 Content\PuuPalika2Rikki.xnb 13 Content\PuuPalikka2Rikki2.xnb 14 Content\PuuPalikkaRikki.xnb 15 Content\PuuPalikkaRikki2.xnb 16 Content\kentta2.xnb -
2014/koodauskerho/38/AakeR/Destroy/Destroy/Destroy/obj/x86/Debug/ContentPipeline-{69DDA027-603C-4121-91C8-283AC55C2BD2}.xml
r5758 r5774 63 63 <Options>None</Options> 64 64 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\kentta1.xnb</Output> 65 <Time>2014-1 0-18T13:42:35.924541+03:00</Time>65 <Time>2014-11-15T14:46:24.9775179+02:00</Time> 66 66 </Item> 67 67 <Item> … … 82 82 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\MustaAukko.xnb</Output> 83 83 <Time>2014-10-18T15:06:35.1303144+03:00</Time> 84 </Item> 85 <Item> 86 <Source>PalikkaRikki.png</Source> 87 <Name>PalikkaRikki</Name> 88 <Importer>TextureImporter</Importer> 89 <Processor>TextureProcessor</Processor> 90 <Options>None</Options> 91 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PalikkaRikki.xnb</Output> 92 <Time>2014-11-15T11:19:17.4489424+02:00</Time> 93 </Item> 94 <Item> 95 <Source>PalikkaRikki2.png</Source> 96 <Name>PalikkaRikki2</Name> 97 <Importer>TextureImporter</Importer> 98 <Processor>TextureProcessor</Processor> 99 <Options>None</Options> 100 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PalikkaRikki2.xnb</Output> 101 <Time>2014-11-15T11:19:50.7239557+02:00</Time> 102 </Item> 103 <Item> 104 <Source>PuuPalika2Rikki.png</Source> 105 <Name>PuuPalika2Rikki</Name> 106 <Importer>TextureImporter</Importer> 107 <Processor>TextureProcessor</Processor> 108 <Options>None</Options> 109 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalika2Rikki.xnb</Output> 110 <Time>2014-11-15T11:16:25.4422398+02:00</Time> 111 </Item> 112 <Item> 113 <Source>PuuPalikka2Rikki2.png</Source> 114 <Name>PuuPalikka2Rikki2</Name> 115 <Importer>TextureImporter</Importer> 116 <Processor>TextureProcessor</Processor> 117 <Options>None</Options> 118 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikka2Rikki2.xnb</Output> 119 <Time>2014-11-15T11:18:37.9806894+02:00</Time> 120 </Item> 121 <Item> 122 <Source>PuuPalikkaRikki.png</Source> 123 <Name>PuuPalikkaRikki</Name> 124 <Importer>TextureImporter</Importer> 125 <Processor>TextureProcessor</Processor> 126 <Options>None</Options> 127 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikkaRikki.xnb</Output> 128 <Time>2014-11-15T14:09:13.9798254+02:00</Time> 129 </Item> 130 <Item> 131 <Source>PuuPalikkaRikki2.png</Source> 132 <Name>PuuPalikkaRikki2</Name> 133 <Importer>TextureImporter</Importer> 134 <Processor>TextureProcessor</Processor> 135 <Options>None</Options> 136 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikkaRikki2.xnb</Output> 137 <Time>2014-11-15T11:22:09.4088447+02:00</Time> 138 </Item> 139 <Item> 140 <Source>kentta2.txt</Source> 141 <Name>kentta2</Name> 142 <Importer>TextFileImporter</Importer> 143 <Processor>TextFileContentProcessor</Processor> 144 <Options>None</Options> 145 <Output>C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\kentta2.xnb</Output> 146 <Time>2014-11-15T15:01:38.2439568+02:00</Time> 84 147 </Item> 85 148 <BuildSuccessful>true</BuildSuccessful> -
2014/koodauskerho/38/AakeR/Destroy/Destroy/Destroy/obj/x86/Debug/Destroy.csproj.FileListAbsolute.txt
r5758 r5774 16 16 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikka2.xnb 17 17 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\MustaAukko.xnb 18 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PalikkaRikki.xnb 19 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PalikkaRikki2.xnb 20 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalika2Rikki.xnb 21 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikka2Rikki2.xnb 22 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikkaRikki.xnb 23 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\PuuPalikkaRikki2.xnb 24 C:\MyTemp\AakeR\Destroy\Destroy\Destroy\bin\x86\Debug\Content\kentta2.xnb -
2014/koodauskerho/38/AakeR/Destroy/Destroy/Destroy/obj/x86/Debug/cachefile-{69DDA027-603C-4121-91C8-283AC55C2BD2}-targetpath.txt
r5758 r5774 8 8 Content\PuuPalikka2.xnb 9 9 Content\MustaAukko.xnb 10 Content\PalikkaRikki.xnb 11 Content\PalikkaRikki2.xnb 12 Content\PuuPalika2Rikki.xnb 13 Content\PuuPalikka2Rikki2.xnb 14 Content\PuuPalikkaRikki.xnb 15 Content\PuuPalikkaRikki2.xnb 16 Content\kentta2.xnb -
2014/koodauskerho/38/AakeR/Destroy/Destroy/DestroyContent/DestroyContent.contentproj
r5758 r5774 102 102 </Compile> 103 103 </ItemGroup> 104 <ItemGroup> 105 <Compile Include="PalikkaRikki.png"> 106 <Name>PalikkaRikki</Name> 107 <Importer>TextureImporter</Importer> 108 <Processor>TextureProcessor</Processor> 109 </Compile> 110 <Compile Include="PalikkaRikki2.png"> 111 <Name>PalikkaRikki2</Name> 112 <Importer>TextureImporter</Importer> 113 <Processor>TextureProcessor</Processor> 114 </Compile> 115 <Compile Include="PuuPalika2Rikki.png"> 116 <Name>PuuPalika2Rikki</Name> 117 <Importer>TextureImporter</Importer> 118 <Processor>TextureProcessor</Processor> 119 </Compile> 120 <Compile Include="PuuPalikka2Rikki2.png"> 121 <Name>PuuPalikka2Rikki2</Name> 122 <Importer>TextureImporter</Importer> 123 <Processor>TextureProcessor</Processor> 124 </Compile> 125 <Compile Include="PuuPalikkaRikki.png"> 126 <Name>PuuPalikkaRikki</Name> 127 <Importer>TextureImporter</Importer> 128 <Processor>TextureProcessor</Processor> 129 </Compile> 130 <Compile Include="PuuPalikkaRikki2.png"> 131 <Name>PuuPalikkaRikki2</Name> 132 <Importer>TextureImporter</Importer> 133 <Processor>TextureProcessor</Processor> 134 </Compile> 135 </ItemGroup> 136 <ItemGroup> 137 <Compile Include="kentta2.txt"> 138 <Name>kentta2</Name> 139 <Importer>TextFileImporter</Importer> 140 <Processor>TextFileContentProcessor</Processor> 141 </Compile> 142 </ItemGroup> 104 143 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 105 144 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2014/koodauskerho/38/AakeR/Destroy/Destroy/DestroyContent/kentta1.txt
r5758 r5774 10 10 #.-???-..?-.-?..-???-.# 11 11 #.+-&-+..?+.+?..+-&-+.# 12 #.-.?.-..?-.-?..- .?.-.#12 #.-.?.-..?-.-?..-???-.# 13 13 #######################
Note: See TracChangeset
for help on using the changeset viewer.