- Timestamp:
- 2010-08-06 10:31:52 (13 years ago)
- Location:
- 2010/24/arhetaka
- Files:
-
- 34 added
- 5 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
2010/24/arhetaka/AcesHigh/AcesHigh/Peli.cs
r1244 r1650 402 402 base.Update(time); 403 403 } 404 IntMeter pisteLaskuri; 405 406 void LuoLaskuri() 407 { 408 pisteLaskuri = new IntMeter(0); 409 410 Label pisteNaytto = new Label(); 411 pisteNaytto.X = Screen.Left + 100; 412 pisteNaytto.Y = Screen.Top - 100; 413 pisteNaytto.TextColor = Color.Red; 414 415 if (kone1pommi.IsAddedToGame) 416 { 417 pisteNaytto.BindTo(pisteLaskuri); 418 } 419 Add(pisteNaytto); 420 } 421 404 422 405 423 } -
2010/24/arhetaka/EyeOfTheCommonRoach/EyeOFWood.sln
r1538 r1650 2 2 Microsoft Visual Studio Solution File, Format Version 10.00 3 3 # Visual Studio 2008 4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EyeOf TheCommonRoach", "EyeOfTheCommonRoach\EyeOfTheCommonRoach.csproj", "{52336A4E-1391-48FE-892D-8D3EA9C237BB}"4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EyeOfWood", "EyeOfTheCommonRoach\EyeOfWood.csproj", "{52336A4E-1391-48FE-892D-8D3EA9C237BB}" 5 5 EndProject 6 6 Global -
2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/Content/Content.contentproj
r1538 r1650 60 60 </Compile> 61 61 </ItemGroup> 62 <ItemGroup> 63 <Compile Include="kk.wav"> 64 <Name>kk</Name> 65 <Importer>WavImporter</Importer> 66 <Processor>SoundEffectProcessor</Processor> 67 </Compile> 68 </ItemGroup> 69 <ItemGroup> 70 <Compile Include="nuoli.png"> 71 <Name>nuoli</Name> 72 <Importer>TextureImporter</Importer> 73 <Processor>TextureProcessor</Processor> 74 </Compile> 75 </ItemGroup> 76 <ItemGroup> 77 <Compile Include="kimmoke2.wav"> 78 <Name>kimmoke2</Name> 79 <Importer>WavImporter</Importer> 80 <Processor>SoundEffectProcessor</Processor> 81 </Compile> 82 </ItemGroup> 83 <ItemGroup> 84 <Compile Include="kimmoke3.wav"> 85 <Name>kimmoke3</Name> 86 <Importer>WavImporter</Importer> 87 <Processor>SoundEffectProcessor</Processor> 88 </Compile> 89 </ItemGroup> 62 90 </Project> -
2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/EyeOfWood.csproj
r1538 r1650 7 7 <OutputType>WinExe</OutputType> 8 8 <AppDesignerFolder>Properties</AppDesignerFolder> 9 <RootNamespace>EyeOf TheCommonRoach</RootNamespace>10 <AssemblyName>EyeOf TheCommonRoach</AssemblyName>9 <RootNamespace>EyeOfWood</RootNamespace> 10 <AssemblyName>EyeOfWood</AssemblyName> 11 11 <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 12 12 <XnaFrameworkVersion>v3.1</XnaFrameworkVersion> -
2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/Peli.cs
r1538 r1650 3 3 using Jypeli.Widgets; 4 4 using Jypeli.Assets; 5 using Jypeli.Effects; 5 6 6 7 public class Peli : PhysicsGame … … 10 11 PhysicsObject Takatahtain; // takatähtäin 11 12 12 double tahtaimenKoko = 50; 13 double taulunkoko = 100; // jatkossa riippuu etäisyydestä 14 double taulurenkaidenLukumaara = 10; 15 16 double tahtaimenKoko = 100; 13 17 double VirheKerroin = 2; //miten paljon tähtäysvirhe vaikuuttaa osumaan, jatkossa riippuu ampumamatkasta 14 18 15 bool punaPistePaalla = false; 19 int tulinopeus = 600; //vaikuttaa sarjatuleen ei toimi vielä hyvin 20 int tulinopeuden_temp = 0; //apumuuttuja 21 22 bool zoom = false; 23 24 bool tulostaulu = true; 25 double tulostaulunkoko = 200; 26 double TulostaulunX = -250; 27 double TulostaulunY = -150; 28 29 bool sarjatuli = false; 30 bool punaPistePaalla = true; 31 bool savut = true; 16 32 bool debug = true; 17 33 bool hairiot = true; … … 28 44 double tuulenMaxVoima = 10; //tätä suurempaa tuulta ei tulekkaan 29 45 DoubleMeter tuulenVoima = new DoubleMeter(0); //arvotaan tuulen teossa jos tuuli on päällä 46 double tuulenSavuKerroin = 5; // tällä säädetään tuulen vaikutusta savuihin 30 47 31 48 //ohjaimet … … 34 51 double OhjaimenEdellinenX = 0; //hiiren edellinen X koordinaatti 35 52 double OhjaimenEdellinenY = 0; //hiiren edellinen Y koordinaatti 36 double ohjauksenNopeus = 0.1; //kerroin miten nopeasti hiiren liike liikuttaa tähtäintä37 double hiirenHerkkyys = 1;53 double ohjauksenNopeus = 1.0; //kerroin miten nopeasti hiiren liike liikuttaa tähtäintä 54 double hiirenHerkkyys = 0.01; 38 55 double TahtaimenKitka = 0.95; 39 56 bool tahtayssuunta = true; //true liike pelikuva, false arcade 40 57 41 double tahtaintenMaxEtaisyys = 50; //tämän kauemmas etutähtäin ei liiku takatähtäimestä 58 double tahtaintenMaxEtaisyys = 200; //tämän kauemmas etutähtäin ei liiku takatähtäimestä 59 60 Smoke savu; 61 Smoke savu2; 62 63 SoundEffect kk; 64 SoundEffect kimmoke3; 65 SoundEffect kimmoke2; 66 67 Label tulosNaytto; 68 DoubleMeter pistelaskuri; 42 69 43 70 //debug kamaa … … 49 76 DoubleMeter hiirenYlaskuri = new DoubleMeter(0); //debug 50 77 DoubleMeter tahtaintenEtaisyysMittari = new DoubleMeter(0); //debug 51 GameObject PunaPiste = new GameObject(5, 5); 78 GameObject PunaPiste = new GameObject(3, 3); 79 GameObject ohjainNuoli = new GameObject(10, 100); 52 80 53 81 … … 61 89 } 62 90 TeeKentta(); 91 if (tulostaulu) 92 { 93 TeeTulostaulu(); 94 } 63 95 TeeTaulu(); 64 96 TeeTahtain(); … … 67 99 void TeeTaulu() 68 100 { 69 for (double a = 200; a > 10; a = a - 20)70 { 71 TeeRengas(a, RandomGen.NextColor(), 0, 0); 101 for (double a = taulunkoko; a >= (taulunkoko / taulurenkaidenLukumaara); a = a - (taulunkoko / taulurenkaidenLukumaara)) 102 { 103 TeeRengas(a, RandomGen.NextColor(), 0, 0); 72 104 } 73 105 … … 82 114 Add(rengas); 83 115 } 84 116 117 void TeeTulostaulu() 118 { 119 for (double a = tulostaulunkoko; a >= (tulostaulunkoko / taulurenkaidenLukumaara); a = a - (tulostaulunkoko / taulurenkaidenLukumaara)) 120 { 121 TeeRengas(a, RandomGen.NextColor(), TulostaulunX, TulostaulunY); 122 } 123 } 85 124 void TeeDebug() 86 125 { … … 112 151 TeePunapiste(); 113 152 } 153 ohjainNuoli.Color = Color.Red; 154 ohjainNuoli.Image = LoadImage("nuoli"); 155 ohjainNuoli.X = -200; 156 Add(ohjainNuoli); 114 157 115 158 } … … 124 167 { 125 168 Level.Background.Image = LoadImage("tausta"); 169 kk = LoadSoundEffect("kk"); 170 kimmoke3 = LoadSoundEffect("kimmoke3"); 171 kimmoke2 = LoadSoundEffect("kimmoke2"); 172 173 pistelaskuri = new DoubleMeter(0); 174 175 tulosNaytto = new Label(); 176 tulosNaytto.BindTo(pistelaskuri); 177 tulosNaytto.X = 0; 178 tulosNaytto.Y = Screen.Top - 100; 179 Add(tulosNaytto); 180 181 if (tuuli) 182 { 183 TeeTuuli(); 184 } 185 if (savut) 186 { 187 savu = new Smoke(tuulenVoima.Value * tuulenSavuKerroin); 188 savu.Position = new Vector(Screen.Left + 300, 0); 189 Add(savu); 190 savu2 = new Smoke(tuulenVoima.Value * tuulenSavuKerroin); 191 savu2.Position = new Vector(Screen.Right - 300, 0); 192 Add(savu2); 193 } 126 194 Camera.ZoomToLevel(); 127 195 } … … 129 197 void TeeTahtain() 130 198 { 199 131 200 Etutahtain = new PhysicsObject(tahtaimenKoko, tahtaimenKoko); 132 201 Etutahtain.Shape = Shapes.Rectangle; … … 137 206 Etutahtain.CanRotate = false; 138 207 Add(Etutahtain); 139 208 140 209 Takatahtain = new PhysicsObject(tahtaimenKoko, tahtaimenKoko); 141 210 Takatahtain.Shape = Shapes.Rectangle; … … 147 216 Add(Takatahtain); 148 217 } 218 void TuhoaTahtaimet() 219 { 220 Remove(Etutahtain); 221 Remove(Takatahtain); 222 } 149 223 void TeeVapinaa() 150 224 { … … 181 255 Mouse.IsCursorVisible = true; 182 256 Mouse.ListenMovement(hiirenHerkkyys, KuunteleLiiketta, null); 183 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Laukaise, null); 257 if (sarjatuli) 258 { 259 Mouse.Listen(MouseButton.Left, ButtonState.Down, Laukaise, null); 260 } 261 else 262 { 263 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Laukaise, null); 264 } 184 265 185 266 //näppäimistö … … 188 269 Keyboard.Listen(Key.S, ButtonState.Down, LiikutaTahtainta, null, new Vector(0, -nappimistonOhjausNopeus)); 189 270 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaTahtainta, null, new Vector(0, nappimistonOhjausNopeus)); 271 272 Keyboard.Listen(Key.Z, ButtonState.Pressed, ToogleZoom, null); 273 274 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); 190 275 191 276 } 192 277 void Laukaise() 193 278 { 194 Vector suunta = LaskeLaukauksenSuunta(); 195 Vector osumakohta = LaskeOsumaKohta(suunta); 196 TeeOsuma(osumakohta.X, osumakohta.Y); 279 if (sarjatuli) 280 { 281 282 if (RandomGen.NextDouble(0, 30) < (tulinopeus / 30) ) 283 { 284 Vector suunta = LaskeLaukauksenSuunta(); 285 Vector osumakohta = LaskeOsumaKohta(suunta); 286 TeeOsuma(osumakohta.X, osumakohta.Y); 287 kk.Play(); 288 } 289 } 290 else 291 { 292 Vector suunta = LaskeLaukauksenSuunta(); 293 Vector osumakohta = LaskeOsumaKohta(suunta); 294 double tulos = tarkistaPisteet(osumakohta); 295 ilmoitaTulos(tulos); 296 //tehdään reikä tauluun tai tulostauluun 297 if (tulostaulu) 298 { 299 osumakohta.X = osumakohta.X * (tulostaulunkoko / taulunkoko); 300 osumakohta.Y = osumakohta.Y * (tulostaulunkoko / taulunkoko); 301 osumakohta.X = osumakohta.X + TulostaulunX; 302 osumakohta.Y = osumakohta.Y + TulostaulunY; 303 Vector osumanEtaisyys = new Vector(osumakohta.X - TulostaulunX, osumakohta.Y - TulostaulunY); 304 //double etaisyys = osumanEtaisyys.Magnitude; 305 if (osumanEtaisyys.Magnitude < (tulostaulunkoko / 2)) 306 { 307 TeeOsuma(osumakohta.X, osumakohta.Y); 308 } 309 } 310 else 311 { 312 TeeOsuma(osumakohta.X, osumakohta.Y); 313 } 314 315 316 kk.Play(); 317 if (RandomGen.NextDouble(0, 20) < 1) 318 { 319 kimmoke3.Play(); 320 } 321 else if (RandomGen.NextDouble(0, 20) < 1) 322 { 323 kimmoke2.Play(); 324 } 325 326 } 327 197 328 } 198 329 Vector LaskeOsumaKohta(Vector suunta) 199 330 { 200 331 Vector Osumakohta = new Vector(); 201 Osumakohta.X = suunta.X * VirheKerroin;332 Osumakohta.X = Takatahtain.X + (suunta.X * VirheKerroin); 202 333 //Osumakohta.Y = (suunta.Y + Takatahtain.Y) * VirheKerroin + (tahtaimenKoko / 2);//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella 203 Osumakohta.Y = suunta.Y * VirheKerroin;//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella334 Osumakohta.Y = Takatahtain.Y + (suunta.Y * VirheKerroin);//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella 204 335 return Osumakohta; 205 336 } 206 337 void TeeOsuma(double osumanX, double osumanY) 207 338 { 208 GameObject osuma = new GameObject( 10, 10);339 GameObject osuma = new GameObject(3, 3); 209 340 osuma.Shape = Shapes.Circle; 210 osuma.Color = RandomGen.NextColor(); 341 //osuma.Color = RandomGen.NextColor(); 342 osuma.Color = Color.Black; 211 343 osuma.X = osumanX; 212 osuma.Y = osumanY; 344 osuma.Y = osumanY; 213 345 Add(osuma); 214 346 } … … 250 382 if (OhjaimenEdellinenX == 0 && OhjaimenEdellinenY == 0) 251 383 { 252 OhjaimenEdellinenX = Mouse.PositionOn World.X;253 OhjaimenEdellinenY = Mouse.PositionOn World.Y;384 OhjaimenEdellinenX = Mouse.PositionOnScreen.X; 385 OhjaimenEdellinenY = Mouse.PositionOnScreen.Y; 254 386 } 255 387 else … … 258 390 if (tahtayssuunta) //liike hiiren peilikuvana 259 391 { 260 liikutus = new Vector((OhjaimenEdellinenX - Mouse.PositionOn World.X) * ohjauksenNopeus, (OhjaimenEdellinenY - Mouse.PositionOnWorld.Y) * ohjauksenNopeus);392 liikutus = new Vector((OhjaimenEdellinenX - Mouse.PositionOnScreen.X) * ohjauksenNopeus, (OhjaimenEdellinenY - Mouse.PositionOnScreen.Y) * ohjauksenNopeus); 261 393 262 394 } 263 395 else //liike samaan suuntaan kun hiirikin 264 396 { 265 liikutus = new Vector((Mouse.PositionOn World.X - OhjaimenEdellinenX) * ohjauksenNopeus, (Mouse.PositionOnWorld.Y - OhjaimenEdellinenY) * ohjauksenNopeus);397 liikutus = new Vector((Mouse.PositionOnScreen.X - OhjaimenEdellinenX) * ohjauksenNopeus, (Mouse.PositionOnScreen.Y - OhjaimenEdellinenY) * ohjauksenNopeus); 266 398 } 267 399 //Takatahtain.Hit(liikutus); 400 ohjainNuoli.Angle = liikutus.Angle - Angle.RightAngle; 268 401 Etutahtain.Hit(liikutus); // hiiri liikuttaa vain etutähtäintä 269 402 } … … 302 435 // OhjaimenEdellinenY = 0; 303 436 } 437 OhjaimenEdellinenX = Mouse.PositionOnScreen.X; 438 OhjaimenEdellinenY = Mouse.PositionOnScreen.Y; 304 439 } 305 440 void TeeTuuli() … … 322 457 } 323 458 } 459 if (savu != null && savu2 != null) 460 { 461 Wind = new Vector(tuulenVoima.Value * tuulenSavuKerroin, 0); 462 } 463 324 464 } 325 465 } … … 331 471 PunaPiste.Y = osumakohta.Y; 332 472 } 333 473 double tarkistaPisteet(Vector osumaKohta) 474 { 475 //tähän taulun paikan tarkistus 476 double tulos = osumaKohta.Magnitude; 477 tulos = 10 - (tulos / (taulunkoko / 20)); 478 if (tulos < 0) 479 { 480 tulos = 0; 481 } 482 return tulos; 483 } 484 void ilmoitaTulos(double tulos) 485 { 486 pistelaskuri.Value = tulos; 487 } 488 489 void ToogleZoom() 490 { 491 if (zoom) 492 { 493 tahtaimenKoko = tahtaimenKoko / 2; 494 TuhoaTahtaimet(); 495 TeeTahtain(); 496 zoom = false; 497 } 498 else 499 { 500 tahtaimenKoko = tahtaimenKoko * 2; 501 TuhoaTahtaimet(); 502 TeeTahtain(); 503 zoom = true; 504 } 505 } 506 334 507 protected override void Update(Time time) 335 508 {
Note: See TracChangeset
for help on using the changeset viewer.