コード例 #1
0
ファイル: open_wind.c プロジェクト: joboyer/jojoboy
void	ft_raycasting(t_pos *wolf)
{
	while (wolf->val2->x < wolf->val->w)
	{
		wolf->val->camerax = 2 * wolf->val2->x / wolf->val->w - 1;
		wolf->val->rayposx = wolf->val->posx;
		wolf->val->rayposy = wolf->val->posy;
		wolf->val->raydirx = wolf->val->dirx +
		wolf->val->planex * wolf->val->camerax;
		wolf->val->raydiry = wolf->val->diry +
		wolf->val->planey * wolf->val->camerax;
		wolf->val->mapx = (int)wolf->val->rayposx;
		wolf->val->mapy = (int)wolf->val->rayposy;
		wolf->val->deltadistx = sqrt(1 + (wolf->val->raydiry *
			wolf->val->raydiry) / (wolf->val->raydirx * wolf->val->raydirx));
		wolf->val->deltadisty = sqrt(1 + (wolf->val->raydirx *
			wolf->val->raydirx) / (wolf->val->raydiry * wolf->val->raydiry));
		wolf->val2->hit = 0;
		ft_calcul_step(wolf);
		ft_check_square(wolf);
		ft_project(wolf);
		wolf->val2->h = SCREEN_Y;
		wolf->val2->lineheight = (int)(wolf->val2->h / wolf->val2->perpdist);
		ft_calcul(wolf);
		ft_put_pix(wolf);
		wolf->val2->x++;
	}
}
コード例 #2
0
ファイル: do_op.c プロジェクト: fpernes/42
int				main(int argc, char **argv)
{
	int		i;
	int		arg1;
	int		arg2;

	if(argc != 4)
	{
		ft_putchar('\n');
		return (0);
	}
	arg1 = atoi(argv[1]);
	arg2 = atoi(argv[3]);
	ft_calcul(arg1, arg2, argv[2]);
	return (0);
}