Changeset 9130
- Timestamp:
- 2017-07-26 14:43:13 (6 years ago)
- Location:
- 2017/utsjoki/JounaL/mailmanympäri/mailmanympäri
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/mailmanympäri.cs
r9091 r9130 7 7 using Jypeli.Widgets; 8 8 9 10 class PeliHahmo : PlatformCharacter 11 { 12 private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 13 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 14 15 public PeliHahmo(double leveys, double korkeus) 16 : base(leveys, korkeus) 17 { 18 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 19 } 20 } 21 22 class Olio : PhysicsObject 23 { 24 private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 25 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 26 27 public Olio(double leveys, double korkeus) 28 : base(leveys, korkeus) 29 { 30 31 } 32 } 33 9 34 public class mailmanympäri : PhysicsGame 10 35 { … … 13 38 const int RUUDUN_KOKO = 40; 14 39 15 P latformCharacterpelaaja1;16 40 PeliHahmo pelaaja1; 41 Image olionKuva = LoadImage("olio"); 17 42 Image pelaajanKuva = LoadImage("norsu"); 18 43 Image tahtiKuva = LoadImage("tahti"); 19 44 int ostoksiajäljellä = 10; 20 45 SoundEffect maaliAani = LoadSoundEffect("maali"); 21 46 Vector aloituspaikka; 22 47 public override void Begin() 23 48 { … … 30 55 31 56 32 Camera.Follow(pelaaja1); 33 Camera.ZoomFactor = 1.2; 34 Camera.StayInLevel = true; 57 35 58 } 36 59 … … 48 71 void LisaaOlio(Vector paikka, double leveys, double korkeus) 49 72 { 50 PhysicsObject Olio = new PhysicsObject(leveys, korkeus); 51 Olio.Position = paikka; 52 Olio.Color = Color.Red; 73 Olio olio = new Olio(leveys*2, korkeus*2); 74 olio.Position = paikka; 75 olio.Color = Color.Red; 76 olio.Tag = "olio"; 77 olio.Image = LoadImage("olio"); 53 78 54 79 FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); … … 61 86 // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 62 87 seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 63 Olio.Brain = seuraajanAivot; 64 Olio.Brain.Active = true; 65 66 Add(Olio); 88 olio.Brain = seuraajanAivot; 89 olio.Brain.Active = true; 90 91 olio.ElamaLaskuri.LowerLimit += delegate 92 { 93 olio.Destroy(); 94 95 LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 96 LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 97 LisaaTahti(olio.Position + RandomGen.NextVector(0, 20), 40, 40); 98 Timer.SingleShot(180, delegate 99 { 100 LisaaOlio(paikka, leveys, korkeus); 101 }); 102 }; 103 104 Add(olio); 67 105 68 106 … … 96 134 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 97 135 { 98 pelaaja1 = new P latformCharacter(leveys, korkeus);136 pelaaja1 = new PeliHahmo(leveys, korkeus); 99 137 pelaaja1.Position = paikka; 100 138 pelaaja1.Mass = 4.0; 101 139 pelaaja1.Image = pelaajanKuva; 102 140 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 141 AddCollisionHandler(pelaaja1, "olio", Tormaaolioon); 103 142 Add(pelaaja1); 104 } 105 143 aloituspaikka = paikka; 144 145 Camera.Follow(pelaaja1); 146 Camera.ZoomFactor = 1.2; 147 Camera.StayInLevel = true; 148 } 149 void Tormaaolioon(PhysicsObject pelaaja, PhysicsObject olio) 150 { 151 pelaaja1.ElamaLaskuri.Value -= 1; 152 if (pelaaja1.ElamaLaskuri.Value == 0) {/* LisaaPelaaja(aloituspaikka, RUUDUN_KOKO, RUUDUN_KOKO);LisaaNappaimet(); */ ClearAll(); Begin(); } 153 } 106 154 void LisaaNappaimet() 107 155 { … … 146 194 Add(Lyönti); 147 195 AddCollisionHandler(Lyönti, "Taso", lyöntiosuu); 196 AddCollisionHandler<PhysicsObject,Olio>(Lyönti, "olio", lyöntiosuuolioon); 148 197 Lyönti.LifetimeLeft = TimeSpan.FromSeconds(0.2); 149 198 Lyönti.IgnoresGravity = false; 199 } 200 void lyöntiosuuolioon(PhysicsObject lyönti, Olio olio) 201 { 202 olio.ElamaLaskuri.Value -= 1; 150 203 } 151 204 void lyöntiosuu(PhysicsObject lyönti, PhysicsObject Taso) … … 159 212 }); 160 213 } 214 161 215 IntMeter pisteLaskuri; 162 216 … … 167 221 pisteNaytto.X = Screen.Left + 100; 168 222 pisteNaytto.Y = Screen.Top - 100; 169 pisteNaytto.TextColor = Color.Black; 170 pisteNaytto.Color = Color.White; 171 172 pisteNaytto.BindTo(pisteLaskuri); 223 pisteNaytto.TextColor = Color.Red; 224 pisteNaytto.Color = Color.Green; 225 226 Label elamanaytto = new Label(); 227 elamanaytto.X = Screen.Left + 100; 228 elamanaytto.Y = Screen.Top - 200; 229 elamanaytto.TextColor = Color.Azure; 230 elamanaytto.Color = Color.BloodRed; 231 elamanaytto.BindTo(pelaaja1.ElamaLaskuri); 232 Add(elamanaytto); 233 234 pisteNaytto.BindTo(pisteLaskuri); 173 235 Add(pisteNaytto); 174 } 236 PushButton osto = new PushButton("osta"); 237 osto.Left = Screen.Left; 238 osto.Top = Screen.Top-150; 239 Add(osto); 240 osto.Clicked += ostaminen; 241 } 242 void ostaminen() 243 { 244 245 if (pisteLaskuri.Value >= 10) 246 { 247 if (pelaaja1.ElamaLaskuri.Value < 10) 248 { 249 pelaaja1.ElamaLaskuri.Value += 1; 250 pisteLaskuri.Value -= 10; 251 } 252 else { MessageDisplay.Add("Max hp"); } 253 } 254 else 255 { 256 MessageDisplay.Add("ei ole rahaa"); 257 } 258 259 } 175 260 } 176 261 … … 229 314 aikaNaytto.TextColor = Color.White; 230 315 aikaNaytto.DecimalPlaces = 1; 316 231 317 aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 232 318 Add(aikaNaytto); 233 319 } 234 235 320 void AikaLoppui() 236 321 { … … 271 356 }*/ 272 357 273 class Vihu : PhysicsObject 274 { 275 private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 276 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 277 278 public Vihu(double leveys, double korkeus) 279 : base(leveys, korkeus) 280 { 281 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 282 } 283 Vihu hemmo = new Vihu(20, 20); 284 hemmo.X = -100; 285 hemmo.Y = -100; 286 // ... 287 hemmo.ElamaLaskuri.Value--; // häviää automaattsiesti jos elämät menee 0:ksi. 288 class Vihu : PhysicsObject 289 { 290 // vihun ominaisuuksia... 291 } 292 293 294 public class Peli : PhysicsGame 295 { 296 // Vanha tuttu Peli-luokka... 297 } 298 class PeliHahmo : GameObject 299 { 300 public int Elamat { get; set; } 301 302 public PeliHahmo(double leveys, double korkeus, double elamia) 303 : base(leveys, korkeus) 304 { 305 Elamat = elamia; 306 } 307 } 308 ... 309 PeliHahmo hemmo = new PeliHahmo(20, 20, 3); // koko 20,20, elämiä 3 kpl 310 ... 311 hemmo.Elamat--; 312 if ( hemmo.Elamat <= 0 ) ... // jotakin kun elämät loppuu 313 class PeliHahmo : PhysicsObject 314 { 315 public int Elamat { get; set; } 316 public bool OnHidas { get; set; } 317 public int KenganNumero { get; set; } 318 public int Rahat { get; set; } 319 public Vector RespausKoordinaatit { get; set; } 320 321 public PeliHahmo(double leveys, double korkeus) 322 : base(leveys, korkeus) 323 { 324 Elamat = 3; 325 OnHidas = false; 326 KenganNumero = 42; 327 Rahat = 1000; 328 RespausKoordinaatit = Vector.Zero; 329 } 330 } 331 332 358 359 // Vihu hemmo = new Vihu(20, 20); 360 // hemmo.X = -100; 361 //hemmo.Y = -100; 362 // // ... 363 //hemmo.ElamaLaskuri.Value--; // häviää automaattsiesti jos elämät menee 0:ksi. 364 // class Vihu : PhysicsObject 365 // { 366 // // vihun ominaisuuksia... 367 // } 368 369 370 // public class Peli : PhysicsGame 371 // { 372 // // Vanha tuttu Peli-luokka... 373 // } 374 // class PeliHahmo : GameObject 375 // { 376 // public int Elamat { get; set; } 377 378 // public PeliHahmo(double leveys, double korkeus, double elamia) 379 // : base(leveys, korkeus) 380 // { 381 // Elamat = elamia; 382 // } 383 // } 384 //... 385 // PeliHahmo hemmo = new PeliHahmo(20, 20, 10); // koko 20,20, elämiä 3 kpl 386 //... 387 // hemmo.Elamat--; 388 // if ( hemmo.Elamat <= 0 ) ... // jotakin kun elämät loppuu 389 390 391 392 393 394 395 396 397 398 399 -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/mailmanympäri.csproj.Debug.cachefile
r9091 r9130 3 3 Content\tahti.xnb 4 4 Content\kentta1.xnb 5 Content\olio.xnb -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml
r9091 r9130 18 18 <Options>None</Options> 19 19 <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\norsu.xnb</Output> 20 <Time>2017-07-2 5T11:19:47.2225+03:00</Time>20 <Time>2017-07-26T12:11:15.4984539+03:00</Time> 21 21 </Item> 22 22 <Item> … … 27 27 <Options>None</Options> 28 28 <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\tahti.xnb</Output> 29 <Time>2017-07-2 5T13:23:52.8232429+03:00</Time>29 <Time>2017-07-26T09:52:17.6272416+03:00</Time> 30 30 </Item> 31 31 <Item> … … 36 36 <Options>None</Options> 37 37 <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\kentta1.xnb</Output> 38 <Time>2017-07-25T14:17:32.258669+03:00</Time> 38 <Time>2017-07-26T14:25:56.3432128+03:00</Time> 39 </Item> 40 <Item> 41 <Source>olio.png</Source> 42 <Name>olio</Name> 43 <Importer>TextureImporter</Importer> 44 <Processor>TextureProcessor</Processor> 45 <Options>None</Options> 46 <Output>C:\MyTemp\mailmanympäri\mailmanympäri\mailmanympäri\bin\x86\Debug\Content\olio.xnb</Output> 47 <Time>2017-07-26T14:22:35.5410374+03:00</Time> 39 48 </Item> 40 49 <BuildSuccessful>true</BuildSuccessful> -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt
r9091 r9130 3 3 Content\tahti.xnb 4 4 Content\kentta1.xnb 5 Content\olio.xnb -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäri/obj/x86/Debug/mailmanympäri.csproj.FileListAbsolute.txt
r9091 r9130 11 11 C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\obj\x86\Debug\mailmanympÀri.exe 12 12 C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\obj\x86\Debug\mailmanympÀri.pdb 13 C:\MyTemp\mailmanympÀri\mailmanympÀri\mailmanympÀri\bin\x86\Debug\Content\olio.xnb -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäriContent/kentta1.txt
r9091 r9130 7 7 8 8 9 10 # 11 ### 12 ##### 13 ####### 14 # 15 # # 16 # ## 17 F ############## F##########################18 N ##################################################### 9 # 10 # ### 11 ### ##### 12 ##### ####### 13 ####### # 14 # # 15 # # # F 16 # ## F ############## 17 F ############## #### ########################### 18 N ##################################################### ############## ############################## 19 19 #################################################################################################################################################################### -
2017/utsjoki/JounaL/mailmanympäri/mailmanympäri/mailmanympäriContent/mailmanympäriContent.contentproj
r9091 r9130 67 67 </Compile> 68 68 </ItemGroup> 69 <ItemGroup> 70 <Compile Include="olio.png"> 71 <Name>olio</Name> 72 <Importer>TextureImporter</Importer> 73 <Processor>TextureProcessor</Processor> 74 </Compile> 75 </ItemGroup> 69 76 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 70 77 <!-- 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.