void Game::keyPressEvent(QKeyEvent *event) { if(event->type() == QKeyEvent::KeyPress) { switch (event->key()) { case Qt::Key_Left: countback=0; die=ifdie(); gameover(die); ifwin(); setthesame(); addLeftRow(); checkSame(); ui->score->setText(str); break; case Qt::Key_Right: countback=0; die=ifdie(); gameover(die); ifwin(); setthesame(); addRightRow(); checkSame(); ui->score->setText(str); break; case Qt::Key_Up: countback=0; die=ifdie(); gameover(die); ifwin(); setthesame(); addUpCol(); checkSame(); ui->score->setText(str); break; case Qt::Key_Down: countback=0; die=ifdie(); gameover(die); ifwin(); setthesame(); addDownCol(); checkSame(); ui->score->setText(str); break; } } }
int checkSame(FREE target, FREE X) { if(!X) return 0; if(target == X) return 1; else return checkSame(target,right(X)); }
/* * checkCotainedInList/checkSame - recursively defined procedure * which returns 1 if target is contained in the address_list * */ int checkContainedInList(FREE target) { return checkSame(target,address_list); }