Example #1
0
	inline bool occupied()
	{
		if (! m_calculated)
		{
			m_occupied = is_occupied();
			m_calculated = true;
		}
		return m_occupied;
	}
Example #2
0
int is_entity_ok (int x, int y)
{
    // On vérifie si aucune autre entité n'est sur la case visée
    if (is_occupied(x, y))
        return 0;

    // On vérifie si le personnage n'essaye pas de sortir de la map
    if (!is_in_map(x, y))
        return 0;

    // On vérifie si le personnage peut marcher si le tile visé
    if (is_bloquant(x, y))
        return 0;

    if (is_object(x, y))
        return 0;

    return 1;
}
Example #3
0
static void get_grid_input(Grid* grid, int* mov, int* rot, int* drop) {
	if(is_occupied(grid->nr)) {
		*mov = button_down(grid->nr, BUTTON_RIGHT)
				- button_down(grid->nr, BUTTON_LEFT);
		*rot = button_down(grid->nr, BUTTON_A)
				- button_down(grid->nr, BUTTON_B);
		*drop = button_down(grid->nr, BUTTON_DOWN);
	}
	else {
		grid_bot(grid, mov, rot, drop);
	}

	if(*mov != grid->input_mov) grid->input_rep = 0;
	grid->input_mov = *mov;
	if(grid->input_rep <= 0) grid->input_rep = 6;
	else {
		grid->input_rep--;
		*mov = 0;
	}
	if(*rot != grid->input_rot) grid->input_rot = *rot;
	else *rot = 0;
}