Bueno, ayer empece con la idea de armar un simulador del Cubo magico de Rubik, e hice el set basico de clases.
Main.c:
Código c:
Ver original#include "classes.c"
int main()
{
cube * test_cube;
}
classes.h:
Código c:
Ver originalenum {RED, BLUE, YELLOW, GREEN, BLACK, WHITE};
class face{
public:
int colors[9];
void fill_face_with_color(int);
void set_right_column_colors(int*);
face (int);
};
class cube{
public:
face * faces[6];
void initialize_cube();
cube ();
void display_cube_attributes();
};
classes.c:
Código c:
Ver original#include "classes.h"
void face::fill_face_with_color(int color){
int x;
for (x = 0;x < 9; x++){
colors[x] = color;
cout << colors[x] << " ";
}
for (x = 0;x < 9;x++){
cout << colors[x] << " ";}
cout << endl;
}
face::face (int color){
int x;
for (x = 0;x < 9; x++){
colors[x] = color;
}
}
cube::cube (){
int x;
for (x = 0;x < 6;x++){
face test_face(x); // Aca probe tambien face * test_face(x), face *test_face = new face(x), etc.
cube::faces[x] = &test_face;
}
}
Basicamente lo que quiero, es hacer un constructor de la clase Cube, que cuando se cree, llene su array de Faces(caras del cubo mágico), con todos los colores de cada cara iguales.
en resumen, seria para crear un nuevo cubo con todas las caras inicializadas, como si el cubo fuera nuevo.
Pero al tratar el método actual, la aplicación entra en un crash, o si nó, no asigna bien los integers en el array colores[].
Alguien es capaz de decirme que estoy haciendo mal? No le encuentro solución, es una pavada y sin embargo no me doy cuenta que hago mal.
Gracias.