Logo Pastebin.fr
Pastebin

Retrouvez, créez et partagez vos snippets en temps réel.

Aide Mémoire Alexandre Nicolas

struct solution_partielle {
  vec2* positions;
  int prochain; // prochain à examiner
};
typedef struct solution_partielle solution_partielle;

solution_partielle solution_partielle_vide(inventaire* inv)
{
  vec2* positions = malloc((inv->nb)*sizeof(vec2));
  for(int i = 0 ; i < inv->nb ; i += 1)
  {
    positions[i].x = -1;
    positions[i].y = -1;
  }
  solution_partielle res = {positions, 0};
  return res;
}

bool ajoute(inventaire* inv, solution_partielle* sol, vec2 pos)
{
  int n = inv->nb;
  vec2 lim = ajouter(pos, inv->dimensions[n]);
  if((lim.x > inv->grille.x) || (lim.x > inv->grille.x)){return false;}
  for(int i = 0 ; i < n ; i += 1)
  {
    if((sol->positions[i].x != -1) && collision(pos, inv->dimensions[n], sol->positions[i], inv->dimensions[i]))
    {
      return false;
    }
  }
  sol->positions[n] = pos;
  sol->prochain = n+1;
  return true;
}

void retire(solution_partielle* sol)
{
  sol->positions[sol->prochain-1].x = -1;
  sol->positions[sol->prochain-1].y = -1;
  sol->prochain = sol->prochain-1;
}

Créé il y a 1 semaine.

Rechercher un Pastebin

Aucun paste trouvé.