Changeset 4485 for 2013/27/JoonasM/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter.cs
- Timestamp:
- 2013-07-05 12:30:03 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/27/JoonasM/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter.cs
r4437 r4485 13 13 const int RUUDUN_KOKO = 40; 14 14 15 double VanhaTaso = 0; 16 int CameraSpeed = 30; 15 double vanhaTaso = 0; 17 16 18 17 PlatformCharacter pelaaja1; 19 18 DoubleMeter etenemisVauhtiMittari; 20 19 Image pelaajanKuva = LoadImage("norsu"); 21 20 Image tahtiKuva = LoadImage("tahti"); … … 37 36 public override void Begin() 38 37 { 38 IsFullScreen = true; 39 39 Label tekstikentta = new Label("RnGPlatformShooter"); 40 40 tekstikentta.Font = Font.DefaultLarge; … … 53 53 { 54 54 ClearAll(); 55 etenemisVauhtiMittari = new DoubleMeter(30, 30, double.MaxValue); 56 etenemisVauhtiMittari.AddOverTime(190, 60); 57 etenemisVauhtiMittari.Changed += delegate 58 { 59 Camera.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 60 }; 55 61 Gravity = new Vector(0, -1500); 56 62 57 63 Camera.X = 200; 58 Camera.Velocity = new Vector( CameraSpeed, 0);64 Camera.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 59 65 Camera.ZoomFactor = 1.5; 60 66 … … 65 71 void LuoKentta() 66 72 { 67 PhysicsObject SolarS = PhysicsObject.CreateStaticObject(64, 64); 68 SolarS.X = 790; 69 SolarS.Y = 300; 70 SolarS.Image = Solar; 71 SolarS.IgnoresCollisionResponse = true; 72 SolarS.Velocity = new Vector(CameraSpeed, 0); 73 Add(SolarS); 74 VanhaTaso = 0; 73 Widget solarS = new Widget(82, 82); 74 solarS.X = 870; 75 solarS.Y = 450; 76 solarS.Image = Solar; 77 Add(solarS); 78 vanhaTaso = 0; 75 79 PhysicsObject StartingPlatform = PhysicsObject.CreateStaticObject(80, 20); 76 80 StartingPlatform.Y = 100; … … 91 95 pisteLaskuri.Value += 1; 92 96 93 if (Camera.Velocity.X < 190)94 {95 Camera.Velocity *= 1.05;96 SolarS.Velocity *= 1.05;97 }98 99 97 if (pelaaja1.Y < -400) 100 98 { … … 145 143 void LisaaTaso(bool ensimmainenKerta = false) 146 144 { 147 if (RandomGen.NextInt(1, 10) != 1) 148 { 149 PhysicsObject taso = PhysicsObject.CreateStaticObject(RandomGen.NextInt(62, 82), 20); 150 taso.X = RandomGen.NextInt(150, 280) + VanhaTaso; 151 taso.Y = RandomGen.NextInt(-200, 75); 152 taso.Color = RandomGen.NextColor(); 153 taso.Oscillate(Vector.UnitY, RandomGen.NextInt(85, 250), 0.5); 154 VanhaTaso = taso.X; 155 taso.MakeOneWay(); 156 Add(taso); 157 158 if (ensimmainenKerta == false) 159 { 160 if (RandomGen.NextInt(1, 6) == 1) 145 if (vanhaTaso < Camera.ScreenToWorld(new Vector(Screen.Right, 0)).X + 50) 146 { 147 if (RandomGen.NextInt(1, 10) > 2) 148 { 149 PhysicsObject taso = PhysicsObject.CreateStaticObject(RandomGen.NextInt(62, 82), 20); 150 taso.X = RandomGen.NextInt(150, 280) + vanhaTaso; 151 taso.Y = RandomGen.NextInt(-180, 75); 152 taso.Color = RandomGen.NextColor(); 153 taso.Oscillate(Vector.UnitY, RandomGen.NextInt(85, 250), 0.4); 154 vanhaTaso = taso.X; 155 taso.MakeOneWay(); 156 taso.CollisionIgnoreGroup = 1; 157 Add(taso); 158 159 if (ensimmainenKerta == false) 161 160 { 162 PhysicsObject vihu = PhysicsObject.CreateStaticObject(32, 32); 163 vihu.X = taso.X; 164 vihu.Y = RandomGen.NextInt(0, 10) + taso.Y; 165 vihu.Image = tahtiKuva; 166 vihu.Tag = "vihu"; 167 vihu.AngularVelocity = 10.0; 168 Add(vihu); 161 162 if (RandomGen.NextInt(1, 6) == 1) 163 { 164 PhysicsObject vihu = PhysicsObject.CreateStaticObject(32, 32); 165 vihu.X = taso.X; 166 vihu.Y = RandomGen.NextInt(0, 10) + taso.Y; 167 vihu.Image = tahtiKuva; 168 vihu.Tag = "vihu"; 169 vihu.AngularVelocity = 10.0; 170 Add(vihu); 171 } 172 if (RandomGen.NextInt(1, 20) == 1) 173 { 174 PhysicsObject Helichopter = PhysicsObject.CreateStaticObject(32, 32); 175 Helichopter.X = taso.X + RandomGen.NextInt(40, 100); 176 Helichopter.Y = 340; 177 Helichopter.Image = HeliChapter; 178 PlasmaCannon HeliChopterAse = new PlasmaCannon(30, 10); 179 HeliChopterAse.Angle += Angle.FromDegrees(RandomGen.NextInt(-125, -25)); 180 Timer Asetimer = new Timer(); 181 Asetimer.Interval = 1; 182 Asetimer.Timeout += delegate 183 { 184 PhysicsObject HeliAmmus = HeliChopterAse.Shoot(); 185 HeliAmmus.Tag = "vihu"; 186 HeliAmmus.LifetimeLeft = TimeSpan.FromSeconds(0.8); 187 AddCollisionHandler(HeliAmmus, CollisionHandler.DestroyObject); 188 }; 189 Asetimer.Start(); 190 Helichopter.Add(HeliChopterAse); 191 Helichopter.IgnoresCollisionResponse = true; 192 Helichopter.Tag = "HeliTag"; 193 Add(Helichopter); 194 195 Helichopter.Destroyed += Asetimer.Stop; 196 Helichopter.Destroyed += HeliChopterAse.Destroy; 197 } 198 if (RandomGen.NextInt(1, 10) == 1) 199 { 200 PhysicsObject LaavaPallo = new PhysicsObject(32, 32, Shape.Circle); 201 LaavaPallo.X = pelaaja1.X; 202 LaavaPallo.Y = Level.Bottom; 203 LaavaPallo.Image = FireLava; 204 LaavaPallo.Tag = "vihu"; 205 LaavaPallo.IgnoresCollisionResponse = true; 206 Add(LaavaPallo); 207 LaavaPallo.Hit(new Vector(RandomGen.NextInt(-100, 400), RandomGen.NextInt(800, 1600))); 208 } 209 210 if (RandomGen.NextInt(1, 15) == 1) 211 { 212 PhysicsObject Pigeon = PhysicsObject.CreateStaticObject(49, 35); 213 Pigeon.X = Camera.ScreenToWorld(new Vector(Screen.Left, 0)).X; 214 Pigeon.Y = pelaaja1.Y + 50; 215 Pigeon.LifetimeLeft = TimeSpan.FromSeconds(5); 216 Pigeon.Image = Lintu; 217 Pigeon.IgnoresCollisionResponse = true; 218 Pigeon.Tag = "vihu"; 219 Pigeon.Velocity = new Vector(500, 0); 220 Add(Pigeon); 221 } 169 222 } 170 if (RandomGen.NextInt(1, 20) == 1) 223 224 if (RandomGen.NextInt(1, 3) == 1) 171 225 { 172 PhysicsObject Helichopter = PhysicsObject.CreateStaticObject(32, 32); 173 Helichopter.X = taso.X + RandomGen.NextInt(40, 100); 174 Helichopter.Y = 340; 175 Helichopter.Image = HeliChapter; 176 PlasmaCannon HeliChopterAse = new PlasmaCannon(30, 10); 177 HeliChopterAse.Angle += Angle.FromDegrees(RandomGen.NextInt(-125, -25)); 178 Timer Asetimer = new Timer(); 179 Asetimer.Interval = 1; 180 Asetimer.Timeout += delegate 181 { 182 PhysicsObject HeliAmmus = HeliChopterAse.Shoot(); 183 HeliAmmus.Tag = "vihu"; 184 HeliAmmus.LifetimeLeft = TimeSpan.FromSeconds(0.8); 185 AddCollisionHandler(HeliAmmus, CollisionHandler.DestroyObject); 186 }; 187 Asetimer.Start(); 188 Helichopter.Add(HeliChopterAse); 189 Helichopter.IgnoresCollisionResponse = true; 190 Helichopter.Tag = "HeliTag"; 191 Add(Helichopter); 192 193 Helichopter.Destroyed += Asetimer.Stop; 194 Helichopter.Destroyed += HeliChopterAse.Destroy; 226 PhysicsObject wumpaf = PhysicsObject.CreateStaticObject(32, 32); 227 wumpaf.X = (taso.X + RandomGen.NextInt(50, 100)); 228 wumpaf.Y = taso.Y + RandomGen.NextInt(50, 200); 229 wumpaf.Image = WumpaFruit; 230 wumpaf.Tag = "wumpa"; 231 wumpaf.IgnoresCollisionResponse = true; 232 Add(wumpaf); 195 233 } 196 if (RandomGen.NextInt(1, 10) == 1) 234 235 if (RandomGen.NextInt(1, 25) == 1) 197 236 { 198 PhysicsObject LaavaPallo = new PhysicsObject(32, 32, Shape.Circle); 199 LaavaPallo.X = pelaaja1.X; 200 LaavaPallo.Y = Level.Bottom; 201 LaavaPallo.Image = FireLava; 202 LaavaPallo.Tag = "vihu"; 203 LaavaPallo.IgnoresCollisionResponse = true; 204 Add(LaavaPallo); 205 LaavaPallo.Hit(new Vector(RandomGen.NextInt(-100,400), RandomGen.NextInt(800,1600))); 237 PhysicsObject Health = PhysicsObject.CreateStaticObject(32, 32); 238 Health.X = (taso.X + RandomGen.NextInt(50, 100)); 239 Health.Y = taso.Y + RandomGen.NextInt(50, 200); 240 Health.IgnoresCollisionResponse = true; 241 Health.Image = Sydan; 242 Health.Tag = "Heal"; 243 Add(Health); 206 244 } 207 208 if (RandomGen.NextInt(1, 15) == 1) 209 { 210 PhysicsObject Pigeon = PhysicsObject.CreateStaticObject(49, 35); 211 Pigeon.X = Camera.ScreenToWorld(new Vector(Screen.Left, 0)).X; 212 Pigeon.Y = pelaaja1.Y + 50; 213 Pigeon.LifetimeLeft = TimeSpan.FromSeconds(5); 214 Pigeon.Image = Lintu; 215 Pigeon.IgnoresCollisionResponse = true; 216 Pigeon.Tag = "vihu"; 217 Pigeon.Velocity = new Vector(500, 0); 218 Add(Pigeon); 219 } 220 } 221 222 if (RandomGen.NextInt(1, 3) == 1) 223 { 224 PhysicsObject wumpaf = PhysicsObject.CreateStaticObject(32, 32); 225 wumpaf.X = (taso.X + RandomGen.NextInt(50, 100)); 226 wumpaf.Y = taso.Y + RandomGen.NextInt(50, 200); 227 wumpaf.Image = WumpaFruit; 228 wumpaf.Tag = "wumpa"; 229 wumpaf.IgnoresCollisionResponse = true; 230 Add(wumpaf); 231 } 232 233 if (RandomGen.NextInt(1, 25) == 1) 234 { 235 PhysicsObject Health = PhysicsObject.CreateStaticObject(32, 32); 236 Health.X = (taso.X + RandomGen.NextInt(50, 100)); 237 Health.Y = taso.Y + RandomGen.NextInt(50, 200); 238 Health.IgnoresCollisionResponse = true; 239 Health.Image = Sydan; 240 Health.Tag = "Heal"; 241 Add(Health); 242 } 243 245 } 246 247 else if (RandomGen.NextInt(1, 7) == 1) 248 { 249 Boost boost = new Boost(64, 42, this.etenemisVauhtiMittari); 250 boost.LifetimeLeft = TimeSpan.FromSeconds(15.0); 251 boost.X = RandomGen.NextInt(50, 100) + vanhaTaso; 252 boost.Y = RandomGen.NextInt(-200, 75); 253 boost.Color = Color.Green; 254 boost.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 255 boost.CollisionIgnoreGroup = 1; 256 vanhaTaso = boost.X; 257 Add(boost); 258 } 259 260 else 261 { 262 PhysicsObject TuhoutuvaTaso = PhysicsObject.CreateStaticObject(82, 20); 263 TuhoutuvaTaso.X = RandomGen.NextInt(150, 325) + vanhaTaso; 264 TuhoutuvaTaso.Y = RandomGen.NextInt(-200, 75); 265 TuhoutuvaTaso.Color = Color.Red; 266 TuhoutuvaTaso.Oscillate(Vector.UnitY, RandomGen.NextInt(50, 200), 0.5); 267 vanhaTaso = TuhoutuvaTaso.X; 268 TuhoutuvaTaso.Tag = "TTaso"; 269 TuhoutuvaTaso.CollisionIgnoreGroup = 1; 270 Add(TuhoutuvaTaso); 271 } 244 272 } 245 else 246 { 247 PhysicsObject TuhoutuvaTaso = PhysicsObject.CreateStaticObject(82, 20); 248 TuhoutuvaTaso.X = RandomGen.NextInt(150, 325) + VanhaTaso; 249 TuhoutuvaTaso.Y = RandomGen.NextInt(-200, 75); 250 TuhoutuvaTaso.Color = Color.Red; 251 TuhoutuvaTaso.Oscillate(Vector.UnitY, RandomGen.NextInt(50, 200), 0.5); 252 VanhaTaso = TuhoutuvaTaso.X; 253 TuhoutuvaTaso.Tag = "TTaso"; 254 Add(TuhoutuvaTaso); 255 } 273 256 274 } 257 275
Note: See TracChangeset
for help on using the changeset viewer.