Changeset 3284
- Timestamp:
- 2012-06-27 15:01:26 (11 years ago)
- Location:
- 2012/26/KasperiK/TheLastBattle/TheLastBattle
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattle/TheLastBattle.cs
r3232 r3284 1 using System; 1 //The Last Battle 2 //By: Kasperi Kuusipuro 3 //Älä aja Ongelma 4 using System; 2 5 using System.Collections.Generic; 3 6 using Jypeli; … … 9 12 public class TheLastBattle : PhysicsGame 10 13 { 14 //Alustetaan Muuttujia 11 15 PhysicsObject Pelaaja1; 16 PhysicsObject Pelaaja2; 17 12 18 Image IhmisAlus = LoadImage("IhmisAlus"); 13 PhysicsObject Pelaaja2;14 19 Image AlienAlus = LoadImage("AlienAlus"); 15 20 Image taustaKuva = LoadImage("tausta"); 21 Image AlienAlus2 = LoadImage("AlienAlus2"); 22 Image IhmisAlus2 = LoadImage("IhmisAlus2"); 16 23 24 PlasmaCannon plasmaTykkiP1; 25 PlasmaCannon plasmaTykkiP2; 17 26 27 DoubleMeter elkkuMittariP1; 28 DoubleMeter elkkuMittariP2; 18 29 19 30 public override void Begin() 20 31 { 32 //Kutsutaan Pelin luovat aliohjelmat 21 33 LuoKentta(); 22 34 LisaaOhjaimet(); 23 24 35 } 25 36 37 // Luodaan pelaajat ja Kenttä 26 38 void LuoKentta() 27 39 { 28 Level.CreateBorders( 1.0, false);40 Level.CreateBorders(0.5, false); 29 41 Level.Background.Image = taustaKuva; 30 42 Level.Background.FitToLevel(); … … 33 45 Pelaaja1 = new PhysicsObject(40, 50); 34 46 Pelaaja1.Image = IhmisAlus; 35 Pelaaja1.Restitution = 1.0;47 Pelaaja1.Restitution = 0.5; 36 48 Pelaaja1.X = Level.Left + 50; 49 Pelaaja1.Mass = 100; 37 50 Add(Pelaaja1); 51 52 //Luodaan plasmatykki 53 plasmaTykkiP1 = new PlasmaCannon(20, 5); 54 plasmaTykkiP1.ProjectileCollision = PlasmaPalloOsuu; 55 plasmaTykkiP1.IsVisible = false; 56 plasmaTykkiP1.InfiniteAmmo = true; 57 Pelaaja1.Add(plasmaTykkiP1); 38 58 39 59 Pelaaja2 = new PhysicsObject(40, 50); 40 60 Pelaaja2.Image = AlienAlus; 41 Pelaaja2.Restitution = 1.0;61 Pelaaja2.Restitution = 0.5; 42 62 Pelaaja2.X = Level.Right - 50; 63 Pelaaja2.Mass = 100.0; 43 64 Add(Pelaaja2); 65 66 //Luodaan plasmatykki 67 plasmaTykkiP2 = new PlasmaCannon(20, 5); 68 plasmaTykkiP2.ProjectileCollision = PlasmaPalloOsuu; 69 plasmaTykkiP2.IsVisible = false; 70 plasmaTykkiP2.InfiniteAmmo = true; 71 plasmaTykkiP2.Angle = Angle.StraightAngle; 72 Pelaaja2.Add(plasmaTykkiP2); 73 74 //Kutsutaan elkkumittareita 75 LisaaElkut(Level.Left + 50, Level.Top , Color.Red, elkkuMittariP1); 76 LisaaElkut(Level.Right - 50, Level.Top, Color.LimeGreen, elkkuMittariP2); 77 } 78 79 //Aliohjelma elkkumittareiden tekemiseen 80 void LisaaElkut(double x, double y, Color vari, DoubleMeter mittari) 81 { 82 mittari = new DoubleMeter(100); 83 mittari.MaxValue = 100; 84 ProgressBar elkkuPalkki = new ProgressBar(200, 25); 85 elkkuPalkki.BindTo(mittari); 86 Add(elkkuPalkki); 87 88 elkkuPalkki.X = x; 89 elkkuPalkki.Y = y; 90 elkkuPalkki.BarColor = vari; 91 elkkuPalkki.BorderColor = vari; 44 92 45 93 } 46 94 47 void LisaaOhjaimet() 95 //Lisätään ohjaimet 96 void LisaaOhjaimet() 48 97 { 49 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Pelaaja1 kaasu", new Vector(300,0)); 98 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Pelaaja1 kaasu",Pelaaja1, 5000.0, IhmisAlus2); 99 Keyboard.Listen(Key.W, ButtonState.Released, LiikutaPelaajaa, null, Pelaaja1, 0.0, IhmisAlus); 100 Keyboard.Listen(Key.A, ButtonState.Down, KaannaPelaajaa, "Pelaaja1 käänny vasemmalle", Pelaaja1, 3.0); 101 Keyboard.Listen(Key.A, ButtonState.Released, KaannaPelaajaa, null, Pelaaja1, 0.0); 102 Keyboard.Listen(Key.D, ButtonState.Down, KaannaPelaajaa, "Pelaaja1 käänny oikealle", Pelaaja1, -3.0); 103 Keyboard.Listen(Key.D, ButtonState.Released, KaannaPelaajaa, null, Pelaaja1, 0.0); 104 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Pelaaja1 ammu aseella", plasmaTykkiP1); 50 105 106 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Pelaaja2 kaasu", Pelaaja2, -5000.0, AlienAlus2); 107 Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, Pelaaja2, 0.0, AlienAlus); 108 Keyboard.Listen(Key.Left, ButtonState.Down, KaannaPelaajaa, "Pelaaja2 käänny vasemmalle", Pelaaja2, 3.0); 109 Keyboard.Listen(Key.Left, ButtonState.Released, KaannaPelaajaa, null, Pelaaja2, 0.0); 110 Keyboard.Listen(Key.Right, ButtonState.Down, KaannaPelaajaa, "Pelaaja2 käänny oikealle", Pelaaja2, -3.0); 111 Keyboard.Listen(Key.Right, ButtonState.Released, KaannaPelaajaa, null, Pelaaja2, 0.0); 112 Keyboard.Listen(Key.RightControl, ButtonState.Down, AmmuAseella, "Pelaaja2 ammu aseella", plasmaTykkiP2); 113 114 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Ohjeet"); 51 115 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 52 116 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 53 117 } 54 118 55 void LiikutaPelaajaa(Vector vektori) 119 //Aliohjelma Pelaajan liikuttamiseen 120 void LiikutaPelaajaa(PhysicsObject pelaaja, double nopeus, Image kuva) 56 121 { 57 Pelaaja1.Push(vektori); 122 Vector pelaajanSuunta = Vector.FromLengthAndAngle(nopeus, pelaaja.Angle); 123 pelaaja.Push(pelaajanSuunta); 124 pelaaja.Image = kuva; 125 } 126 //Aliohjelma pelaajan kääntämiseen 127 void KaannaPelaajaa(PhysicsObject pelaaja, double voima) 128 { 129 pelaaja.AngularVelocity = voima; 130 } 131 132 //Aliohjelma plasmapallon osumiseen 133 void PlasmaPalloOsuu(PhysicsObject ammus, PhysicsObject kohde) 134 { 135 ammus.Destroy(); 136 Explosion rajahdys = new Explosion(10); 137 rajahdys.Position = ammus.Position; 138 rajahdys.Force = 10; 139 Add(rajahdys); 140 141 if (kohde == Pelaaja1) 142 { 143 elkkuMittariP1.Value--;//Tässä Pieni ongelma 144 } 145 146 } 147 148 //Aliohjelma aseella ampumiseen 149 void AmmuAseella(PlasmaCannon tykki) 150 { 151 PhysicsObject ammus = tykki.Shoot(); 152 153 if (ammus != null) 154 { 155 ammus.Size *= 1; 156 157 if (tykki == plasmaTykkiP1) 158 { 159 ammus.Color = Color.Red; // Pelaaja1 ammusten väri vaihdetaan punaiseksi 160 } 161 } 58 162 } 59 163 -
2012/26/KasperiK/TheLastBattle/TheLastBattle/TheLastBattleContent/TheLastBattleContent.contentproj
r3232 r3284 57 57 <Processor>TextureProcessor</Processor> 58 58 </Compile> 59 <Compile Include="IhmisAlus.png"> 60 <Name>IhmisAlus</Name> 61 <Importer>TextureImporter</Importer> 62 <Processor>TextureProcessor</Processor> 63 </Compile> 59 64 </ItemGroup> 60 65 <ItemGroup> 61 <Compile Include="IhmisAlus.png"> 62 <Name>IhmisAlus</Name> 66 <Compile Include="AlienAlus2.png"> 67 <Name>AlienAlus2</Name> 68 <Importer>TextureImporter</Importer> 69 <Processor>TextureProcessor</Processor> 70 </Compile> 71 <Compile Include="IhmisAlus2.png"> 72 <Name>IhmisAlus2</Name> 63 73 <Importer>TextureImporter</Importer> 64 74 <Processor>TextureProcessor</Processor>
Note: See TracChangeset
for help on using the changeset viewer.