Пример #1
0
bool PulucGame::nextMove(int from, bool direction)
{
    int nextColumn;
    
    if(from == -1)//pass
        return true;
    
    if(from == 0)
    {
        int to = lastDiceRoll;
        
        if(currentPlayer == 2)//move player to up
            to = 11 - lastDiceRoll;
        
        return moveFromBase(to);
    }
    
    if(direction)//move up
    {
        nextColumn = from - lastDiceRoll;
        
        if(nextColumn < 1)
        {
            if(currentPlayer == 1 && board.getColumnPlayer(from) == currentPlayer)//move to player 1 base
            {
                moveToBase(from);
                return true;
            }
            else//wrap player 2 and move back down
               return moveFromColumn(from, (nextColumn * -1) + 2); 
        }
        else//move to next column
        {
            return moveFromColumn(from, nextColumn);
        }
    }
    else//move down
    {
        nextColumn = from + lastDiceRoll;
        
        if(nextColumn > 10)
        {
            if(currentPlayer == 2 && board.getColumnPlayer(from) == currentPlayer)//move to player 2 base
            {
                moveToBase(from);//
                return true;
            }
            else//wrap player 1 and move up
               return moveFromColumn(from, from -(nextColumn - 11)); 
        }
        else//move to next column
        {
            return moveFromColumn(from, nextColumn);
        }
    }
}
Пример #2
0
/* Initialize mini-toolbar */
void VBoxMiniToolBar::initialize()
{
    /* Resize to sizehint: */
    resize(sizeHint());

    /* Update geometry: */
    moveToBase();
}
Пример #3
0
/* Parent widget event-filter */
bool VBoxMiniToolBar::eventFilter(QObject *pObject, QEvent *pEvent)
{
    /* If parent widget was resized: */
    if (pObject == parent() && pEvent->type() == QEvent::Resize)
    {
        /* Update toolbar position: */
        moveToBase();
        return true;
    }
    /* Base-class event-filter: */
    return UIToolBar::eventFilter(pObject, pEvent);
}
Пример #4
0
void VBoxMiniToolBar::updateDisplay(bool fShow, bool fSetHideFlag)
{
    m_iAutoHideCounter = 0;

    setMouseTrackingEnabled(m_fAutoHide);

    if (fShow)
    {
        if (isHidden())
            moveToBase();

        if (m_fAnimated)
        {
            if (fSetHideFlag)
            {
                m_fHideAfterSlide = false;
                m_fSlideToScreen = true;
            }
            if (m_fActive)
                show();
            m_scrollTimer.start(m_iScrollDelay, this);
        }
        else if (m_fActive)
            show();

        if (m_fAutoHide)
            m_autoScrollTimer.start(m_iAutoScrollDelay, this);
        else
            m_autoScrollTimer.stop();
    }
    else
    {
        if (m_fAnimated)
        {
            if (fSetHideFlag)
            {
                m_fHideAfterSlide = true;
                m_fSlideToScreen = false;
            }
            m_scrollTimer.start(m_iScrollDelay, this);
        }
        else
            hide();

        if (m_fAutoHide)
            m_autoScrollTimer.start(m_iAutoScrollDelay, this);
        else
            m_autoScrollTimer.stop();
    }
}