public void reventarBurbuja(Burbuja burbuja) { burbujas.Remove(burbuja); foreach (Burbuja b in burbujas) if (b.colisionaCon(burbuja)) b.pinchar(); }
public void Dibujar(Burbuja burbuja) { Point posicion = APosicionVisual(new Point(burbuja.getPosicion().X, burbuja.getPosicion().Y + burbuja.getAlto())); if (burbuja.Estado == EstadoBurbuja.Estable) { if (burbuja is BurbujaConEnemigo) { IEnemigo enemigo = ((BurbujaConEnemigo)burbuja).Enemigo; if (enemigo is PersonajeTerrestre) { PersonajeTerrestre r = (PersonajeTerrestre)enemigo; r.setPosicion(burbuja.getPosicion()); Dibujar(r); } } bv.Position = posicion; screen.Blit(bv); } else { if (burbuja.Estado == EstadoBurbuja.Rev1) { bvr1.Position = posicion; screen.Blit(bvr1); ParticleCircleEmitter explosion = new ParticleCircleEmitter(particles, Color.Green, Color.YellowGreen, 1, 2); explosion.X = posicion.X+burbuja.getAncho()/2; // donde explotará explosion.Y = posicion.Y+burbuja.getAlto()/2; explosion.Life = 5; explosion.Frequency = 10000; explosion.LifeMin = 3; explosion.LifeMax = 7; explosion.LifeFullMin = 5; explosion.LifeFullMax = 5; explosion.SpeedMin = 8; explosion.SpeedMax = 20; } else { bvr2.Position = posicion; screen.Blit(bvr2); } } }
public void pasarABurbujaRegular(BurbujaDisparada burbujaDisparada) { objetosDisparados.Remove(burbujaDisparada); Burbuja burbuja = new Burbuja(burbujaDisparada.getPosicion(), this); burbujas.Add(burbuja); }