Exemplo n.º 1
0
/* construcorul clasei 'Rubik' care creeaza un nou cub rubik */
Rubik::Rubik() {
	cs = new CoordinateSystem3d();
	WorldDrawer3d::cs_used.push_back(cs);
	layers.resize(MOVING_LAYERS);
	faces.resize(MOVING_LAYERS);
	rubik.resize(3*MOVING_LAYERS);
	colors.resize(6);

	set_points();
	set_topology();
	set_layers();
	
	draw_faces();

	int count = 0;
	for (int i = -1; i <= 1; i++) {
		for (int j = -1; j <= 1; j++) {
			for (int k = -1; k <= 1; k++) {
				Object3d *o;
				o = new Object3d(points, topology);
				o->setcolor(0,0,0);
				o->color = -1;
				rubik[count].push_back(o);

				for (int l = 0; l < rubik[count].size(); l++) {
					rubik[count][l]->translate(4.5*i, 4.5*j, 4.5*k);
					cs->objectAdd(rubik[count][l]);
				}
				count++;
			}
		}
	}
}
Exemplo n.º 2
0
	void initialize() override
	{
		set_layers(sf::Vector2f(15,-5), sf::Vector2f(90,-30), sf::Vector2f(15, -5));
		get_layer(0).shadow_color = sf::Color(100, 100, 0);
		get_layer(1).shadow_color = sf::Color(100, 100, 0);
		get_layer(0).background = sf::Color(200, 100, 50);
		//get_layer(0).background = sf::Color::White;
	}
Exemplo n.º 3
0
	void initialize() override
	{
		set_layers(sf::Vector2f(5,-5), sf::Vector2f(30,-30), sf::Vector2f(5, -5));
		get_layer(0).shadow_color = sf::Color(128, 128, 128);
		get_layer(1).shadow_color = sf::Color(128, 128, 218);
		get_layer(0).background = sf::Color(200, 200, 255);
		//get_layer(0).background = sf::Color::White;
	}
increase_triangle_t *increase_triangle_init(int layers, int base_value, int multiple)
{
	int lyrs=layers;
	int bs_vl=base_value;
	int mltpl=multiple;
	layer_index_t *layer_index_ret=NULL;
	if(LAYERS_NULL_VALUE==lyrs){
		lyrs=LAYERS_MIN_VALUE;
	}

	if(BASE_VALUE_NULL_VALUE==bs_vl){
		bs_vl=BASE_VALUE_MIN_VALUE;
	}

	if(MULTIPLE_NULL_VALUE==mltpl){
		mltpl=MULTIPLE_MIN_VALUE;
	}

	increase_triangle_t *p_increase_triangle=NULL;
	
	do{
		
		p_increase_triangle=(increase_triangle_t *)malloc(sizeof(increase_triangle_t));
		if(NULL==p_increase_triangle){
			printf("I'm %s() at %d in %s:malloc increase_triangle_t failed!\n",__func__,__LINE__,__FILE__);
			//return NULL;
			break;
		}
	
		set_layers(p_increase_triangle,lyrs);
		set_base_value(p_increase_triangle,bs_vl);
		set_multiple(p_increase_triangle,mltpl);
		p_increase_triangle->layer_index=NULL;
	
		layer_index_ret=layer_index_init(&p_increase_triangle->layer_index,lyrs);
		if(NULL==layer_index_ret){
			free(p_increase_triangle);
			p_increase_triangle=NULL;
			//return NULL;
			break;
		}

		layer_index_set(p_increase_triangle->layer_index,p_increase_triangle->base_value,p_increase_triangle->multiple);
		
	}while(0);
	
	return p_increase_triangle;
}