private void Strategy_Boost() { if (!Is_On_Line() && CarEnemy.Car.CoverDistance < CarPlayer.Car.CoverDistance) { if (CarEnemy.Car.CurentBoostCharge >= CarEnemy.Car.MaxBoostCharge) { _boostFlag = true; } if (CarEnemy.Car.CurentBoostCharge <= 0) { _boostFlag = false; } CarEnemy.Boost(_boostFlag); } else { CarEnemy.Boost(false); } // sound animation boost off after overtake if (!Is_On_Line() && (CarEnemy.Car.CoverDistance > CarPlayer.Car.CoverDistance && _boostFlag)) { _boostFlag = false; CarEnemy.At_Overtake(); } }
private void Strategy_Rotate() { if (Is_On_Line() && (CarEnemy.Car.CoverDistance < CarPlayer.Car.CoverDistance)) { if ((CarEnemy.CollisionObject.Top < CarPlayer.CollisionObject.Top) && (CarEnemy.Top + CarEnemy.CollisionObject.Height * 0.8F >= _leftBoardTop)) { CarEnemy.Rotate_Left(); } else if ((CarEnemy.CollisionObject.Top + CarEnemy.CollisionObject.Height * 0.8F <= _leftBoardTop) && (CarEnemy.CollisionObject.Top + CarEnemy.CollisionObject.Height * 1.2F >= _rightBoardTop)) { CarEnemy.Rotate_Right(); } if ((CarEnemy.CollisionObject.Top > CarPlayer.CollisionObject.Top) && (CarEnemy.CollisionObject.Top + CarEnemy.CollisionObject.Height * 1.2F <= _rightBoardTop)) { CarEnemy.Rotate_Right(); } else if ((CarEnemy.CollisionObject.Top + CarEnemy.CollisionObject.Height * 0.8F <= _leftBoardTop) && (CarEnemy.CollisionObject.Top + CarEnemy.CollisionObject.Height * 1.2F >= _rightBoardTop)) { CarEnemy.Rotate_Left(); } } if (!Is_On_Horizontal() && !Is_On_Line() && (CarEnemy.Car.CoverDistance > CarPlayer.Car.CoverDistance)) { if ((CarEnemy.Top + CarEnemy.Height * _rand.Next(1, 20) > CarPlayer.Top + CarPlayer.Height) && (CarEnemy.Top + CarEnemy.Height * 0.8F > _leftBoardTop)) { CarEnemy.Rotate_Left(); } else if (CarEnemy.Top + CarEnemy.Height * 0.8F <= _leftBoardTop) { CarEnemy.Rotate_Right(); } if ((CarEnemy.Top + _rand.Next(1, 20) < CarPlayer.Top) && (CarEnemy.Top + CarEnemy.Height * 1.2F < _rightBoardTop)) { CarEnemy.Rotate_Right(); } else if (CarEnemy.Top + CarEnemy.Height * 1.2F >= _rightBoardTop) { CarEnemy.Rotate_Left(); } } }
private void Strategy_Speed() { if (Is_On_Line() && (CarPlayer.Car.CoverDistance - CarEnemy.Car.CoverDistance < CarPlayer.Width * 2) && // дать рандомное значение привязанное к экрану (CarPlayer.Car.CoverDistance - CarEnemy.Car.CoverDistance > 0)) { CarEnemy.Minus_Speed(); CarEnemy.Boost(false); } else { CarEnemy.Plus_Speed(); } }