public void calularMetricas(int posicionInicial) { Random random = new Random(); int posicionFinal = GraphicsDeviceManager.DefaultBackBufferWidth / 2; // CONOCER DESDE QUE PUNTO DEBE COMENZAR A CALCULAR EL V1 if (randomX1 <= 0) { if (posicionInicial < posicionFinal) { randomX1 = random.Next(posicionInicial, GraphicsDeviceManager.DefaultBackBufferWidth - 236); } else { randomX1 = random.Next(0, posicionInicial); } // VERTICES ALEATORIOS DE LA ELIPSE randomX2 = random.Next(randomX1, GraphicsDeviceManager.DefaultBackBufferWidth - 236); } else { int numero = random.Next(0, GraphicsDeviceManager.DefaultBackBufferWidth - 236); switch (vertice) { case 1: if (numero < randomX1) { randomX2 = randomX1; randomX1 = numero; } else { randomX2 = numero; } break; case 2: if (numero > randomX2) { randomX1 = randomX2; randomX2 = numero; } else { randomX1 = numero; } break; } // VERTICES ALEATORIOS DE LA ELIPSE } // FOCOS ALEATORIOS DE LA ELIPSE randomF1 = random.Next(randomX1, randomX2); randomF2 = random.Next(randomF1, randomX2); vertice1 = new Punto(randomX1, GraphicsDeviceManager.DefaultBackBufferHeight - 300); vertice2 = new Punto(randomX2, GraphicsDeviceManager.DefaultBackBufferHeight - 300); foco1 = new Punto(randomF1, GraphicsDeviceManager.DefaultBackBufferHeight - 300); foco2 = new Punto(randomF2, GraphicsDeviceManager.DefaultBackBufferHeight - 300); elipse = new Elipse(); elipse.setF1(foco1); elipse.setF2(foco2); elipse.setV1(vertice1); elipse.setV2(vertice2); elipse.calCentro(vertice1, vertice2); elipse.calcCA(); elipse.calcB(); }
public void Update(GameTime gameTime, Death death) { switch (vertice) { // LA MUERTE SE MUEVE AL VERTICE 2 case 1: if (posicion.X < vertice2.GetX() - 1 && posicion.X > vertice1.GetX() - 1) { puntoPosicion = elipse.movePunto(posicion.X + 1); } else { vertice = 2; calularMetricas((int)posicion.X); } break; // LA MUERTE SE MUEVE AL VERTICE 1 case 2: if (posicion.X < vertice2.GetX() && posicion.X > vertice1.GetX()) { puntoPosicion = elipse.movePunto(posicion.X - 1); } else { vertice = 1; calularMetricas((int)posicion.X); } break; default: break; } /* if ((posicion.X < vertice2.GetX() && posicion.X >= vertice1.GetX()) && movimientoCompleto==false) * puntoPosicion = elipse.movePunto(posicion.X + 1); * * else * { * movimientoCompleto = true; * if (posicion.X >= vertice2.GetX()-1) * { * puntoPosicion = elipse.movePunto(posicion.X - 1); * } * else if (posicion.X <= vertice1.GetX() + 1) * puntoPosicion = elipse.movePunto(posicion.X + 1); * else * { * movimientoCompleto = false; * calularMetricas((int)posicion.X); * } * } */ //animacionPlayer.PlayAnimation(caminar); posicion.X = puntoPosicion.GetX(); posicion.Y = puntoPosicion.GetY(); // DISTANCIA ENTRE ENEMIGO(RITCHER) Y LOBITO playerDistanceX = death.posicion.X - posicion.X; playerDistanceY = death.posicion.Y - posicion.Y; #region "Movimientos Aleatorios" timeCountRandom += 0.25F; if (die == false) { if (timeCountRandom >= 50) { aleat = r.NextDouble(); if (aleat < 0.50) { LanzarOz = true; } else if (aleat > 0.50) { LanzarOz = true; } timeCountRandom = 0; } } #endregion // siguiendo = false; piso = false; caminando = false; levitando = false; standRect = new Rectangle((int)posicion.X, (int)posicion.Y, standRect.Width, standRect.Height); hitRect = new Rectangle((int)posicion.X, (int)posicion.Y, hitRect.Width, hitRect.Height); // POSICIONES DE LOS RECTANGULOS DE COLISION getHitted.X = posicion.X - 10; getHitted.Y = posicion.Y - 85; getStand.X = posicion.X - 23; getStand.Y = posicion.Y - 18; acciones(gameTime, death); }
public void setCentro(Punto centro) { this.centro = centro; }
public void setF2(Punto f2) { this.f2 = f2; }
public void setF1(Punto f1) { this.f1 = f1; }
public void setV2(Punto v2) { this.v2 = v2; }
public void setV1(Punto v1) { this.v1 = v1; }