Changeset 2596
- Timestamp:
- 2011-08-05 12:23:18 (11 years ago)
- Location:
- 2011/31/PeetuL
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/PeetuL/Palikoiden sota/Palikoiden sota/Palikoiden sota/Peli.cs
r2552 r2596 9 9 public class Peli : PhysicsGame 10 10 { 11 11 List<Label> valikonKohdat; 12 12 RandomMoverBrain SatunnaisAivot = new RandomMoverBrain(); 13 13 Behqulo Behqulo; 14 14 int pahisten_lkm = 0; 15 15 16 IntMeter pistelaskuri = new IntMeter(0); 17 18 ScoreList topLista = new ScoreList(10, false, 0); 16 19 17 20 public override void Begin() 18 21 { 19 MediaPlayer.Play("vs sephiroth"); 22 if (DataStorage.Exists("pisteet.xml")) 23 topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 24 25 MediaPlayer.Play("vs sephiroth2"); 26 Valikko(); 27 Level.CreateGround(55, 45, 7, 5); 28 } 29 30 31 void AloitaPeli() 32 { 33 ClearAll(); 20 34 LuoAleksikuutio(); 21 35 LuoBehqulo(); 22 36 23 // TODO: Kirjoita ohjelmakoodisi tähän24 25 26 27 37 28 38 Camera.Follow(Behqulo); 29 39 Gravity = new Vector(0.0, 0.0); 30 Level.BackgroundColor = Color.Black;40 31 41 Level.CreateBorders(); 32 33 34 35 42 int i = 0; 36 43 while (i < 30) … … 39 46 // i++; 40 47 i = i + 1; 41 42 } 43 48 } 44 49 int u = 0; 45 50 … … 59 64 */ 60 65 61 Level.CreateGround(55, 45, 7, 5); 66 Label pisteNaytto = new Label(); 67 pisteNaytto.Right = Screen.Right - 100; 68 pisteNaytto.Bottom = Screen.Bottom + 50; 69 pisteNaytto.TextColor = Color.White; 70 pisteNaytto.BindTo(pistelaskuri); 71 Add(pisteNaytto); 72 62 73 } 63 74 … … 70 81 } 71 82 } 72 83 void ValikossaLiikkuminen(AnalogState hiirenTila) 84 { 85 foreach (Label kohta in valikonKohdat) 86 { 87 if (Mouse.IsCursorOn(kohta)) 88 { 89 kohta.TextColor = Color.Red; 90 91 } 92 else 93 { 94 kohta.TextColor = Color.Black; 95 } 96 97 } 98 } 99 void Valikko() 100 { 101 ClearAll(); 102 valikonKohdat = new List<Label>(); 103 Level.BackgroundColor = Color.Black; 104 Label kohta1 = new Label("Aloita uusi peli"); 105 kohta1.Position = new Vector(0, 40); 106 valikonKohdat.Add(kohta1); 107 108 Label kohta2 = new Label("Lopeta"); 109 kohta2.Position = new Vector(0, -40); 110 valikonKohdat.Add(kohta2); 111 112 foreach (Label valikonKohta in valikonKohdat) 113 { 114 Add(valikonKohta); 115 116 } 117 118 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 119 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 120 Mouse.IsCursorVisible = true; 121 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 122 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 123 124 } 73 125 void LuoPahis() 74 126 { … … 79 131 // if (pahis.IsDestroyed); 80 132 pahis.Weapon = new AssaultRifle(20, 5); 81 pahis.Weapon.ProjectileCollision = AmmusOsuu2;133 pahis.Weapon.ProjectileCollision = AmmusOsuu2; 82 134 Vector suunta = (Behqulo.Position - pahis.Position).Normalize(); 83 135 pahis.Angle = suunta.Angle; … … 104 156 Pahis k = (Pahis)kohde; 105 157 k.Hp--; 106 if (k.Hp < 1) kohde.Destroy(); 158 pistelaskuri.Value += 10; 159 if (k.Hp < 1) { kohde.Destroy(); pistelaskuri.Value += 100; } 107 160 } 108 161 else if (kohde is Aleksikuutio) … … 110 163 Aleksikuutio k = (Aleksikuutio)kohde; 111 164 k.Hp--; 112 if (k.Hp < 1) kohde.Destroy(); 165 pistelaskuri.Value += 200; 166 167 if (k.Hp < 1) { kohde.Destroy(); pistelaskuri.Value += 1000; } 113 168 } 114 169 else if (kohde is Laserpahis) … … 116 171 Laserpahis k = (Laserpahis)kohde; 117 172 k.Hp--; 118 if (k.Hp < 1) kohde.Destroy(); 173 pistelaskuri.Value += 15; 174 if (k.Hp < 1) 175 { 176 kohde.Destroy(); pistelaskuri.Value += 150; 177 } 119 178 } 120 179 … … 128 187 Behqulo k = (Behqulo)kohde2; 129 188 k.Hp--; 130 if (k.Hp < 1) kohde2.Destroy(); 131 } 132 } 133 134 189 if (k.Hp < 1) { 190 k.Destroy(); 191 ClearAll(); 192 TopTen(); 193 } 194 } 195 } 196 197 198 void TopTen() 199 { 200 HighScoreWindow topIkkuna = new HighScoreWindow( 201 "Parhaat pisteet", 202 "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 203 topLista, pistelaskuri.Value); 204 topIkkuna.Closed += TallennaPisteet; 205 Add(topIkkuna); 206 207 } 208 209 void TallennaPisteet(Window sender) 210 { 211 DataStorage.Save<ScoreList>(topLista, "pisteet.xml"); 212 ClearAll(); pistelaskuri.Reset(); 213 Begin(); 214 } 135 215 136 216 … … 178 258 Laserpahis.Weapon = new LaserGun(5, 5); 179 259 Laserpahis.Weapon.ProjectileCollision = AmmusOsuu2; 180 Laserpahis.Brain = new RandomMoverBrain(1000.0);260 Laserpahis.Brain = new RandomMoverBrain(1000.0); 181 261 Vector suunta = (Behqulo.Position - Laserpahis.Position).Normalize(); 182 262 … … 238 318 239 319 320 240 321 } 241 322 … … 257 338 public class Aleksikuutio : PlatformCharacter 258 339 { 259 public int Hp = 100000;340 public int Hp = 400; 260 341 261 342 public Aleksikuutio(double width, double height) … … 280 361 public class Behqulo : PlatformCharacter 281 362 { 282 public int Hp = 10;363 public int Hp = 50; 283 364 284 365 public Behqulo(double width, double height) -
2011/31/PeetuL/Palikoiden sota/Palikoiden sota/Palikoiden sotaContent/Palikoiden sotaContent.contentproj
r2552 r2596 51 51 </Compile> 52 52 </ItemGroup> 53 <ItemGroup> 54 <Compile Include="vs sephiroth2.mp3"> 55 <Name>vs sephiroth2</Name> 56 <Importer>Mp3Importer</Importer> 57 <Processor>SongProcessor</Processor> 58 </Compile> 59 </ItemGroup> 53 60 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 54 61 <!-- 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.