def __init__(self, world, positions): self.shapes = b2EdgeShape() self.shapes.vertices = [(utils.calculateBox2DValue(0), utils.calculateBox2DValue(0)), (utils.calculateBox2DValue(200), utils.calculateBox2DValue(50))] self.body = world.CreateStaticBody() self.body.position = (utils.calculateBox2DValue(positions[0]), utils.calculateBox2DValue(positions[1])) self.fixture = b2FixtureDef() self.fixture.shape = self.shapes self.fixture.friction = 0.3 self.body.CreateFixture(self.fixture) self.image = pygame.image.load('gfx/pipe.png').convert_alpha()
def __init__(self, world, coordinates, radius): self.body = world.CreateDynamicBody() self.body.position = [utils.calculateBox2DValue(coordinates[0]), utils.calculateBox2DValue(coordinates[1])] self.body.active = False self.shape = b2CircleShape() self.shape.pos = (utils.calculateBox2DValue(0), utils.calculateBox2DValue(0)) self.shape.radius = utils.calculateBox2DValue(radius) self.has_food_inside = False self.counter = 0 self.fixtureDef = b2FixtureDef() self.fixtureDef.shape = self.shape self.fixtureDef.friction = 0.1 self.fixtureDef.density = 1 self.fixtureDef.restitution = 0.5 self.myFixture = None
def createPieceOfFood(self, position, radius): piece = self.world.CreateDynamicBody() piece.position = position piece_shape = b2CircleShape() piece_shape.pos = [0,0] piece_shape.radius = utils.calculateBox2DValue(radius) piece_fixture = b2FixtureDef() piece_fixture.shape = piece_shape piece.CreateFixture(piece_fixture) self.pieces_of_food.append(piece)
def createLeftPipeFood(self): if(random.randint(0, 20) <= 1): return self.createPieceOfFood([utils.calculateBox2DValue(-20), utils.calculateBox2DValue(100)], 4)
mouse_keys = pygame.mouse.get_pressed() #balloons growing if mouse_keys[0] and not is_balloon_growing: growing_balloon_coordinates = pygame.mouse.get_pos() balloons.append(balloon.Balloon(world_for_bubbles, growing_balloon_coordinates, 1)) is_balloon_growing = True blow_sound.play() elif is_balloon_growing and mouse_keys[0] == 0: is_balloon_growing = False blow_sound.stop() balloons[-1].myFixture = balloons[-1].body.CreateFixture(balloons[-1].fixtureDef) balloons[-1].body.active = True balloons[-1].getFoodInside(food_machine) elif is_balloon_growing and mouse_keys[0]: balloons[-1].shape.radius += utils.calculateBox2DValue(4) world_for_bubbles.Step(timeStep, 6, 2) world_for_bubbles.ClearForces() world_for_food.Step(timeStep, 6, 2) world_for_food.ClearForces() #balloons shrinking if mouse_keys[2] and not is_balloon_growing and not is_balloon_shrinking: shrinking_balloon_coordinates = pygame.mouse.get_pos() for i in range(len(balloons)): if utils.distanceBetweenPoints(balloons[i].getPosition(), shrinking_balloon_coordinates) < balloons[i].getRadius(): shrinking_balloon = balloons[i] is_balloon_shrinking = True if mouse_keys[2] and is_balloon_shrinking and shrinking_balloon != None: shrinking_balloon.shape.radius -= utils.calculateBox2DValue(4)