def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState: return GameState( ball=BallState(physics=Physics( location=Vector3(0, -1500, 100), velocity=Vector3(rng.uniform(-1, 1), 10, 0), angular_velocity=Vector3(0, 0, 0))), cars={ # Striker 0: CarState( physics=Physics( location=Vector3(300*rng.n11(), 200*rng.n11(), 15), rotation=Rotator(0, -pi / 2, 0), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0)), jumped=False, double_jumped=False, boost_amount=100), # Goalie 1: CarState( physics=Physics( location=Vector3(0, -5000, 15), rotation=Rotator(0, rng.uniform(-.1, .1), 0), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0)), jumped=True, double_jumped=True, boost_amount=100), }, boosts={i: BoostState(0) for i in range(34)}, )
def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState: car_state = CarState( boost_amount=100, physics=Physics( location=Vector3(-2000+500*rng.n11(), -4250, 20), velocity=Vector3(1400, 0, 0), rotation=Rotator(0, 0, 0), angular_velocity=Vector3(0, 0, 0) ) ) ball_state = BallState( Physics( location=Vector3(-1700, -4000, 100), velocity=Vector3(1500+500*rng.n11(), 150+50*rng.n11(), 0) ) ) game_state = GameState(ball=ball_state, cars={0: car_state}) return game_state
def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState: car_pos = Vector3(0, -2500, 25) ball_pos = Vector3(1000 * rng.n11(), rng.uniform(0, 1500), 100) ball_state = BallState( Physics(location=ball_pos, velocity=Vector3(0, 550, 0))) car_state = CarState(boost_amount=87, jumped=True, double_jumped=True, physics=Physics( location=car_pos, rotation=Rotator(0, pi / 2, 0), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0), )) enemy_car = CarState(physics=Physics(location=Vector3(0, 5120, 25))) game_state = GameState(ball=ball_state, cars={0: car_state}) return game_state
def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState: return GameState( ball=BallState(physics=Physics(location=Vector3(0, 4400, 100), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0))), cars={ 0: CarState(physics=Physics(location=Vector3( 900 * rng.n11(), 3000, 0), rotation=Rotator(0, pi / 2, 0), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0)), jumped=False, double_jumped=False, boost_amount=0) }, )
def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState: return GameState( ball=BallState(physics=Physics(location=Vector3( 1000 * rng.n11(), rng.uniform(0, 1500), 100), velocity=Vector3(0, 550, 0), angular_velocity=Vector3(0, 0, 0))), cars={ 0: CarState(physics=Physics(location=Vector3(0, -2500, 18), rotation=Rotator(0, pi / 2, 0), velocity=Vector3(0, 0, 0), angular_velocity=Vector3(0, 0, 0)), boost_amount=87), 1: CarState(physics=Physics( location=Vector3(10000, 10000, 10000))) }, )
def random_point_inside(self, rng: SeededRandomNumberGenerator) -> Vector3: offset: Vector3 = Vector3(self.width / 2 * rng.n11(), self.depth / 2 * rng.n11(), self.height / 2 * rng.n11()) return add(self.center, offset)
def random_point_inside(self, rng: SeededRandomNumberGenerator) -> Vector3: offset: Vector3 = Vector3( math.cos(rng.random() * math.pi * 2) * self.radius, math.sin(rng.random() * math.pi * 2) * self.radius, rng.n11() * height) return add(self.center, offset)