- Timestamp:
- 2010-07-29 14:59:11 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/jojumuho/sYstEmErroR/Peli.cs
r1398 r1423 14 14 double hyppyVoima = 10000; 15 15 Image pelaajanKuva = LoadImage("hahmo 2"); 16 17 18 16 bool granaatti1valmis = true; 17 Timer granaatinValmistumisAjastin; 18 19 List<Weapon> aseet; 20 int valitunAseenNumero; 19 21 20 22 protected override void Begin() … … 24 26 LuoPalikka(); 25 27 26 27 28 Gravity = new Vector(0, -1200); 28 29 … … 33 34 Level.CreateBorders(1.0, false); 34 35 Level.BackgroundColor = Color.Black; 35 36 37 } 36 granaatinValmistumisAjastin = new Timer(); 37 granaatinValmistumisAjastin.Interval = 5; 38 granaatinValmistumisAjastin.Trigger += GranaattiValmistui; 39 } 40 41 38 42 void LuoKentta() 39 43 { … … 68 72 69 73 PlasmaCannon plasmaTykki = new PlasmaCannon(180, 100); 70 pelaaja1.Weapon = plasmaTykki;71 74 plasmaTykki.PlasmaParticleCollision = PlasmaPalloOsuu; 72 plasmaTykki.TimeBetweenUse = new TimeSpan(300); 73 74 75 plasmaTykki.TimeBetweenUse = new TimeSpan(3000000); 76 77 78 75 79 LaserGun laserPyssy = new LaserGun(190, 80); 76 pelaaja1.Weapon = laserPyssy;77 80 laserPyssy.LaserCollision = LaserSadeOsuu; 78 laserPyssy.TimeBetweenUse = new TimeSpan(100); 81 laserPyssy.TimeBetweenUse = new TimeSpan(1000000); 82 83 Cannon tykki = new Cannon(200, 90); 84 tykki.Power.Value += 1000; 85 tykki.CannonBallCollision = KuulaOsuu; 86 tykki.TimeBetweenUse = new TimeSpan(100000000); 87 88 89 90 AssaultRifle pyssy = new AssaultRifle(170, 85); 91 pyssy.BulletCollision = AmmusOsuu; 92 93 Grenade grenade = new Grenade(60.50); 94 95 96 97 aseet = new List<Weapon>(); 98 aseet.Add(pyssy); 99 aseet.Add(tykki); 100 aseet.Add(plasmaTykki); 101 aseet.Add(laserPyssy); 102 103 // Tässä asetetaan pelaajan alussa oleva ase. 104 pelaaja1.Weapon = pyssy; 105 valitunAseenNumero = 0; 79 106 80 107 pelaaja1.Restitution = 0.1; … … 90 117 pelaaja1.LeftWalkingAnimation = new Animation(pelaajaVasemmalle); 91 118 pelaaja1.RightWalkingAnimation = new Animation(pelaajaOikealle); 92 93 119 94 120 return pelaaja1; … … 106 132 Keyboard.Listen(Key.L, ButtonState.Pressed, tahtain, "tähtäys ylös", pelaaja1); 107 133 Keyboard.Listen(Key.K, ButtonState.Down, Ammu, "ampu tulee", pelaaja1); 108 Keyboard.Listen(Key.U, ButtonState.Pressed, vaihto, "aseen vaihto", pelaaja1);109 134 Keyboard.Listen(Key.O, ButtonState.Pressed, vaihto, "aseen vaihto", pelaaja1); 110 135 Keyboard.Listen(Key.U, ButtonState.Pressed, granaatti, "kranun heitto", pelaaja1); 111 136 } 112 137 … … 127 152 void vaihto(PlatformCharacter pelaaja) 128 153 { 129 130 } 131 154 Weapon vanhaAse = pelaaja.Weapon; 155 pelaaja.Remove(vanhaAse); 156 Remove(pelaaja); 157 158 valitunAseenNumero++; 159 if (valitunAseenNumero >= aseet.Count) 160 { 161 valitunAseenNumero = 0; 162 } 163 164 pelaaja.Weapon = aseet[valitunAseenNumero]; 165 //Add(pelaaja); 166 167 Timer pelaajaTakas = new Timer(); 168 pelaajaTakas.Interval = 0; 169 pelaajaTakas.Tag = pelaaja; 170 pelaajaTakas.Start(1); 171 pelaajaTakas.Trigger += PelaajaTakasinAseenVaihdonJalkeen; 172 } 173 174 void PelaajaTakasinAseenVaihdonJalkeen(Timer ajastin) 175 { 176 PlatformCharacter pelaaja = (PlatformCharacter)ajastin.Tag; 177 Add(pelaaja); 178 } 132 179 133 180 … … 140 187 ammus.Tag = pelaaja; 141 188 ammus.Size = new Vector(30, 30); 142 //ammus.MaximumLifetime = new TimeSpan(20000); 143 } 144 145 146 189 ammus.Velocity = new Vector(ammus.Velocity.X * 2, ammus.Velocity.Y * 2); 190 ammus.MaximumLifetime = new TimeSpan(10000000); 191 AddCollisionHandler(ammus, KuulaOsuu); 192 } 147 193 } 148 194 … … 150 196 { 151 197 if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 152 153 kohde.Destroy(); 198 { 199 kohde.Destroy(); 200 } 154 201 } 155 202 … … 157 204 { 158 205 if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 159 160 kohde.Destroy(); 161 } 162 206 { 207 kohde.Destroy(); 208 } 209 } 210 void KuulaOsuu(PhysicsObject ammus, PhysicsObject kohde) 211 { 212 if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 213 { 214 kohde.Destroy(); 215 } 216 } 217 218 void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 219 { 220 if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 221 { 222 kohde.Destroy(); 223 } 224 } 225 226 void granaatti(PhysicsObject pelaaja1) 227 { 228 if (granaatti1valmis) 229 { 230 Grenade kranaatti = new Grenade(4.0); 231 kranaatti.X = pelaaja1.X + 10; 232 kranaatti.Y = pelaaja1.Y + 10; 233 Add(kranaatti); 234 Vector heittoVoima = Vector.FromLengthAndAngle(30000, Angle.Degrees(35)); 235 kranaatti.Hit(heittoVoima); 236 kranaatti.Size = new Vector(50, 50); 237 kranaatti.ExplosionRadius = 300; 238 granaatti1valmis = false; 239 granaatinValmistumisAjastin.Start(); 240 } 241 242 } 243 244 void GranaattiValmistui(Timer t) 245 { 246 granaatti1valmis = true; 247 granaatinValmistumisAjastin.Stop(); 248 granaatinValmistumisAjastin.Reset(); 249 } 163 250 }
Note: See TracChangeset
for help on using the changeset viewer.