| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #pragma one
- #include <stdio.h>
- typedef struct {
- char *file;
- int count;
- int nbMovment;
- } t_params;
- typedef struct {
- char grid[6][3][3];
- } t_rubiks;
- struct s_stackitem {
- struct s_stackitem *prev;
- int value;
- };
- typedef struct s_stack {
- struct s_stackitem *items;
- size_t count;
- } t_stack;
- /* params.c */
- void usage(char*);
- int parse_params(char **, t_params *, char *);
- /* generator.c */
- t_rubiks *doGenerate(t_params *);
- /* solver.c */
- t_stack *doSolve(char buffer[54], int nbMovment);
- /* std */
- void xfree(void *);
- /* rubiks_transform.c */
- void rubik_applyX(t_rubiks *, char[3]);
- void rubik_applyY(t_rubiks *, char[3]);
- void rubik_applyZ(t_rubiks *, char[3]);
- /* rubiks.c */
- t_rubiks *rubik_create(char [54]);
- t_rubiks *rubik_createempty();
- void rubik_applyVect(t_rubiks *, char [3]);
- void rubik_apply(t_rubiks *, char movment);
- void rubik_reverse(t_rubiks *, char movment);
- int rubik_isDone(const t_rubiks *);
- /* output.c */
- void spatial_show(t_rubiks *);
- void rubik_output(t_rubiks *, FILE *);
- /* tree.c */
- t_stack *stack_create();
- t_stack *stack_copy(const t_stack *);
- void stack_destroy(t_stack*);
- int stack_pop(t_stack *);
- int stack_value(const t_stack *);
- size_t stack_length(const t_stack *);
- void stack_push(t_stack *, int value);
|