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); } } }
/* Initialize mini-toolbar */ void VBoxMiniToolBar::initialize() { /* Resize to sizehint: */ resize(sizeHint()); /* Update geometry: */ moveToBase(); }
/* 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); }
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(); } }