int GameSelectWorld::getGameNumber(Room *room)
{
    NumberObject *first = NULL, *second = NULL;
    int gameNumber = 0;

    for (UINT i=0; i<room->getObjects()->length(); i++)
    {
        if ( (first != NULL) && (second != NULL) )
            break;
        GameObject *object = (GameObject *)(room->getObjects()->elementAt(i));
        if ( (object->getType() == GameObject::GAMEOBJECT_TYPE_NUMBER) &&
                (object->getIsBeingHeld() == FALSE) )
        {
            if (first != NULL)
                second = (NumberObject *)object;
            else
                first = (NumberObject *)object;
        }
    }
    if (first != NULL)
    {


        if (second == NULL)
        {
            gameNumber = first->getNumber();
        }
        else
        {
            // the game number is the number as readable on screen (ignoring vertical
            // position)
            if (first->getX() < second->getX())
                gameNumber = ( first->getNumber() * 10 ) + second->getNumber();
            else
                gameNumber = ( second->getNumber() * 10 ) + first->getNumber();
        }
    }
    return gameNumber;

}