- Timestamp:
- 2015-06-23 14:53:39 (7 years ago)
- Location:
- 2015/26/EmilK
- Files:
-
- 18 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/Desert Fury.cs
r6169 r6180 14 14 15 15 PlatformCharacter pelaaja1; 16 PlatformCharacter vihollinen; 16 17 17 18 18 … … 20 20 Image pelaajanKuva = LoadImage("Auto ajaa 1"); 21 21 Image tahtiKuva = LoadImage("tahti"); 22 Image vihollisenKuva = LoadImage("eka bossi"); 22 Image vihollisenKuva = LoadImage("mopo1"); 23 Image toisenvihollisenKuva = LoadImage("mopo2"); 24 Image kolmannenvihollisenKuva = LoadImage("mopo3"); 23 25 Image bossinkuva = LoadImage("eka bossi"); 26 Image lentavankuva = LoadImage("tahti"); 24 27 Image ammuksenKuva = LoadImage("Ammus"); 25 28 Image kranunKuva = LoadImage("kranaattikeihäs"); … … 34 37 { 35 38 IsMouseVisible = true; 36 Gravity = new Vector(0, - 1000);39 Gravity = new Vector(0, -2000); 37 40 38 41 LuoKentta(); … … 57 60 kentta.SetTileMethod('H', LisaaVihollinen); 58 61 kentta.SetTileMethod('h', LisaaToinenVihollinen); 62 kentta.SetTileMethod('s', LisaaKolmasVihollinen); 63 kentta.SetTileMethod('L', LisaaLentavavihollinen); 59 64 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 60 65 Level.CreateBorders(); … … 69 74 void LisaaVihollinen(Vector paikka, double leveys, double korkeus) 70 75 { 71 vihollinen = new PlatformCharacter(leveys * 5.5, korkeus * 2.6);76 Vihu vihollinen = new Vihu(leveys *2, korkeus * 2, 4); 72 77 vihollinen.Position = paikka; 73 78 vihollinen.Mass = 4.0; 74 79 vihollinen.Image = vihollisenKuva; 80 81 vihollinen.Tag = "vihollinen"; 82 83 84 75 85 Add(vihollinen); 76 86 … … 94 104 95 105 106 107 void LisaaLentavavihollinen(Vector paikka, double leveys, double korkeus) 108 { 109 110 Vihu2 lentava = new Vihu2(leveys * 2, korkeus * 2, 10); 111 lentava.Position = paikka; 112 lentava.IgnoresGravity = true; 113 lentava.Tag = "lentavavihollinen"; 114 lentava.CanRotate = false; 115 lentava.Oscillate(new Vector(0, 1), korkeus * 1, 0.5); 116 lentava.Image = lentavankuva; 117 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 118 lentava.Brain = seuraajanAivot; 119 seuraajanAivot.Active = true; 120 seuraajanAivot.Speed = 1900; // Millä nopeudella kohdetta seurataan 121 seuraajanAivot.DistanceFar = 1200; // Etäisyys jolla aletaan seurata kohdetta 122 seuraajanAivot.DistanceClose = 00; // Etäisyys jolloin ollaan lähellä kohdetta 123 seuraajanAivot.StopWhenTargetClose = false; // Pysähdytään kun ollaan lähellä kohdetta 124 125 126 127 Add(lentava); 128 129 } 96 130 97 131 98 132 void LisaaToinenVihollinen(Vector paikka, double leveys, double korkeus) 99 133 { 100 vihollinen = new PlatformCharacter(leveys * 2, korkeus * 2);134 Vihu vihollinen = new Vihu(leveys * 2, korkeus * 2, 4); 101 135 vihollinen.Position = paikka; 102 136 vihollinen.Mass = 4.0; 103 vihollinen.Image = tahtiKuva; 137 vihollinen.Tag = "vihollinen"; 138 vihollinen.Image = toisenvihollisenKuva; 104 139 Add(vihollinen); 105 140 … … 112 147 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 113 148 114 seuraajanAivot.Speed = 800; // Millä nopeudella kohdetta seurataan115 seuraajanAivot.DistanceFar = 500; // Etäisyys jolla aletaan seurata kohdetta149 seuraajanAivot.Speed = 1800; // Millä nopeudella kohdetta seurataan 150 seuraajanAivot.DistanceFar = 1200; // Etäisyys jolla aletaan seurata kohdetta 116 151 seuraajanAivot.DistanceClose = 00; // Etäisyys jolloin ollaan lähellä kohdetta 117 152 seuraajanAivot.StopWhenTargetClose = true; // Pysähdytään kun ollaan lähellä kohdetta … … 122 157 123 158 } 159 160 void LisaaKolmasVihollinen(Vector paikka, double leveys, double korkeus) 161 { 162 Vihu vihollinen = new Vihu(leveys * 2, korkeus * 2, 5); 163 vihollinen.Position = paikka; 164 vihollinen.Mass = 4.0; 165 vihollinen.Tag = "vihollinen"; 166 vihollinen.Image = kolmannenvihollisenKuva; 167 Add(vihollinen); 168 169 PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 170 tasoAivot.Speed = 100; 171 172 173 174 175 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 176 177 seuraajanAivot.Speed = 1800; // Millä nopeudella kohdetta seurataan 178 seuraajanAivot.DistanceFar = 1200; // Etäisyys jolla aletaan seurata kohdetta 179 seuraajanAivot.DistanceClose = 10; // Etäisyys jolloin ollaan lähellä kohdetta 180 seuraajanAivot.StopWhenTargetClose = true; // Pysähdytään kun ollaan lähellä kohdetta 181 seuraajanAivot.FarBrain = tasoAivot; // Käytetään satunnaisaivoja kun ollaan kaukana 182 183 //Aivot käyttöön oliolle 184 vihollinen.Brain = seuraajanAivot; 185 186 } 187 188 124 189 125 190 void LisaaTaso(Vector paikka, double leveys, double korkeus) … … 151 216 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 152 217 Add(pelaaja1); 218 153 219 //pelaaja1 on PlatformCharacter-tyyppinen 154 220 pelaaja1.Weapon = new AssaultRifle(30, 10); 221 pelaaja1.Weapon.Position = new Vector(0, korkeus * 0.8); 222 pelaaja1.Weapon.Image = null; 223 pelaaja1.Weapon.Color=Color.Transparent; 224 155 225 156 226 //Ammusten määrä aluksi: … … 165 235 { 166 236 ammus.Destroy(); 167 } 168 169 void AmmuAseella(PlatformCharacter pelaaja) 237 if( kohde.Tag.Equals("vihollinen")) 238 { 239 Vihu vihollinen = (Vihu)kohde; 240 vihollinen.ElamaLaskuri.Value--; // häviää automaattsiesti jos elämät menee 0:ksi. 241 } 242 243 if (kohde.Tag.Equals("lentavavihollinen")) 244 { 245 Vihu2 vihollinen = (Vihu2)kohde; 246 vihollinen.ElamaLaskuri.Value--; // häviää automaattsiesti jos elämät menee 0:ksi. 247 } 248 } 249 250 void AmmuAseella(PlatformCharacter pelaaja, int leveys, int korkeus) 170 251 { 171 252 PhysicsObject ammus = pelaaja.Weapon.Shoot(); 253 172 254 Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 173 255 174 256 if (ammus != null) 175 257 { 176 ammus.Size *= 1; 258 // ammus.Size *= 0.5; 259 ammus.Size = new Vector(leveys * 1, korkeus * 0.2); 177 260 ammus.Image = ammuksenKuva; 178 261 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); … … 190 273 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 191 274 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 192 Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1 );193 194 Keyboard.Listen(Key.Q, ButtonState. Pressed, HeitaKranaatti, "Heita", pelaaja1 );275 Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1, RUUDUN_KOKO, RUUDUN_KOKO); 276 277 Keyboard.Listen(Key.Q, ButtonState. Pressed, HeitaKranaatti, "Heita", pelaaja1, RUUDUN_KOKO, RUUDUN_KOKO); 195 278 196 279 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 197 280 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 198 Keyboard.Listen(Key. W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);281 Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 199 282 200 283 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 227 310 //Grenade kranaatti = new Grenade(4.0); 228 311 229 void HeitaKranaatti(PlatformCharacter pelaaja) 230 { 231 312 void HeitaKranaatti(PlatformCharacter pelaaja, int leveys, int korkeus) 313 { 232 314 Grenade kranu = new Grenade(5.0); 233 315 kranu.CollisionIgnoreGroup = 1; 316 kranu.Size = new Vector(leveys * 2, korkeus * 0.5); 234 317 kranu.Position = pelaaja.Position; 318 kranu.Angle = (Mouse.PositionOnWorld - pelaaja.Position).Angle; 235 319 kranu.Hit((Mouse.PositionOnWorld - pelaaja.Position).Angle.GetVector() * 45000); 236 320 Add(kranu); … … 239 323 kranu.Image = kranunKuva; 240 324 325 241 326 kranu.Explosion.ShockwaveReachesObject += KranaattiOsui; 242 327 kranu.Explosion.AddShockwaveHandler("vihollinen", KranaattiOsui); … … 258 343 } 259 344 345 346 260 347 } 348 349 350 class Vihu2 : PhysicsObject 351 { 352 private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 353 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 354 355 public Vihu2(double leveys, double korkeus, int elämä = 10) 356 : base(leveys, korkeus) 357 { 358 elamaLaskuri.MaxValue = elämä; 359 elamaLaskuri.Value = elämä; 360 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 361 } 362 } 363 364 365 class Vihu : PlatformCharacter 366 { 367 private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 368 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 369 370 public Vihu(double leveys, double korkeus,int elämä=3) 371 : base(leveys, korkeus) 372 373 { 374 elamaLaskuri.MaxValue = elämä; 375 elamaLaskuri.Value = elämä; 376 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 377 } 378 } -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2.csproj.Debug.cachefile
r6169 r6180 10 10 Content\kranaattikeihÀs.xnb 11 11 Content\musa1.xnb 12 Content\mopo1.xnb 13 Content\mopo2.xnb 14 Content\mopo3.xnb 12 15 Content\musa1.wma -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml
r6169 r6180 36 36 <Options>None</Options> 37 37 <Output>C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\kentta1.xnb</Output> 38 <Time>2015-06-23T1 1:30:54.9734858+03:00</Time>38 <Time>2015-06-23T14:37:28.2540198+03:00</Time> 39 39 </Item> 40 40 <Item> … … 102 102 <Time>2015-06-23T11:18:09.5888155+03:00</Time> 103 103 </Item> 104 <Item> 105 <Source>mopo1.png</Source> 106 <Name>mopo1</Name> 107 <Importer>TextureImporter</Importer> 108 <Processor>TextureProcessor</Processor> 109 <Options>None</Options> 110 <Output>C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo1.xnb</Output> 111 <Time>2015-06-23T12:47:35.371727+03:00</Time> 112 </Item> 113 <Item> 114 <Source>mopo2.png</Source> 115 <Name>mopo2</Name> 116 <Importer>TextureImporter</Importer> 117 <Processor>TextureProcessor</Processor> 118 <Options>None</Options> 119 <Output>C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo2.xnb</Output> 120 <Time>2015-06-23T12:47:42.5633731+03:00</Time> 121 </Item> 122 <Item> 123 <Source>mopo3.png</Source> 124 <Name>mopo3</Name> 125 <Importer>TextureImporter</Importer> 126 <Processor>TextureProcessor</Processor> 127 <Options>None</Options> 128 <Output>C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo3.xnb</Output> 129 <Time>2015-06-23T12:47:48.2106093+03:00</Time> 130 </Item> 104 131 <BuildSuccessful>true</BuildSuccessful> 105 132 <Settings> -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/obj/x86/Debug/Tasohyppelypeli2.csproj.FileListAbsolute.txt
r6169 r6180 19 19 C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\musa1.xnb 20 20 C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\musa1.wma 21 C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo1.xnb 22 C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo2.xnb 23 C:\MyTemp\EmilK\Tasohyppelypeli2\Tasohyppelypeli2\Tasohyppelypeli2\bin\x86\Debug\Content\mopo3.xnb -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt
r6169 r6180 11 11 Content\musa1.xnb 12 12 Content\musa1.wma 13 Content\mopo1.xnb 14 Content\mopo2.xnb 15 Content\mopo3.xnb -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2Content/Tasohyppelypeli2Content.contentproj
r6169 r6180 116 116 </Compile> 117 117 </ItemGroup> 118 <ItemGroup> 119 <Compile Include="mopo1.png"> 120 <Name>mopo1</Name> 121 <Importer>TextureImporter</Importer> 122 <Processor>TextureProcessor</Processor> 123 </Compile> 124 </ItemGroup> 125 <ItemGroup> 126 <Compile Include="mopo2.png"> 127 <Name>mopo2</Name> 128 <Importer>TextureImporter</Importer> 129 <Processor>TextureProcessor</Processor> 130 </Compile> 131 </ItemGroup> 132 <ItemGroup> 133 <Compile Include="mopo3.png"> 134 <Name>mopo3</Name> 135 <Importer>TextureImporter</Importer> 136 <Processor>TextureProcessor</Processor> 137 </Compile> 138 </ItemGroup> 118 139 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 119 140 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2015/26/EmilK/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2Content/kentta1.txt
r6169 r6180 1 2 3 4 5 H 6 ##### 7 8 9 10 11 12 13 14 15 # 16 # 17 # N hhhhh #18 ########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### 1 2 3 4 5 H L 6 ##### hh ss 7 ####### ##### L 8 L 9 10 # L 11 # 12 # 13 # 14 # 15 # 16 # 17 # N # 18 #######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Note: See TracChangeset
for help on using the changeset viewer.