コード例 #1
0
ファイル: ft_up.c プロジェクト: MickaelBlet/42_Rush
int			ft_up(t_game *g)
{
	int		i[4];

	i[2] = g->size * g->size;
	i[0] = 0;
	i[3] = 0;
	while (i[0] < i[2])
	{
		if (!ft_is_empty(g->map[i[0]]))
		{
			i[1] = i[0] + g->size;
			while (i[1] < i[2])
			{
				if (!ft_is_empty(g->map[i[1]]))
				{
					if (g->map[i[0]] == g->map[i[1]])
						ft_add(g, i);
					break ;
				}
				i[1] += g->size;
			}
		}
		i[0]++;
	}
	return (ft_move_up(g->map, g->size) + i[3]);
}
コード例 #2
0
ファイル: main.c プロジェクト: maafterchef/42_1
int			key_hook(int keycode, t_env *mlx)
{
	if (keycode == 65362)
		ft_move_up(mlx);
	if (keycode == 65364)
		ft_move_down(mlx);
	if (keycode == 65361)
	{
		mlx->angle += 11;
		if (mlx->angle > 360)
			mlx->angle -= 360;
	}
	if (keycode == 65363)
	{
		mlx->angle -= 11;
		if (mlx->angle < 0)
			mlx->angle += 360;
	}
	ft_find_wall(mlx);
	if (keycode == 65307)
	{
		free(mlx->map);
		exit(0);
	}
	return (0);
}
コード例 #3
0
ファイル: stat.c プロジェクト: xacoquan/42git
void	stat_game(t_game *g)
{
	int		press;

	print_game(g);
	press = getch();
	if (press == 'm')
	{
		if (g->end == 1)
		{
			ft_restart(g);
			g->start = 0;
		}
		g->stat = 0;
	}
	else if (press == KEY_UP && g->end != 1)
		ft_move_up(g);
	else if (press == KEY_DOWN && g->end != 1)
		ft_move_down(g);
	else if (press == KEY_RIGHT && g->end != 1)
		ft_move_right(g);
	else if (press == KEY_LEFT && g->end != 1)
		ft_move_left(g);
	else if (press == 'r')
		ft_restart(g);
	else if (press == 27)
		ft_del_game(&g);
}
コード例 #4
0
ファイル: ft_optim.c プロジェクト: Sorinace/fillit
static void		ft_decision(t_tet *t, int *ok)
{
	int			i;
	int			k;

	k = 0;
	while (t[k].x > 0)
	{
		i = 0;
		while (i < 4)
			if (t[k].btet[0][i++] != '.')
				break ;
		if (i == 4)
			ft_move_up(&t[k], ok);
		i = 0;
		while (i < 4)
			if (t[k].btet[i++][0] != '.')
				break ;
		if (i == 4)
			ft_move_left(&t[k], ok);
		k++;
	}
}