Exemplo n.º 1
0
char		*obtain_case(t_server *serv, int v, int h, int actual)
{
	t_case	t;
	char	*result;
	int		indic;
	char	*tmp;

	indic = 0;
	t = init_tcase(serv, v, h);
	if (serv->map.map[t.y][t.x].nbr <= 0)
		return (NULL);
	result = ft_trunc("%p", pattern(serv->map.map[t.y][t.x].res[NOURRITURE],
		"nourriture "));
	set_ftcase(serv, t, &result);
	if (result)
	{
		tmp = ft_trunc("%s%p", result,
			pattern(count_player(serv, actual, t.x, t.y), "joueur "));
		free(result);
		result = tmp;
	}
	else
		result = ft_trunc("%p", pattern(count_player(serv, actual, t.x, t.y),
		"joueur "));
	if (result)
		result[ft_strlen(result) - 1] = 0;
	return (result);
}
Exemplo n.º 2
0
int			graphic_incantation(t_server *serv,
					    t_player *player)
{
  t_player		*tmp;
  char			*pic;
  char			*str;
  int			save;
  int			nb_player;

  tmp = g_players;
  nb_player = count_player(player);
  save = player->level;
  asprintf(&str, "pic %d %d %d", player->pos->x,
	   player->pos->y, player->level + 1);
  while (tmp)
    {
      if (tmp->pos->x == player->pos->x &&
	  tmp->pos->y == player->pos->y &&
  	  tmp->level == save)
  	{
  	  ++tmp->level;
	  asprintf(&pic, "%s %d", str, tmp->id);
	  --nb_player;
	}
      tmp = tmp->next;
    }
  write_graphic_incant(serv, player, pic);
  return (1);
}
Exemplo n.º 3
0
void	display(char *map)
{
  int	start;
  int	nb_ply;
  int	nb_team;
  char	team_win;

  start = 0;
  while (42)
    {
      if ((nb_team = count_team(map)) == 1)
	team_win = get_last_team(map);
      nb_ply = count_player(map, 'a');
      start = (nb_ply >= NB_PLAY ? 1 : start);
      if (nb_ply < NB_PLAY && start == 0)
	wrt_str("-{ You have to put more player for start the game. }-\n");
      else
	wrt_str("-{ The Game is running ! }-\n");
      display_stat(map, nb_ply, nb_team);
      display_map(map);
      if (nb_ply == 1 && start == 1)
	{
	  printf("The team %d Win !!!!\n", team_win - '0');
	  break;
	}
    }
}
Exemplo n.º 4
0
void	display_stat(char *map, int nb_ply, int nb_team)
{
  int	team_adv;
  int	high;
  int	chk;
  int	i;

  high = 0;
  i = 0;
  while (i < NB_TEAM)
    {
      if ((chk = count_player(map, '1' + i)) == high)
	{
	  team_adv = 0;
	  break ;
	}
      team_adv = (chk > high ? i + 1 : team_adv);
      high = (chk > high ? chk : high);
      i++;
    }
  printf("[ Nb player : %d | Nb team : %d | ", nb_ply, nb_team);
  if (team_adv != 0)
    printf("The team %d has the advantage ]\n", team_adv);
  else
    printf("All team are equally ]\n");
}
Exemplo n.º 5
0
int	other_player(t_util *util)
{
  util->addr = shmat(util->shm_id, NULL, SHM_R | SHM_W);
  util->id = count_player(util->addr, 'a');
  if (new_player(util) == -1)
    return (-1);
  return (0);
}
Exemplo n.º 6
0
int	other_player(t_util *util)
{
  util->addr = shmat(util->shm_id, NULL, SHM_R | SHM_W);
  util->id = count_player(util->addr, 'a');
  printf("Creation of player nb : %d\n", util->id + 1);
  if (new_player(util) == -1)
    return (-1);
  return (0);
}
Exemplo n.º 7
0
int	get_loser(char *map)
{
  int	loser;
  int	lower;
  int	chk;
  int	i;

  loser = 1;
  lower = NB_TEAM;
  chk = 0;
  i = 0;
  while (i < NB_TEAM)
    {
      if ((chk = count_player(map, '1' + i)) < lower)
	{
	  lower = chk;
	  loser = i + 1;
	}
      i++;
    }
  return (loser);
}