Example #1
0
position Maze::get_opp_side(position p){
	if (!edge_condition(p)){
		if (data[p + 1] == SPACE) return p - 1;
		if (data[p - 1] == SPACE) return p + 1;
		if (data[p + m_size] == SPACE) return p - m_size;
		if (data[p - m_size] == SPACE) return p + m_size;
	}
	return 0;
}
Example #2
0
int body_of_program (struct field **space_array, 
			struct field **array_b, 
			struct config_info *info)
{

	
	
	if (cp_array (space_array,array_b) < 0) {
		exit(-2);
		printf("F*ck! \n");
	}	
	
	
	if (info->edge_conditions == 0)
		edge_condition(array_b);
	else edge_cond_sample(array_b,info->edge_conditions);

	
	climate_change(space_array, array_b);
	status(space_array, array_b,info);
	
	return 0;
}
Example #3
0
void Maze::AddWall(position place){
	if (!edge_condition(place) && !In_wall_list(place) && data[place] != SPACE)
		m_wall_list.push_back(place);
}
Example #4
0
void Maze::AddSpace(position place){
	if (!edge_condition(place)) data[place] = SPACE;
}