예제 #1
0
파일: ft_algo.c 프로젝트: floklein/42
void	ft_solve(t_piece **pieces, int size, int n)
{
	t_tet			tets[n + 1];
	char			**result;
	unsigned short	map[16];

	(tets + n)->blocs = 0;
	ft_memset(map, 0, 18);
	ft_get_tets(tets, pieces);
	ft_make_idents(tets, n);
	while (ft_rec(map, tets, tets, size) == -1)
		size++;
	result = ft_create(size);
	ft_fill(result, tets, pieces);
	ft_print(result);
	ft_clear((void **)result);
	ft_clear((void **)pieces);
	free(result);
}
예제 #2
0
void ft_render(t_surface *ptr[], t_surface *screen)
{
    int x;

    ft_clear(screen);
    for (x = 0; x < E_TYPE_LAST; x++)
        ft_blit(ptr[x], screen, ptr[x]->pos.x, ptr[x]->pos.y);

    ft_flip(screen);
}
예제 #3
0
파일: view.c 프로젝트: vilsbole/rt
int					ft_loop(int key, t_env **env)
{
	if (key == ESC)
	{
		ft_clear(*env);
		exit(0);
	}
	if (key == LE || key == RI || key == ENT || key == UP || key == DO
			|| key == PL || key == MI)
	{
		ft_change_view(env, key);
		ft_ray_cast_threads(*env);
	}
	return (0);
}
예제 #4
0
파일: ft_inputs.c 프로젝트: xacoquan/SH1
static int	ft_manage_inputs(t_env *e, char *inputs)
{
	int		value;

	if ((inputs[0] == 4 || inputs[0] == 10) &&
		inputs[1] == 0 && inputs[2] == 0 && inputs[3] == 0 &&
		inputs[4] == 0 && inputs[5] == 0 && inputs[6] == 0)
		return (ft_quit(e, inputs));
	else if (!ft_delete(e, inputs))
		if (!ft_arrows(e, inputs))
			if (!ft_clear(e, inputs))
				if (ft_isprint(inputs[0]) || inputs[0] == 9)
					if ((value = ft_process_char(e, inputs)) != 2)
						return (value);
	return (-1);
}
예제 #5
0
파일: l_path.c 프로젝트: SleepyFanjo/42sh
int					ft_checkpath(char *s, t_list **begin, t_param *param)
{
	char			*path;
	char			**tmp;
	int				i;

	i = 0;
	ft_check_builtin(s, begin);
	if ((path = get_env(g_env, "PATH")) == NULL)
		return (0);
	tmp = ft_strsplit(path, ':');
	ft_process(tmp, s, i, begin);
	ft_clear(tmp);
	if (*begin != NULL)
		del_word(s, param, &STR);
	return (0);
}
예제 #6
0
파일: ft_keys.c 프로젝트: Sconso/Select
void			ft_keys(char *buf, t_control *list, char **modetab)
{
	if (ARROW)
		ft_arrows(buf, list, modetab);
	else if (SPACE)
		ft_addselected(list, modetab);
	else if (BACKSPACE || SUPPR)
	{
		ft_delete_node(list, list->active);
		ft_clear(modetab, list, 1);
	}
	else if (ENTER)
		ft_quit(modetab, list, 0, ft_calcret(list));
	else if (MINUS)
		ft_multiselect(list, 0, modetab);
	else if (PLUS)
		ft_multiselect(list, 1, modetab);
	else if (SLASH)
		ft_search(list, modetab);
	else if (QUESTIONMARK)
		ft_printhelp(list, modetab);
	else if (buf[0] == 'c' && !buf[1])
		ft_selectskin(list, modetab);
}