int checkForWin(Board* board, int pieceValue) { int matches = 0, topPiece, i, win = 0; for (i = 0; i < board->dimension; i++) { topPiece = findTopPiecePosition(board, i); if (board->rows[topPiece].squares[i] == 0) { continue; } else { if(i >= 3) { // look left matches = searchHorizontally(board, pieceValue, DIR_LEFT, topPiece, i); if(matches == 4) return 1; matches = 0; // down - left if(topPiece <= (board->dimension - 1) - 3) { matches = searchDiagonally(board, pieceValue, DIR_LEFT, topPiece, i); if(matches == 4) return 1; matches = 0; } // down - right if(topPiece != board->dimension - 1) { matches = searchDiagonally(board, pieceValue, DIR_RIGHT, topPiece, i); if(matches == 4) return 1; matches = 0; } } // right-most column if(i <= (board->dimension - 1) - 3) { // look right matches = searchHorizontally(board, pieceValue, DIR_RIGHT, topPiece, i); if(matches == 4) return 1; matches = 0; // up - right if(topPiece != 0) { } //down - right if(topPiece != board->dimension - 1) { } } if(topPiece <= (board->dimension - 1)) { matches = searchDown(board, pieceValue, topPiece, i); if(matches == 4) return 1; matches = 0; } } } win = matches; return win; }
Radio::Radio() { radio = new QRadioTuner; connect(radio,SIGNAL(frequencyChanged(int)),this,SLOT(freqChanged(int))); connect(radio,SIGNAL(signalStrengthChanged(int)),this,SLOT(signalChanged(int))); connect(radio, SIGNAL(error(QRadioTuner::Error)), this, SLOT(error(QRadioTuner::Error))); if(radio->isBandSupported(QRadioTuner::FM)) radio->setBand(QRadioTuner::FM); QWidget *window = new QWidget; QVBoxLayout* layout = new QVBoxLayout; QHBoxLayout* buttonBar = new QHBoxLayout; #if defined Q_OS_SYMBIAN // this is so that we can see all buttons also in 3.1 devices, where the screens are smaller.. QHBoxLayout* buttonBar2 = new QHBoxLayout; #endif QHBoxLayout* topBar = new QHBoxLayout; layout->addLayout(topBar); freq = new QLabel; freq->setText(QString("%1 kHz").arg(radio->frequency()/1000)); topBar->addWidget(freq); signal = new QLabel; if (radio->isAvailable()) signal->setText(tr("No Signal")); else signal->setText(tr("No radio found")); topBar->addWidget(signal); #if defined Q_WS_MAEMO_5 QSpacerItem *spacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); topBar->addItem(spacer); volumeSlider = new QSlider(Qt::Horizontal,this); #else volumeSlider = new QSlider(Qt::Vertical,this); #endif volumeSlider->setRange(0,100); volumeSlider->setValue(50); connect(volumeSlider,SIGNAL(valueChanged(int)),this,SLOT(updateVolume(int))); topBar->addWidget(volumeSlider); layout->addLayout(buttonBar); #if defined Q_OS_SYMBIAN layout->addLayout(buttonBar2); #endif searchLeft = new QPushButton; searchLeft->setText(tr("scan Down")); connect(searchLeft,SIGNAL(clicked()),SLOT(searchDown())); buttonBar->addWidget(searchLeft); left = new QPushButton; left->setText(tr("Freq Down")); connect(left,SIGNAL(clicked()),SLOT(freqDown())); #if defined Q_OS_SYMBIAN buttonBar2->addWidget(left); #else buttonBar->addWidget(left); #endif right = new QPushButton; connect(right,SIGNAL(clicked()),SLOT(freqUp())); right->setText(tr("Freq Up")); #if defined Q_OS_SYMBIAN buttonBar2->addWidget(right); #else buttonBar->addWidget(right); #endif searchRight = new QPushButton; searchRight->setText(tr("scan Up")); connect(searchRight,SIGNAL(clicked()),SLOT(searchUp())); buttonBar->addWidget(searchRight); window->setLayout(layout); setCentralWidget(window); window->show(); radio->start(); }