示例#1
0
def draw_main_menu(game_state):
    buttons, button_size, text_starting_place, text_ending_place = create_buttons(
        [config.menu_title_text] + config.menu_buttons,
        [config.get_default_font(config.menu_title_font_size)] +
        [config.get_default_font(config.menu_option_font_size)] * 3,
        [config.menu_text_color] * 4,
        [config.menu_text_color] + [config.menu_text_selected_color] * 3)
    draw_rects(button_size, buttons, game_state, text_starting_place, emit=[0])
    button_clicked = iterate_until_button_press(buttons, game_state,
                                                text_ending_place,
                                                text_starting_place)
    return button_clicked
示例#2
0
 def game_over(self, p1_won):
     font = config.get_default_font(config.game_over_label_font_size)
     if p1_won:
         text = "PLAYER 1 WON!"
     else:
         text = "PLAYER 2 WON!"
     rendered_text = font.render(text, False, (255, 255, 255))
     self.canvas.surface.blit(rendered_text, (config.resolution - font.size(text)) / 2)
     pygame.display.flip()
     pygame.event.clear()
     paused = False
     # while paused:
     #     event = pygame.event.wait()
     #     if event.type == pygame.QUIT or event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
     #         paused = False
     self.is_game_over = True
 def __init__(self, table_size, color, table_points):
     pygame.sprite.Sprite.__init__(self)
     self.points = table_points
     self.image = pygame.Surface(table_size)
     self.image.fill(color)
     color_key = (200, 200, 200)
     self.image.set_colorkey(color_key)
     pygame.draw.polygon(self.image, color_key, table_points)
     self.rect = self.image.get_rect()
     self.font = config.get_default_font(config.ball_radius)
     self.target_ball_text = [
         self.font.render(config.player1_target_text, False,
                          config.player1_cue_color),
         self.font.render(config.player2_target_text, False,
                          config.player2_cue_color)
     ]
示例#4
0
 def game_over(self, p1_won):
     font = config.get_default_font(config.game_over_label_font_size)
     if p1_won:
         text = "Первый игрок выиграл!"
     else:
         text = "Второй игрок выиграл!"
     rendered_text = font.render(text, False, (255, 0, 0))
     self.canvas.surface.blit(rendered_text,
                              (config.resolution - font.size(text)) / 2)
     pygame.display.flip()
     pygame.event.clear()
     paused = True
     while paused:
         event = pygame.event.wait()
         if event.type == pygame.QUIT or event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
             paused = False
     self.is_game_over = True
示例#5
0
 def __init__(self, ball_number):
     self.number = ball_number
     self.color = config.ball_colors[ball_number]
     if ball_number <= 8:
         self.ball_type = BallType.Solid
         self.ball_stripe = SolidBall()
     else:
         self.ball_type = BallType.Striped
         self.ball_stripe = StripedBall()
     self.ball = Ball()
     pygame.sprite.Sprite.__init__(self)
     self.label_offset = np.array([0, 0, config.ball_radius])
     self.label_size = config.ball_radius // 2
     font_obj = config.get_default_font(config.ball_label_text_size)
     self.text = font_obj.render(str(ball_number), False, (0, 0, 0))
     self.text_length = np.array(font_obj.size(str(ball_number)))
     self.update_sprite()
     self.update()
     self.rect.center = self.ball.pos.tolist()