generator.c 512 B

123456789101112131415161718192021222324252627
  1. #include <string.h>
  2. #include <stdlib.h>
  3. #include "rubiks.h"
  4. static int move_random(t_rubiks *r, char lastMove)
  5. {
  6. char movment = -1;
  7. do {
  8. movment = rand() % 18;
  9. } while (movment == lastMove);
  10. rubik_apply(r, movment);
  11. return movment;
  12. }
  13. t_rubiks *doGenerate(t_params *params)
  14. {
  15. t_rubiks *rubiks = rubik_create("000000000111111111222222222333333333444444444555555555");
  16. char lastMove = -1;
  17. int i;
  18. for (i=0; i < params->nbMovment; ++i)
  19. lastMove = move_random(rubiks, lastMove);
  20. return (rubiks);
  21. }