Changeset 3772
- Timestamp:
- 2012-07-26 15:00:14 (11 years ago)
- Location:
- 2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessa.cs
r3755 r3772 11 11 int kenttaNro = 1; 12 12 PhysicsObject Alus; 13 IntMeter pistelaskuri; 14 IntMeter elamaLaskuri; 15 16 EasyHighScore topLista = new EasyHighScore(); 13 17 14 18 public override void Begin() 15 19 { 20 pistelaskuri = null; 21 elamaLaskuri = null; 16 22 SeuraavaKentta(); 17 23 } 18 24 void SeuraavaKentta() 19 25 { 26 int pisteet = 0; 27 int elamat = 3; 28 29 if (pistelaskuri != null) 30 { 31 pisteet = pistelaskuri.Value; 32 elamat = elamaLaskuri.Value; 33 } 34 20 35 ClearAll(); 21 22 36 LuoAlus(); 23 37 AsetaOhjaimet(); 24 38 LuoTausta(); 39 Luopistlaskuri(); 40 LuoElamalaskuri(); 41 LuoPistepallo(); 42 43 pistelaskuri.Value = pisteet; 44 elamaLaskuri.Value = elamat; 25 45 26 46 if (kenttaNro == 1) SijoitaOliot1(); 27 47 else if (kenttaNro == 2) SijoitaOliot2(); 48 else if (kenttaNro == 3) SijoitaOliot3(); 49 else if (kenttaNro == 4) SijoitaOliot4(); 50 else if (kenttaNro == 5) ViimeinenKentta(); 51 else if (kenttaNro == 6) luotoplista(); 28 52 else Exit(); 29 53 30 LuoPistelaskuri();31 54 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 32 55 } … … 44 67 45 68 AddCollisionHandler(Alus, "UFO", Kuole); 46 } 47 PhysicsObject LuoMaali() 48 { 49 PhysicsObject Maali = new PhysicsObject(169, 94); 69 AddCollisionHandler(Alus, "pistepallo", KeraaPistepallo); 70 } 71 PhysicsObject LuoMaali(double x, double y) 72 { 73 PhysicsObject Maali = PhysicsObject.CreateStaticObject(169, 94); 50 74 Maali.Image = LoadImage("MAALI"); 51 75 Add(Maali); 52 AddCollisionHandler( Alus, Maali, VaihdaKenttaa ); 76 AddCollisionHandler(Alus, Maali, VaihdaKenttaa); 77 Maali.X = x; 78 Maali.Y = y; 53 79 return Maali; 54 80 } … … 58 84 Keyboard.Listen(Key.Left, ButtonState.Down, KaannaAlusta, null, Angle.FromDegrees(1)); 59 85 Keyboard.Listen(Key.Right, ButtonState.Down, KaannaAlusta, null, Angle.FromDegrees(-1)); 60 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaAlusta, null, 1000.0);61 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaAlusta, null, - 1000.0);86 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaAlusta, null, 2000.0); 87 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaAlusta, null, -2000.0); 62 88 63 89 } … … 75 101 Level.Background.FitToLevel(); 76 102 } 103 PhysicsObject LuoMaa(double x, double y) 104 { 105 PhysicsObject Maa = PhysicsObject.CreateStaticObject(207, 201); 106 Maa.Image = LoadImage("maa"); 107 AddCollisionHandler(Alus, Maa, VaihdaKenttaa); 108 Maa.X = x; 109 Maa.Y = y; 110 Add(Maa); 111 return Maa; 112 } 113 77 114 void LuoPlaneetta1(double x, double y) 78 115 { … … 91 128 void SijoitaOliot1() 92 129 { 93 LuoUfo(-200, -300, new Vector( -150.0, -150.0));130 LuoUfo(-200, -300, new Vector(150.0, -150.0)); 94 131 LuoUfo(200, -300, new Vector(150.0, 150.0)); 95 132 LuoPlaneetta1(-200, 50); … … 98 135 LuoPlaneetta1(200, 50); 99 136 LuoPlaneetta1(90, -200); 100 101 PhysicsObject maali = LuoMaali(); 102 maali.X = 200; 103 maali.Y = 200; 137 PhysicsObject maali = LuoMaali(200, -200); 138 139 140 104 141 } 105 142 void SijoitaOliot2() 106 143 { 144 LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 145 LuoUfo(200, 300, new Vector(150.0, 150.0)); 146 LuoUfo(200, -300, new Vector(150.0, 150.0)); 147 LuoPlaneetta1(200, 50); 148 LuoPlaneetta1(-300, 150); 149 LuoPlaneetta1(-40, -120); 150 LuoPlaneetta1(-200, -80); 151 LuoPlaneetta1(-90, 200); 152 153 PhysicsObject maali = LuoMaali(200, 200); 154 155 } 156 void SijoitaOliot3() 157 { 158 LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 159 LuoUfo(200, 300, new Vector(150.0, 150.0)); 160 LuoUfo(200, -300, new Vector(150.0, 150.0)); 161 LuoUfo(0, 0, new Vector(150.0, 150.0)); 162 LuoPlaneetta1(200, 50); 163 LuoPlaneetta1(-300, 150); 164 LuoPlaneetta1(-40, -120); 165 LuoPlaneetta1(-200, -80); 166 LuoPlaneetta1(-90, 200); 167 168 PhysicsObject maali = LuoMaali(300, -100); 169 170 171 } 172 void SijoitaOliot4() 173 { 174 LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 175 LuoUfo(200, 300, new Vector(150.0, 150.0)); 176 LuoUfo(200, -300, new Vector(150.0, 150.0)); 177 LuoUfo(0, 0, new Vector(150.0, 150.0)); 178 LuoPlaneetta1(400, -200); 179 LuoPlaneetta1(-300, 50); 180 LuoPlaneetta1(-40, 120); 181 LuoPlaneetta1(-200, -200); 182 LuoPlaneetta1(-175, 220); 183 184 PhysicsObject maali = LuoMaali(200, 200); 185 186 } 187 188 void ViimeinenKentta() 189 { 190 LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 191 LuoUfo(200, 300, new Vector(150.0, 150.0)); 192 LuoUfo(200, -300, new Vector(150.0, 150.0)); 193 LuoUfo(0, 0, new Vector(150.0, 150.0)); 194 LuoUfo(-200, 400, new Vector(-150.0, -150.0)); 195 LuoUfo(400, 400, new Vector(150.0, 150.0)); 107 196 LuoUfo(-200, -300, new Vector(-150.0, -150.0)); 108 197 LuoUfo(200, -300, new Vector(150.0, 150.0)); 109 Luo Planeetta1(-200, 50);110 LuoPlaneetta1(-300, 200); 111 LuoPlaneetta1( -40, 120);112 LuoPlaneetta1( 200, 50);113 LuoPlaneetta1(90, -200); 114 115 PhysicsObject maali = LuoMaali(); 116 maali.X = 200;117 maali.Y = 200; 118 } 198 LuoUfo(400, -300, new Vector(150.0, 150.0)); 199 200 LuoPlaneetta1(80, -400); 201 LuoPlaneetta1(-400, 100); 202 203 PhysicsObject Maa = LuoMaa(200, 200); 204 205 } 206 207 119 208 void LuoUfo(double x, double y, Vector suunta) 120 209 { … … 132 221 133 222 } 134 IntMeter pisteLaskuri; 135 136 void LuoPistelaskuri() 137 { 138 pisteLaskuri = new IntMeter(3); 139 pisteLaskuri.LowerLimit += new Action(pisteLaskuri_LowerLimit); 223 224 void LuoElamalaskuri() 225 { 226 elamaLaskuri = new IntMeter(3); 227 elamaLaskuri.LowerLimit += new Action(pisteLaskuri_LowerLimit); 140 228 141 229 Label pisteNaytto = new Label(); … … 144 232 pisteNaytto.TextColor = Color.Blue; 145 233 pisteNaytto.Color = Color.Red; 146 pisteNaytto.BindTo( pisteLaskuri);234 pisteNaytto.BindTo(elamaLaskuri); 147 235 Add(pisteNaytto); 148 236 … … 152 240 void pisteLaskuri_LowerLimit() 153 241 { 242 Alus.Destroy(); 154 243 Widget kuva = new Widget(LoadImage("game over")); 155 244 kuva.Width = Screen.Width; 156 245 kuva.Height = Screen.Height; 157 246 Add(kuva); 158 Timer.SingleShot(5.0, Begin); 247 luotoplista(); 248 } 249 void luotoplista() 250 { 251 topLista.EnterAndShow(pistelaskuri.Value); 252 topLista.HighScoreWindow.Closed += delegate { Begin(); }; 253 topLista.HighScoreWindow.Color = Color.Snow; 254 159 255 } 160 256 void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) … … 165 261 void Kuole(PhysicsObject tormaaja, PhysicsObject kohde) 166 262 { 167 pisteLaskuri.Value -= 1; 168 } 169 263 elamaLaskuri.Value -= 1; 264 } 265 void VaihdaKenttaa(PhysicsObject olio, PhysicsObject maali) 266 { 267 kenttaNro++; 268 SeuraavaKentta(); 269 } 270 271 void Luopistlaskuri() 272 { 273 pistelaskuri = new IntMeter(0); 274 275 Label pisteNaytto = new Label(); 276 pisteNaytto.X = Screen.Left + 100; 277 pisteNaytto.Y = Screen.Top - 100; 278 pisteNaytto.TextColor = Color.Red; 279 pisteNaytto.Color = Color.Blue; 280 281 pisteNaytto.Title = "Pisteet"; 282 283 pisteNaytto.BindTo(pistelaskuri); 284 Add(pisteNaytto); 285 } 286 void LuoPistepallo() 287 { 288 int i = 0; 289 290 while (i < 50) 291 { 292 PhysicsObject pistepallo = new PhysicsObject (20, 19); 293 pistepallo.Image = LoadImage("pistepallo"); 294 pistepallo.Tag = "pistepallo"; 295 pistepallo.X = RandomGen.NextDouble(Level.Left, Level.Right); 296 pistepallo.Y = RandomGen.NextDouble(Level.Bottom, Level.Top); 297 pistepallo.Restitution = 1.0; 298 Add(pistepallo); 299 i++; 300 } 301 } 302 void KeraaPistepallo(PhysicsObject Alus, PhysicsObject pistepallo) 303 { 304 MessageDisplay.Add("Pelaaja törmäsi!"); 305 pistelaskuri.Value += 10; 306 pistepallo.Destroy(); 307 } 308 void PelaajaKuoli() 309 { 310 Alus.Destroy(); 311 topLista.EnterAndShow(pistelaskuri.Value); 312 topLista.HighScoreWindow.Closed += delegate { Begin(); }; 313 } 170 314 171 315 } 172 316 317 318 319 -
2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessaContent/EksyksissäAvaruudessaContent.contentproj
r3755 r3772 86 86 </Compile> 87 87 </ItemGroup> 88 <ItemGroup> 89 <Compile Include="maa.png"> 90 <Name>maa</Name> 91 <Importer>TextureImporter</Importer> 92 <Processor>TextureProcessor</Processor> 93 </Compile> 94 </ItemGroup> 95 <ItemGroup> 96 <Compile Include="pistepallo.png"> 97 <Name>pistepallo</Name> 98 <Importer>TextureImporter</Importer> 99 <Processor>TextureProcessor</Processor> 100 </Compile> 101 </ItemGroup> 88 102 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 89 103 <!-- 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.