Ejemplo n.º 1
0
void Labyrinth::openDoor(const QPoint& out, const QPoint& in) {
    auto isOutside([this](const QPoint& p)->bool{ return p.x() >= __size.width() || p.x() < 0 || p.y() >= __size.height() || p.y() < 0; });
    if (isOutside(in)) {
        __data.addEdge(toId(out), __data.size() - 1);
    } else if(isOutside(out)) {
        __data.addEdge(__data.size() - 1, toId(in));
    }else {
        __data.addEdge(toId(out), toId(in));
    }
}
Ejemplo n.º 2
0
/**
 * @brief QBsonValue::toString return the value as string. If QBsonValue is
 * invalid or could not convert to String then an empty QString is returned.
 * @see QVariant::toString()
 * @return QString
 */
QString QBsonValue::toString() const
{
    if (isValid()) {
        switch(data->type) {
            case QBsonValue::Id:
                return toId().toString();
            default: {
                if (data->v.canConvert(QVariant::String)) {
                    return data->v.toString();
                }
            }
        }
    }
    return QString();
}
Ejemplo n.º 3
0
template<class T> deque<T> Tree<T>::travelDfs(){
	deque<T> retv;

	retv.push_back(*node);
	cout << toId() << ",";

	if(isLeaf()){
	}else{
		for(int i=0;i<m_childs->size();i++){
			Tree& ti = (*m_childs)[i];
			deque<T> temp = ti.travelDfs();
			retv.insert(retv.end(),temp.begin(),temp.end());
		}
	}
	return retv;
}
Ejemplo n.º 4
0
void Labyrinth::closeDoor(const QPoint& out, const QPoint& in) {
    __data.rendEdge(toId(out), toId(in));
}