Changeset 4305
- Timestamp:
- 2013-06-28 12:08:43 (10 years ago)
- Location:
- 2013/26/SakuK/kaksintastelut/kaksintastelut
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/26/SakuK/kaksintastelut/kaksintastelut/kaksintastelut/kaksintastelut.cs
r4262 r4305 9 9 public class kaksintastelut : PhysicsGame 10 10 { 11 PhysicsObject pelaaja1; 12 PhysicsObject pelaaja2; 13 11 PlatformCharacter pelaaja1; 12 PlatformCharacter pelaaja2; 13 14 Image hahmokuva = LoadImage("hahmopaahenkilo"); 15 Image hahmokuva2 = LoadImage("hahmopaahenkilo2"); 16 17 DoubleMeter elamaLaskuri1; 18 DoubleMeter elamaLaskuri2; 19 IntMeter pisteLaskuri1 = new IntMeter(0, 0, 5); 20 IntMeter pisteLaskuri2 = new IntMeter(0, 0, 5); 14 21 15 22 public override void Begin() 16 23 { 17 Gravity = new Vector(0, -100); 18 // pelaaja1 = new PhysicsObject( 40, 40 ); 19 //Add( pelaaja1 ); 20 //pelaaja2 = new PhysicsObject( 40, 40 ); 21 //Add( pelaaja2 ); 22 23 ControllerOne.Listen( Button.DPadLeft, ButtonState.Down, 24 LiikutaPelaajaa, null, new Vector( -1000, 0 ), pelaaja1 ); 25 ControllerOne.Listen( Button.DPadRight, ButtonState.Down, 26 LiikutaPelaajaa, null, new Vector( 1000, 0 ), pelaaja1 ); 27 ControllerOne.Listen( Button.DPadUp, ButtonState.Down, 28 LiikutaPelaajaa, null, new Vector( 0, 1000 ), pelaaja1 ); 29 ControllerOne.Listen( Button.DPadDown, ButtonState.Down, 30 LiikutaPelaajaa, null, new Vector( 0, -1000 ), pelaaja1 ); 31 32 ControllerTwo.Listen( Button.DPadLeft, ButtonState.Down, 33 LiikutaPelaajaa, null, new Vector( -1000, 0 ), pelaaja2 ); 34 ControllerTwo.Listen( Button.DPadRight, ButtonState.Down, 35 LiikutaPelaajaa, null, new Vector( 1000, 0 ), pelaaja2 ); 36 ControllerTwo.Listen( Button.DPadUp, ButtonState.Down, 37 LiikutaPelaajaa, null, new Vector( 0, 1000 ), pelaaja2 ); 38 ControllerTwo.Listen( Button.DPadDown, ButtonState.Down, 39 LiikutaPelaajaa, null, new Vector( 0, -1000 ), pelaaja2 ); 40 41 42 } 24 AloitaPeli(); 25 } 26 27 public void AloitaPeli() 28 { 29 ClearAll(); 30 Gravity = new Vector(0, -900); 31 // pelaaja1 = new PhysicsObject( 40, 40 ); 32 //Add( pelaaja1 ); 33 //pelaaja2 = new PhysicsObject( 40, 40 ); 34 //Add( pelaaja2 ); 35 LuoKentta(); 36 37 LuoElamaLaskuri(); 38 39 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Kavele, null, -1000.0, pelaaja1); 40 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Kavele, null, 1000.0, pelaaja1); 41 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, Hyppaa, null, 1000.0, pelaaja1); 42 ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaTatilla, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja1); 43 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Hyppää", 1000.0, pelaaja1); 44 45 ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 46 47 48 49 ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, 50 Kavele, null, -1000.0, pelaaja2); 51 ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, 52 Kavele, null, 1000.0, pelaaja2); 53 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, 54 Hyppaa, null, 1000.0, pelaaja2); 55 ControllerTwo.ListenAnalog(AnalogControl.LeftStick, 0.1, 56 LiikutaTatilla, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja2); 57 ControllerTwo.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Hyppää", 1000.0, pelaaja2); 58 ControllerTwo.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 59 60 61 62 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 63 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 64 65 } 66 67 void Hyppaa(double nopeus, PlatformCharacter pelaaja) 68 { 69 pelaaja.Jump(nopeus); 70 } 71 72 void AmmuAseella(PlatformCharacter pelaaja) 73 { 74 PhysicsObject ammus = pelaaja.Weapon.Shoot(); 75 76 if (ammus != null) 77 { 78 //ammus.Size *= 3; 79 //ammus.Image = ... 80 ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 81 } 82 } 83 84 85 void Kavele(double nopeus, PlatformCharacter pelaaja) 86 { 87 pelaaja.Walk(nopeus); 88 } 89 90 void LiikutaTatilla(AnalogState a, PlatformCharacter pelaaja) 91 { 92 Vector tatinAsento = a.StateVector; 93 pelaaja.Walk(tatinAsento.X * 1000); 94 95 } 96 43 97 44 98 void LuoPelaaja1(Vector paikka, double leveys, double korkeus, PhysicsObject pelaaja) 45 99 { 46 pelaaja1 = new P hysicsObject(40, 20);100 pelaaja1 = new PlatformCharacter(40, 20); 47 101 pelaaja1.Shape = Shape.Rectangle; 48 102 pelaaja1.Mass = 10.0; 49 103 pelaaja1.Position = paikka; 104 pelaaja1.Image = hahmokuva; 50 105 Add(pelaaja1); 51 } 52 53 54 void LuoKentta() 55 { 56 //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä. 57 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kaksintaistelu"); 58 ruudut.SetTileMethod("55FF11", LuoPelaaja1, pelaaja1); 59 ruudut.SetTileMethod("FF000C", LuoPelaaja2, pelaaja2); 60 ruudut.SetTileMethod("FF6A00", LuoTaso); 61 ruudut.Execute(40, 40); 62 63 } 64 void LuoTaso(Vector paikka, double leveys, double Korkerus) 65 { 66 } 67 void LiikutaPelaajaa(Vector paikka, PhysicsObject Pelaaja ) 68 { 69 Pelaaja.Push(paikka); 70 } 71 void LuoPelaaja2(Vector paikka, double leveys, double korkeus, PhysicsObject pelaaja) 72 { 73 } 106 pelaaja1.Weapon = new AssaultRifle(30, 10); 107 pelaaja1.Weapon.Ammo.Value = 1000; 108 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 109 } 110 111 112 void LuoKentta() 113 { 114 //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä. 115 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kaksintaistelu"); 116 ruudut.SetTileMethod("55FF11", LuoPelaaja1, pelaaja1); 117 ruudut.SetTileMethod("FF000C", LuoPelaaja2, pelaaja2); 118 ruudut.SetTileMethod("FF6A00", LuoTaso); 119 ruudut.SetTileMethod("7F0000", LuoSeina); 120 ruudut.Execute(40, 40); 121 122 Level.CreateBorders(); 123 124 Level.BackgroundColor = Color.Black; 125 126 LuoPistelaskuri(pisteLaskuri1, Screen.Left + 100); 127 LuoPistelaskuri(pisteLaskuri2, Screen.Right - 100); 128 } 129 130 void LuoSeina(Vector paikka, double leveys, double Korkerus) 131 { 132 PhysicsObject taso = new PhysicsObject(leveys, Korkerus); 133 taso.MakeStatic(); 134 taso.Position = paikka; 135 Add(taso); 136 } 137 138 void LuoTaso(Vector paikka, double leveys, double Korkerus) 139 { 140 PhysicsObject taso = new PhysicsObject(leveys, Korkerus); 141 taso.MakeStatic(); 142 taso.Position = paikka; 143 Add(taso); 144 } 145 146 void LiikutaPelaajaa(Vector paikka, PhysicsObject Pelaaja) 147 { 148 Pelaaja.Push(paikka); 149 } 150 void LuoPelaaja2(Vector paikka, double leveys, double korkeus, PhysicsObject pelaaja) 151 { 152 pelaaja2 = new PlatformCharacter(40, 20); 153 pelaaja2.Shape = Shape.Rectangle; 154 pelaaja2.Mass = 10.0; 155 pelaaja2.Position = paikka; 156 pelaaja2.Image = hahmokuva2; 157 Add(pelaaja2); 158 pelaaja2.Weapon = new AssaultRifle(30, 10); 159 pelaaja2.Weapon.Ammo.Value = 1000; 160 pelaaja2.Weapon.ProjectileCollision = AmmusOsui; 161 } 162 163 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 164 { 165 ammus.Destroy(); 166 167 if (kohde == pelaaja1) 168 { 169 elamaLaskuri1.Value--; 170 } 171 if (kohde == pelaaja2) 172 { 173 elamaLaskuri2.Value--; 174 } 175 } 176 177 void LuoPistelaskuri(IntMeter pisteLaskuri, double x) 178 { 179 Label pisteNaytto = new Label(); 180 pisteNaytto.X = x; 181 pisteNaytto.Y = Screen.Top - 100; 182 pisteNaytto.TextColor = Color.Black; 183 pisteNaytto.Color = Color.White; 184 185 pisteLaskuri.UpperLimit += delegate { Exit(); }; 186 pisteNaytto.BindTo(pisteLaskuri); 187 Add(pisteNaytto); 188 } 189 190 void LuoElamaLaskuri() 191 { 192 elamaLaskuri1 = new DoubleMeter(10); 193 elamaLaskuri1.MaxValue = 10; 194 elamaLaskuri1.LowerLimit += delegate { 195 196 ElamaLoppui(pelaaja1); 197 pisteLaskuri2.Value++; 198 ControllerOne.Vibrate(1.5, 1.5, 1.5, 1.5, 0.5); 199 }; 200 ProgressBar elamaPalkki = new ProgressBar(150, 20); 201 elamaPalkki.X = Screen.Left + 150; 202 elamaPalkki.Y = Screen.Top - 20; 203 elamaPalkki.BindTo(elamaLaskuri1); 204 Add(elamaPalkki); 205 206 elamaLaskuri2 = new DoubleMeter(10); 207 elamaLaskuri2.MaxValue = 10; 208 elamaLaskuri2.LowerLimit += delegate { 209 ElamaLoppui(pelaaja2); 210 pisteLaskuri1.Value++; 211 ControllerTwo.Vibrate(1.5, 1.5, 1.5, 1.5, 0.5); 212 }; 213 ProgressBar elamaPalkki2 = new ProgressBar(150, 20); 214 elamaPalkki2.X = Screen.Right - 150; 215 elamaPalkki2.Y = Screen.Top - 20; 216 elamaPalkki2.BindTo(elamaLaskuri2); 217 Add(elamaPalkki2); 218 } 219 220 void ElamaLoppui(PlatformCharacter pelaaja) 221 { 222 pelaaja.Destroy(); 223 224 Timer.SingleShot(2, AloitaPeli); 225 } 74 226 } -
2013/26/SakuK/kaksintastelut/kaksintastelut/kaksintastelutContent/kaksintastelutContent.contentproj
r4262 r4305 88 88 </Compile> 89 89 </ItemGroup> 90 <ItemGroup> 91 <Compile Include="PopedaPitkaKuumaKesa.mp3"> 92 <Name>PopedaPitkaKuumaKesa</Name> 93 <Importer>Mp3Importer</Importer> 94 <Processor>SongProcessor</Processor> 95 </Compile> 96 </ItemGroup> 90 97 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 91 98 <!-- 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.