Пример #1
0
char	valid_grid(char grid[9][9], char y, char x, char mode)
{
  char	n;

  if (grid[y][x] != 0)
    return (ret_grid(grid, y, x, mode));
  n = 1;
  while (n <= 9)
    {
      if (n_valid(grid, y, x, n) == 0)
	{
	  grid[y][x] = n;
	  if (y == 8 && x == 8)
	    {
	      if (mode == 1)
		aff_grid(grid, y, x, mode);
	      return (mode^1);
	    }
	  if (valid_grid(grid, ((x + 1) == 9) ? (y + 1)
			 : (y), (x + 1) % 9, mode))
	    return (1);
	}
      n++;
    }
  grid[y][x] = 0;
  return (0);
}
Пример #2
0
char	ret_grid(char grid[9][9], char y, char x, char mode)
{
  if (y == 8 && x == 8)
    {
      if (mode == 1)
	aff_grid(grid, y, x, mode);
      return (mode^1);
    }
  return (valid_grid(grid, ((x + 1) == 9) ?
		     (y + 1) : (y), (x + 1) % 9, mode));
}
Пример #3
0
int		main(int argc, char **argv)
{
  t_vm		*vm;
  int		i;

  if ((vm = malloc(sizeof(t_vm))) == NULL)
    my_print_error("Error with a memory allocation\n");
  if ((vm->arena = malloc(sizeof(t_vm))) == NULL)
    my_print_error("Error with a memory allocation\n");
  init_arena(vm->arena->arena, MEM_SIZE);
  check_arg(argc);
  i = check_dump(vm, argv);
  check_champ(vm, argc, argv, i);
  init_champs(vm);
  my_parsing(vm, argc, argv, i);
  init_mlx(vm);
  aff_grid(vm);
  my_hook(vm);
  corewar(vm);
  return (0);
}