Ejemplo n.º 1
0
int			rfc_incantation(t_server *serv, const int fd)
{
  t_player		*tmp;
  int			ret;
  int			result;
  char			*str_pie;

  if (!(tmp = get_player_by_id(fd, g_players)))
    return (-1);
  if (tmp && fd)
    {
      result = elevation(serv, tmp);
      if (result == -1)
	{
	  asprintf(&str_pie, "pie %d %d 0",
		   tmp->pos->x, tmp->pos->y);
	  if (str_pie && (ret = return_fdgraphic(serv)) > -1)
	    {
	      serv->timer[ret] = add_list_timer(serv->timer[ret],
						0, serv, str_pie);
	      free(str_pie);
	    }
	}
      if (result != -1)
	write_inc_elev(serv, tmp, fd);
    }
 return (1);
}
Ejemplo n.º 2
0
void		display_pin(char **tab, const int fd)
{
  char		*tmp;
  t_player	*player;

  if (fd && tab && g_players)
    {
      if (!(player = get_player_by_id(atoi(tab[1]), g_players)))
	return ;
      if (player)
	{
	  asprintf(&tmp, "%s %d %d %d %d %d %d %d %d %d %d\n",
		   tab[0], atoi(tab[1]), player->pos->x, player->pos->y,
		   player->inventory->nb_food,
		   player->inventory->nb_linemate,
		   player->inventory->nb_deraumere,
		   player->inventory->nb_sibur,
		   player->inventory->nb_mendiane,
		   player->inventory->nb_phiras,
		   player->inventory->nb_thystame);
	  if (tmp)
	    {
	      write(fd, tmp, strlen(tmp));
	      free(tmp);
	    }
	}
    }
}
Ejemplo n.º 3
0
Archivo: plv.c Proyecto: Nwazette/Zappy
int		visu_plv(t_fds *pooler, t_cmd *cmd, t_visu *visu)
{
  t_player	*p;

  (void)pooler;
  if (!(p = get_player_by_id(visu, atoi(cmd->argv[1]))))
    return (0);
  p->level = atoi(cmd->argv[2]);
  return (1);
}
Ejemplo n.º 4
0
/**
 * Envoi du gagnant a tous les participants
 * @param the_players Liste des joueurs
 * @param uid Identifiant du gagnant
 */
void send_win(Players the_players, uint16_t uid) {
    Player winner = get_player_by_id(uid, the_players);
    Frame win_frame = create_win(uid);
    send_broadcast(the_players, win_frame);
    
    /* Changement de statut du gagnant */
    winner->is_winner = 1;
    
    /* Desinscription du gagnant */
    remove_player_by_id(uid, the_players, 0);
}
Ejemplo n.º 5
0
int		plv(char **av, t_client *cl, t_kernel *kernel)
{
  int		nb_player;
  t_player	*tempory_player;
  char		buff[BUFFER_SIZE];

  if (av_length(av) != 2)
    return (sbp(cl->fd));
  nb_player = atoi(av[1]);
  if (!(tempory_player = get_player_by_id(nb_player, kernel->game.players)))
    return (sbp(cl->fd));
  sprintf(buff, "plv %d %d\n", nb_player, tempory_player->level);
  if (write_socket(cl->fd, buff) <= 0)
    return (1);
  return (0);
}
Ejemplo n.º 6
0
int			rfc_inventory(t_server *serv, const int fd)
{
    t_player		*tmp;
    char			*str;

    if (!(tmp = get_player_by_id(fd, g_players)))
        return (-1);
    if (tmp && fd)
    {
        inventory(serv, tmp, serv->str[fd]);
        asprintf(&str, "%s", tmp->retour);
        if (str)
        {
            serv->timer[fd] = add_list_timer(serv->timer[fd], 7, serv, str);
            if (tmp->retour)
                free(tmp->retour);
            free(str);
        }
    }
    return (1);
}
Ejemplo n.º 7
0
int		rfc_get(t_server *serv, const int fd)
{
  t_player	*tmp;
  int		stone;
  char		*str;

  if (!(tmp = get_player_by_id(fd, g_players)))
    return (-1);
  if (tmp && fd)
    {
      stone = get_stone(serv, tmp, serv->str[fd]);
      asprintf(&str, "%s", stone == -1 ? "ko" : "ok");
      if (str)
      	{
	  serv->timer[fd] = add_list_timer(serv->timer[fd], 7, serv, str);
      	  free(str);
      	}
      if (stone > -1)
	set_get_asprintf(serv, tmp, stone);
    }
  return (1);
}
Ejemplo n.º 8
0
Character *player_lookup(const char *arg)
{

    if (is_number(arg))
    {
        return get_player_by_id(atoi(arg));
    }

    else
    {

        for (Character *nch = first_player; nch != 0;
                nch = nch->next_player)
        {

            if (is_name(arg, nch->name)) {
                return nch;
            }
        }
        return 0;
    }

}
Ejemplo n.º 9
0
int		plv(t_server *server, t_client *graphic)
{
  char		*parameter;
  int		id;
  t_player	*player;
  char		buffer[40];

  if (!server || !graphic || !server->params
      || !(parameter = strtok(server->params, " \t")))
    return (sbp(graphic));
  id = atoi(parameter);
  if ((player = get_player_by_id(server, id)) == NULL)
    return (sbp(graphic));
  if (memset(buffer, 0, 40) == NULL
      || snprintf(buffer, 40, PLV,
		  player->id, player->level) == -1)
    return (fprintf(stderr, ERR_MEMSET), -1);
  if (store_answer_c(graphic, strdup(buffer), 0) == -1)
    {
      fprintf(stderr, ERR_PRINTF);
      return (-1);
    }
  return (0);
}