- Timestamp:
- 2012-06-28 15:01:20 (9 years ago)
- Location:
- 2012/26/OlliL
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/OlliL/SpaceImpact2/SpaceImpact2/SpaceImpact2/SpaceImpact2.cs
r3304 r3325 9 9 public class SpaceImpact2 : PhysicsGame 10 10 { 11 ScoreList topLista = new ScoreList(10, false, 0); 12 // muut att 13 14 15 16 17 18 19 11 20 12 21 Vector nopeusYlos = new Vector(0, 300); 13 22 Vector nopeusAlas = new Vector(0, -300); 14 15 PhysicsObject alus; 23 Vector nopeusVasemmalle = new Vector(-300, 0); 24 Vector nopeusOikealle = new Vector(300, 0); 25 26 Alus alus; 16 27 // PhysicsObject vihu; 17 28 PhysicsObject laser; … … 21 32 public override void Begin() 22 33 { 34 if (DataStorage.Exists("pisteet.xml")) 35 topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 23 36 SetWindowSize(800, 480, false); 24 25 Luokentta(); 26 AloitaPeli(); 27 AsetaOhjaimet(); 28 29 // Level.Size = new Vector(800, 480); 30 31 Level.Background.CreateStars(10000); 32 LuoPistelaskuri(); 33 34 } 37 Valikko(); 38 39 40 41 } 42 43 void Valikko() 44 { 45 ClearAll(); 46 MultiSelectWindow alkuValikko = new MultiSelectWindow("SPACE IMAPCT DEFENCE", 47 "START GAME", "HIGHSCORE", "QUIT"); 48 alkuValikko.DefaultCancel = 3; 49 alkuValikko.Color = Color.Green; 50 Add(alkuValikko); 51 alkuValikko.ItemSelected += PainettiinValikonNappia; 52 } 53 35 54 void Luokentta() 36 55 { … … 44 63 void AloitaPeli() 45 64 { 65 Luokentta(); 66 AsetaOhjaimet(); 67 Level.Background.CreateStars(10000); 68 LuoPistelaskuri(); 69 46 70 Timer ajastin2 = new Timer(); 47 ajastin2.Interval = 1.5;71 ajastin2.Interval = 0.4; 48 72 ajastin2.Timeout += Luolaser; 49 73 ajastin2.Start(); … … 60 84 } 61 85 62 PhysicsObject Luoalus(double x, double y) 63 { 64 alus = PhysicsObject.CreateStaticObject(112, 56); 86 Alus Luoalus(double x, double y) 87 { 88 //alus = PhysicsObject.CreateStaticObject(112, 56); 89 alus = new Alus(112, 56); 90 alus.elamaLaskuri.Value--; 91 alus.MakeStatic(); 65 92 alus.Shape = Shape.Diamond; 66 93 alus.Color = Color.Magenta; 67 94 alus.CollisionIgnoreGroup = 1; 95 AddCollisionHandler(alus, CollisionHandler.DestroyObject); 96 alus.Destroyed += TopTen; 97 Explosion rajahdys = new Explosion(5000); 98 rajahdys.Position = alus.Position; 99 rajahdys.Speed = 5000.0; 100 rajahdys.Force = 0; 101 rajahdys.ShockwaveColor = Color.Orange; 102 Add(rajahdys); 68 103 alus.X = x; 69 104 alus.Y = y; 70 105 Add(alus); 71 106 return alus; 107 } 108 109 void TopTen() 110 { 111 HighScoreWindow topIkkuna = new HighScoreWindow( 112 "Parhaat pisteet", 113 "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 114 topLista, pisteLaskuri.Value); 115 topIkkuna.Closed += TallennaPisteet; 116 Add(topIkkuna); 117 118 119 } 120 void ParhaatPisteet() 121 { 122 HighScoreWindow topIkkuna = new HighScoreWindow( 123 "Parhaat pisteet", 124 topLista); 125 topIkkuna.Closed += TallennaPisteet; 126 Add(topIkkuna); 127 } 128 129 void TallennaPisteet(Window sender) 130 { 131 DataStorage.Save<ScoreList>(topLista, "pisteet.xml"); 132 Valikko(); 72 133 } 73 134 … … 80 141 vihu.X = x; 81 142 vihu.Y = y; 143 vihu.Destroyed += delegate { pisteLaskuri.Value++; }; 82 144 vihu.CanRotate = false; 83 145 vihu.Hit(new Vector(-100, 0)); 84 146 Add(vihu); 85 147 vihut.Add(vihu); 86 AddCollisionHandler(vihu, CollisionHandler.Destroy Object);148 AddCollisionHandler(vihu, CollisionHandler.DestroyBoth); 87 149 AddCollisionHandler(vihu, delegate(PhysicsObject v, PhysicsObject kohde) { vihut.Remove(v); }); 150 FollowerBrain seuraajanAivot = new FollowerBrain(alus); 151 seuraajanAivot.Speed = 300; // Millä nopeudella kohdetta seurataan 152 seuraajanAivot.DistanceFar = 600; // Etäisyys jolla aletaan seurata kohdetta 153 seuraajanAivot.DistanceClose = 200; // Etäisyys jolloin ollaan lähellä kohdetta 154 seuraajanAivot.StopWhenTargetClose = true; // Pysähdytään kun ollaan lähellä kohdetta 88 155 return vihu; 89 156 } … … 98 165 AddCollisionHandler(laser, "vihu", delegate(PhysicsObject ammus, PhysicsObject vihu) 99 166 { 100 Explosion rajahdys = new Explosion( 100);167 Explosion rajahdys = new Explosion(400); 101 168 rajahdys.Position = vihu.Position; 102 169 rajahdys.Speed = 500.0; … … 126 193 Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta alusta alas", alus, nopeusAlas); 127 194 Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, alus, Vector.Zero); 195 196 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta alusta vasemmalle", alus, nopeusVasemmalle); 197 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, alus, Vector.Zero); 198 Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta alusta oikealle", alus, nopeusOikealle); 199 Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, alus, Vector.Zero); 200 128 201 129 202 } … … 143 216 144 217 alus.Velocity = nopeus; 218 145 219 } 146 220 … … 154 228 while (vihulistalaskuri < vihut.Count) 155 229 { 156 if (Math.Abs(vihut[vihulistalaskuri].X - x) > 1 12)230 if (Math.Abs(vihut[vihulistalaskuri].X - x) > 1) 157 231 { 158 232 vihulistalaskuri++; … … 196 270 197 271 } 272 void PainettiinValikonNappia(int valinta) 273 { 274 switch (valinta) 275 { 276 case 0: 277 AloitaPeli(); 278 break; 279 case 1: 280 ParhaatPisteet(); 281 break; 282 case 2: 283 Exit(); 284 break; 285 } 286 287 288 } 289 class Alus : PhysicsObject 290 { 291 public IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 292 293 public Alus(double leveys, double korkeus) 294 : base(leveys, korkeus) 295 { 296 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 297 } 298 } 299 300 301 302 303 198 304 199 305 public IntMeter pisteLaskuri { get; set; } 306 307 public double pisteet { get; set; } 200 308 } 201 309 310 311 312 313 -
2012/26/OlliL/SpaceImpact2/SpaceImpact2/SpaceImpact2/SpaceImpact2.csproj
r3226 r3325 111 111 </ItemGroup> 112 112 <ItemGroup> 113 <Compile Include="alkuValikko.cs" /> 113 114 <Compile Include="Ohjelma.cs" /> 114 115 <Compile Include="SpaceImpact2.cs" /> -
2012/26/OlliL/SpaceImpact2/SpaceImpact2/SpaceImpact2/Windows Phone Copy of SpaceImpact2.csproj
r3226 r3325 73 73 </ItemGroup> 74 74 <ItemGroup> 75 <Compile Include="alkuValikko.cs" /> 75 76 <Compile Include="Ohjelma.cs" /> 76 77 <Compile Include="SpaceImpact2.cs" />
Note: See TracChangeset
for help on using the changeset viewer.