- Timestamp:
- 2012-06-06 11:28:32 (11 years ago)
- Location:
- 2012/23/JimB/NameInPending/NameinPending/NameinPending
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPending/NameinPending.cs
r2806 r2810 7 7 using Jypeli.Widgets; 8 8 9 class PeliUkko : PhysicsObject 10 { 11 public IntMeter Elamat; 12 13 public PeliUkko(double leveys, double korkeus) 14 : base(leveys, korkeus) 15 { 16 Elamat = new IntMeter(50, 0, 100); 17 } 18 } 19 20 21 9 22 public class NameinPending : PhysicsGame 10 23 { 11 24 12 double ampumisnopeus = 500; 25 PeliUkko pelaaja1, pelaaja2, pelaaja3, pelaaja4; 26 double ampumisnopeus = 450; 13 27 14 28 public override void Begin() … … 36 50 ruudut.Execute(25, 25); 37 51 38 Level.BackgroundColor = new Color(96, 38,0);52 Level.BackgroundColor = Color.Silver; 39 53 Camera.ZoomToLevel(); 40 54 } … … 43 57 { 44 58 45 PhysicsObjectpelaaja1 = LuoPelaaja(paikka);59 pelaaja1 = LuoPelaaja(paikka); 46 60 pelaaja1.Image = LoadImage("Pelaaja1"); 47 61 pelaaja1.CollisionIgnoreGroup = 1; 48 62 49 Keyboard.Listen(Key.A, ButtonState.Down, Liike,null,pelaaja1, new Vector(-200,0)); 63 LuoHPNaytto(Screen.Left + 50, Screen.Top - 50, pelaaja1.Elamat, Color.Blue); 64 65 Keyboard.Listen(Key.A, ButtonState.Down, Liike, null, pelaaja1, new Vector(-200, 0)); 50 66 Keyboard.Listen(Key.A, ButtonState.Released, Liike, null, pelaaja1, new Vector(0, 0)); 51 67 Keyboard.Listen(Key.D, ButtonState.Down, Liike, null, pelaaja1, new Vector(200, 0)); … … 55 71 Keyboard.Listen(Key.W, ButtonState.Down, Liike, null, pelaaja1, new Vector(0, 200)); 56 72 Keyboard.Listen(Key.W, ButtonState.Released, Liike, null, pelaaja1, new Vector(0, 0)); 57 Keyboard.Listen(Key.Q, ButtonState.Down, Ammu, null, pelaaja1); 73 Keyboard.Listen(Key.Q, ButtonState.Down, Ammu, null, pelaaja1); 58 74 } 59 75 void LuoPelaaja2(Vector paikka, double leveys, double korkeus) 60 76 { 61 62 PhysicsObjectpelaaja2 = LuoPelaaja(paikka);77 78 pelaaja2 = LuoPelaaja(paikka); 63 79 pelaaja2.Image = LoadImage("Pelaaja2"); 64 80 pelaaja2.CollisionIgnoreGroup = 2; 81 LuoHPNaytto(Screen.Right - 50, Screen.Top - 50, pelaaja2.Elamat, Color.Yellow); 82 65 83 66 84 Keyboard.Listen(Key.Left, ButtonState.Down, Liike, null, pelaaja2, new Vector(-200, 0)); … … 72 90 Keyboard.Listen(Key.Up, ButtonState.Down, Liike, null, pelaaja2, new Vector(0, 200)); 73 91 Keyboard.Listen(Key.Up, ButtonState.Released, Liike, null, pelaaja2, new Vector(0, 0)); 74 Keyboard.Listen(Key.NumPad0, ButtonState.Down, Ammu, null, pelaaja2); 92 Keyboard.Listen(Key.NumPad0, ButtonState.Down, Ammu, null, pelaaja2); 75 93 } 76 94 void LuoPelaaja3(Vector paikka, double leveys, double korkeus) 77 95 { 78 96 79 PhysicsObjectpelaaja3 = LuoPelaaja(paikka);97 pelaaja3 = LuoPelaaja(paikka); 80 98 pelaaja3.Image = LoadImage("Pelaaja3"); 81 99 pelaaja3.CollisionIgnoreGroup = 3; 100 LuoHPNaytto(Screen.Right - 50, Screen.Bottom + 50, pelaaja3.Elamat, Color.Red); 101 82 102 83 103 Keyboard.Listen(Key.F, ButtonState.Down, Liike, null, pelaaja3, new Vector(-200, 0)); … … 89 109 Keyboard.Listen(Key.T, ButtonState.Down, Liike, null, pelaaja3, new Vector(0, 200)); 90 110 Keyboard.Listen(Key.T, ButtonState.Released, Liike, null, pelaaja3, new Vector(0, 0)); 91 Keyboard.Listen(Key.R, ButtonState.Down, Ammu, null, pelaaja3); 111 Keyboard.Listen(Key.R, ButtonState.Down, Ammu, null, pelaaja3); 92 112 } 93 113 void LuoPelaaja4(Vector paikka, double leveys, double korkeus) 94 114 { 95 115 96 PhysicsObjectpelaaja4 = LuoPelaaja(paikka);116 pelaaja4 = LuoPelaaja(paikka); 97 117 pelaaja4.Image = LoadImage("Pelaaja4"); 98 118 pelaaja4.CollisionIgnoreGroup = 4; 119 LuoHPNaytto(Screen.Left + 50, Screen.Bottom + 50, pelaaja4.Elamat, Color.Purple); 120 121 122 99 123 100 124 Keyboard.Listen(Key.J, ButtonState.Down, Liike, null, pelaaja4, new Vector(-200, 0)); … … 106 130 Keyboard.Listen(Key.I, ButtonState.Down, Liike, null, pelaaja4, new Vector(0, 200)); 107 131 Keyboard.Listen(Key.I, ButtonState.Released, Liike, null, pelaaja4, new Vector(0, 0)); 108 Keyboard.Listen(Key.U, ButtonState.Down, Ammu, null, pelaaja4); 109 } 110 PhysicsObject LuoPelaaja(Vector paikka) 111 { 112 PhysicsObject Pelaaja = new PhysicsObject(18, 18); 113 Pelaaja.Restitution = 0.01; 114 Pelaaja.AngularDamping = 1; 115 Pelaaja.Position = paikka; 116 Pelaaja.Shape = Shape.Circle; 117 Add(Pelaaja); 118 return Pelaaja; 119 120 } 132 Keyboard.Listen(Key.U, ButtonState.Down, Ammu, null, pelaaja4); 133 } 134 135 PeliUkko LuoPelaaja(Vector paikka) 136 { 137 PeliUkko pelaaja = new PeliUkko(18, 18); 138 pelaaja.Restitution = 0; 139 pelaaja.AngularDamping = Double.Epsilon; 140 pelaaja.Position = paikka; 141 pelaaja.Shape = Shape.Circle; 142 Add(pelaaja); 143 AddCollisionHandler<PeliUkko, PhysicsObject>(pelaaja, "bullet", Osuma); 144 145 return pelaaja; 146 147 } 148 149 void LuoHPNaytto(double x, double y, IntMeter sidottavaMittari, Color taustavari) 150 { 151 Label hp = new Label(); 152 hp.Color = taustavari; 153 hp.BindTo(sidottavaMittari); 154 hp.Position = new Vector(x, y); 155 Add(hp); 156 } 157 158 void Osuma(PeliUkko tormaaja, PhysicsObject ammus) 159 { 160 tormaaja.Elamat.Value -= 1; 161 if (tormaaja.Elamat.Value <= 0) 162 { 163 tormaaja.Destroy(); 164 } 165 ammus.Destroy(); 166 } 167 bool aseReady = true; 121 168 void Ammu(PhysicsObject pelaaja) 122 169 { 123 PhysicsObject bullet = new PhysicsObject(LoadImage("bullet")); 124 Add(bullet); 125 // AddCollisionHandler(bullet, CollisionHandler.ExplodeObject(100, false)); 126 AddCollisionHandler(bullet, CollisionHandler.DestroyObject); 127 bullet.Position = pelaaja.Position; 128 bullet.Angle = pelaaja.Angle; 129 bullet.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 130 Vector suunta = Vector.FromLengthAndAngle(ampumisnopeus, pelaaja.Angle + Angle.RightAngle); 131 bullet.Hit(suunta); 132 133 } 134 void Liike(PhysicsObject pelaaja, Vector nopeus) 170 if (aseReady) 171 { 172 PhysicsObject bullet = new PhysicsObject(LoadImage("bullet")); 173 Add(bullet); 174 bullet.Tag = "bullet"; 175 bullet.Restitution = 0; 176 // AddCollisionHandler(bullet, CollisionHandler.ExplodeObject(100, false)); 177 AddCollisionHandler(bullet, "Seinä", CollisionHandler.DestroyObject); 178 bullet.Position = pelaaja.Position; 179 bullet.Angle = pelaaja.Angle; 180 bullet.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 181 Vector suunta = Vector.FromLengthAndAngle(ampumisnopeus, pelaaja.Angle + Angle.RightAngle); 182 bullet.Hit(suunta); 183 aseReady = false; 184 Timer.SingleShot(0.5, delegate { aseReady = true; }); 185 } 186 } 187 bool naattiReady = true; 188 void Heita(PhysicsObject pelaaja) 189 { 190 if (naattiReady) 191 { 192 PhysicsObject naatti = new PhysicsObject(LoadImage("naatti")); 193 Add(naatti); 194 naatti.Tag = "naatti"; 195 naatti.Restitution = 0.6; 196 naatti.Position = pelaaja.Position; 197 naatti.Angle = pelaaja.Angle; 198 naatti.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 199 Vector suunta = Vector.FromLengthAndAngle(ampumisnopeus, pelaaja.Angle + Angle.RightAngle); 200 naatti.Hit(suunta); 201 naattiReady = false; 202 Timer.SingleShot(10.5, delegate { naattiReady = true; }); 203 } 204 205 } 206 void Liike(PeliUkko pelaaja, Vector nopeus) 135 207 { 136 208 pelaaja.Velocity = nopeus; … … 144 216 PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 145 217 palikka.Position = paikka; 218 palikka.Tag = "Seinä"; 219 palikka.Restitution = 0; 146 220 palikka.Shape = Shape.Rectangle; 147 221 palikka.Color = Color.White; -
2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPending/NameinPending.csproj
r2806 r2810 63 63 <ItemGroup> 64 64 <Reference Include="Jypeli"> 65 </Reference>66 <Reference Include="Jypeli4, Version=4.2.1.0, Culture=neutral, processorArchitecture=x86">67 <SpecificVersion>False</SpecificVersion>68 <HintPath>..\..\..\..\..\AtteH\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\Jypeli4.dll</HintPath>69 65 </Reference> 70 66 <Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86"> -
2012/23/JimB/NameInPending/NameinPending/NameinPending/NameinPendingContent/NameinPendingContent.contentproj
r2796 r2810 86 86 </Compile> 87 87 </ItemGroup> 88 <ItemGroup> 89 <Compile Include="naatti.png"> 90 <Name>naatti</Name> 91 <Importer>TextureImporter</Importer> 92 <Processor>TextureProcessor</Processor> 93 </Compile> 94 <Compile Include="naattishard.png"> 95 <Name>naattishard</Name> 96 <Importer>TextureImporter</Importer> 97 <Processor>TextureProcessor</Processor> 98 </Compile> 99 </ItemGroup> 88 100 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 89 101 <!-- 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.