private void ValidarSeMadeiraBateNaBola() { bool emcontato = false; for (int i = 0; i < _madeiras.Count; i++) { if (BolaEmContatoComMadeira(_madeiras[i])) { //BitmapImage bmp = new BitmapImage(new Uri("/FallingBall;component/Images/madeira_red.png", UriKind.Relative)); //Image image = new Image(); //_madeiras[i].RefImage.Source = bmp; emcontato = true; _madeiraEmContato = _madeiras[i]; } } if (emcontato) { this._estadoBola = EstadoBola.NaMadeira; if (this._madeiraEmContato.EhDoMal) { _estadoJogo = EstadoJogo.Fim; this.ball.FimAnimacaoEndGameBola += new Action(ball_FimAnimacaoEndGameBola); this.ball.Destroy(); } } else { this._estadoBola = EstadoBola.Descendo; _madeiraEmContato = null; } }
private void CreateMadeiraObject(bool doMal = false) { var posicaoX = _random.Next(0, 480 - Madeira.Width); var madeira = new Madeira(new Vector2(posicaoX, 800.0)); madeira.EhDoMal = doMal; this._madeiras.Add(madeira); }
private bool BolaEmContatoComMadeira(Madeira madeira) { if ((ballPosition.Y + this.ball.Height - _magemColisao >= (madeira.Posicao.Y) && ballPosition.Y <= madeira.Posicao.Y + Madeira.Heigth) && ((this.ballPosition.X + this.ball.Width - _magemColisao) >= madeira.Posicao.X && (this.ballPosition.X) <= (madeira.Posicao.X + Madeira.Width - _magemColisao))) { return true; } return false; }