예제 #1
0
void	print_score(t_display_env *data, int line, int col)
{
  int	high_score;

  mvprintw(line + 2, col, "| High Score ");
  mvprintw(line + 2, col + 18, " |");
  high_score = get_high_score();
  print_nbr(high_score, line + 2, col + 13 + 4);
  mvprintw(line + 3, col, "| Score      ");
  mvprintw(line + 3, col + 18, " |");
  print_nbr(data->ev->score, line + 3, col + 13 + 4);
}
예제 #2
0
void init_game(struct Anim* anims, struct Image* images)
{
  int i;
  grid_load("level.txt", &my_grid);

  high_score = get_high_score();

  pacman_init(&pacman,anims);
  blinky_init(&blinky,anims,images);
  pinky_init(&pinky,anims,images);
  inky_init(&inky,anims,images);
  clyde_init(&clyde,anims,images);

  exit_house[0] = &(pinky.exit_house);
  exit_house[1] = &(inky.exit_house);
  exit_house[2] = &(clyde.exit_house);

  {
    level_bonus[0] = CHERRY_IMG; bonus_points[0] = 100;
    level_bonus[1] = STRAWBERRY_IMG; bonus_points[1] = 300;
    level_bonus[2] = level_bonus[3] = ORANGE_IMG; bonus_points[2] = bonus_points[3] = 500;
    level_bonus[4] = level_bonus[5] = APPLE_IMG; bonus_points[4] = bonus_points[5] = 700;
    level_bonus[6] = level_bonus[7] = GRAPES_IMG; bonus_points[6] = bonus_points[7] = 1000;
    level_bonus[8] = level_bonus[9] = GAX_IMG; bonus_points[8] = bonus_points[9] = 2000;
    level_bonus[10] = level_bonus[11] = BELL_IMG; bonus_points[10] = bonus_points[11] = 3000;

    for(i = 12; i != 21; ++i)
    {
      level_bonus[i] = KEY_IMG; bonus_points[i] = 5000;
    }
  }

  { /* Set the speed of pacman. */
    pacman_speed[0] = 0.8f;
    pacman_speed[1] = pacman_speed[2] = pacman_speed[3] = 0.9f;

    for(i = 4; i != 20; ++i)
      pacman_speed[i] = 1.0f;

    pacman_speed[20] = 0.9f;
  }

  {
    ghost_speed[0] = 0.75f;
    ghost_speed[1] = ghost_speed[2] = ghost_speed[3] = 0.85f;

    for(i = 4; i != 21; ++i)
      ghost_speed[i] = 0.95f;
  }

  {
    tunnel_speed[0] = 0.40f;
    tunnel_speed[1] = tunnel_speed[2] = tunnel_speed[3] = 0.45f;

    for(i = 4; i != 21; ++i)
      tunnel_speed[i] = 0.5f;
  }

  {
    fright_time[0] = 6000; fright_time[1] = 5000;
    fright_time[2] = 4000; fright_time[3] = 3000;
    fright_time[4] = 2000; fright_time[5] = 5000;
    fright_time[6] = 2000; fright_time[7] = 2000;
    fright_time[8] = 1000; fright_time[9] = 5000;
    fright_time[10] = 2000; fright_time[11] = 1000;
    fright_time[12] = 1000; fright_time[13] = 3000;
    fright_time[14] = 1000; fright_time[15] = 1000;
    fright_time[17] = 1000;
    fright_time[16] = fright_time[18] = fright_time[19] = fright_time[20] = 0;
  }

  {
    pacman_fright_speed[0] = 0.9f;
    pacman_fright_speed[1] = pacman_fright_speed[2] = pacman_fright_speed[3] = 0.95f;

    for(i = 4; i != 21; ++i)
    {
      pacman_fright_speed[i] = 1.0f;
    }
  }

{
    ghost_fright_speed[0] = 0.5f;
    ghost_fright_speed[1] = ghost_fright_speed[2] = ghost_fright_speed[3] = 0.55f;

    for(i = 4; i != 21; ++i)
    {
      ghost_fright_speed[i] = 0.6f;
    }
  }

  {
    elroy1_speed[0] = 0.8f;
    elroy1_speed[1] = elroy1_speed[2] = elroy1_speed[3] = 0.9f;

    for(i = 4; i != 21; ++i)
    {
      elroy1_speed[i] = 1.0f;
    }
  }

  {
    elroy1_dots[0] = 20;
    elroy1_dots[1] = 30;
    elroy1_dots[2] = 40;
    elroy1_dots[3] = 40;
    elroy1_dots[4] = 40;
    elroy1_dots[5] = 50;
    elroy1_dots[6] = 50;
    elroy1_dots[7] = 50;
    elroy1_dots[8] = 60;
    elroy1_dots[9] = 60;
    elroy1_dots[10] = 60;
    elroy1_dots[11] = 80;
    elroy1_dots[12] = 80;
    elroy1_dots[13] = 80;
    elroy1_dots[14] = elroy1_dots[15] = elroy1_dots[16] = elroy1_dots[17] = 100;
    elroy1_dots[18] = elroy1_dots[19] = elroy1_dots[20] = 120;
  }

  {
    elroy2_speed[0] = 0.85f;
    elroy2_speed[1] = elroy2_speed[2] = elroy2_speed[3] = 0.95f;

    for(i = 4; i != 21; ++i)
    {
      elroy2_speed[i] = 1.05f;
    }
  }

  {
    elroy2_dots[0] = 10;
    elroy2_dots[1] = 15;
    elroy2_dots[2] = 20;
    elroy2_dots[3] = 20;
    elroy2_dots[4] = 20;
    elroy2_dots[5] = 25;
    elroy2_dots[6] = 25;
    elroy2_dots[7] = 25;
    elroy2_dots[8] = 30;
    elroy2_dots[9] = 30;
    elroy2_dots[10] = 30;
    elroy2_dots[11] = 40;
    elroy2_dots[12] = 40;
    elroy2_dots[13] = 40;
    elroy2_dots[14] = elroy2_dots[15] = elroy2_dots[16] = elroy2_dots[17] = 50;
    elroy2_dots[18] = elroy2_dots[19] = elroy2_dots[20] = 60;
  }

  {
    for(i = 0; i != 21; ++i)
    {
      dot_limit[0][i] = 0;
    }

    dot_limit[1][0] = 30;
    for(i = 1; i != 21; ++i)
    {
      dot_limit[1][i] = 0;
    }

    dot_limit[2][0] = 60;
    dot_limit[2][1] = 50;
    for(i = 2; i != 21; ++i)
    {
      dot_limit[2][i] = 0;
    }
  }

  level = 0;
  frightened_ = 0;
  remaining_lives = 3;
  bonus_spawned = 0;
  init_level();


/*uint8_t elroy1_dots[21];
float elroy1_speed[21];
uint8_t elroy2_dots[21];
float elroy2_speed[21];*/
}