Exemplo n.º 1
0
bool GameScene::init() {
    if (!Layer::init()) {
        return false;
    }

    mBestScoreCache = UserDefault::getInstance()->getIntegerForKey(KEY_BEST_SCORE, 0);

    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    Size visibleSize = Director::getInstance()->getVisibleSize();

    auto background = LayerColor::create(Color4B(180, 170, 160, 255));
    this->addChild(background);

    MenuItemFont::setFontName("Consolas");
    MenuItemFont::setFontSize(80);
    auto menuItemRestart = MenuItemFont::create("RESTART",
            CC_CALLBACK_1(GameScene::onReStart, this));
    auto menuItemExit = MenuItemFont::create("EXIT",
            CC_CALLBACK_1(GameScene::onExit, this));
    auto menu = Menu::create(menuItemExit, menuItemRestart, nullptr);
    menu->setColor(Color3B(0, 255, 255));
    menu->alignItemsVertically();
    const float xPos = origin.x + visibleSize.width
            - menuItemRestart->getContentSize().width / 2.0f - 20.0f;
    menu->setPosition(
            Point(xPos, origin.y + visibleSize.height / 2.0f + 150.0f));
    this->addChild(menu);

    auto scoreTitle = Label::createWithSystemFont("SCORE", "Consolas", 80);
    scoreTitle->setPosition(
            Point(xPos, origin.y + visibleSize.height / 2.0f - 50.0f));
    this->addChild(scoreTitle);

    mScore = 0;
    mScoreLabel = Label::createWithSystemFont("0", "Consolas", 80);
    mScoreLabel->setPosition(
            Point(xPos, origin.y + visibleSize.height / 2.0f - 150.0f));
    this->addChild(mScoreLabel);

    // enable touch event
    this->setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
    this->setTouchEnabled(true);

    createEmptyCards(origin, visibleSize);

    generateCard(false);
    generateCard(false);

    return true;
}
Exemplo n.º 2
0
void GameScene::restartGame() {
    for (int y = 0; y < 4; ++y) {
        for (int x = 0; x < 4; ++x) {
            mCards[x][y]->setNumber(0);
        }
    }

    mIsGameOver = false;
    mLargestNumber = 0;
    mScore = 0;
    updateScoreLabel();

    generateCard(false);
    generateCard(false);
}
int main(){
  char r;
  do{
    char x;
    system("cls");
    printf("Guess the Card\n");
    printf("==============\n\n");
    printf("Please choose a card in your mind...\n");
    generateCard();
    viewCard();
    read(&r);
    arrangeCard();
    viewCard();
    read(&x);
    x += 2*(x - 1) + r;
    arrangeCard();
    viewCard();
    read(&r);
    printf("\nYour Card is %s, right? ^_^", card[x-2][r-1]);
    printf("\n\nWanna try again? [Y/N] ");
    do{
      r=getch();
    }while(r!='Y' && r!='y' && r!='n' && r!='N');
  }while(r=='Y' || r=='y');
  return 0;
}
Exemplo n.º 4
0
void GameScene::onTouchEnded(Touch* touch, Event* event) {
    if (isWin() || isGameOver()) {
        return;
    }

    GestureDetector::GestureType gesture = mGestureDetector.endPoint(touch->getLocation());
    bool gestureValid = true;
    bool moved = false;
    switch (gesture) {
    case GestureDetector::MoveLeft:
        moved = moveLeft();
        break;
    case GestureDetector::MoveRight:
        moved = moveRight();
        break;
    case GestureDetector::MoveUp:
        moved = moveUp();
        break;
    case GestureDetector::MoveDown:
        moved = moveDown();
        break;
    case GestureDetector::Unknown:
    default:
        gestureValid = false;
        break;
    }

    if (gestureValid) {
        if (moved) {
            generateCard(true);
            CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(
                    MOVE_SUCESS_SOUND, false);
        } else {
            CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(
                    MOVE_FAILED_SOUND, false);
        }
        doCheck();
    }
}
Exemplo n.º 5
0
int BingoApp::generate()
{
	// Card svg file
	QFile cardSvgFile(cardSvgFilename);
	if ( ! cardSvgFile.open(QIODevice::Text | QIODevice::ReadOnly) )
		{ cerr << "bingo: could not open " << cardSvgFilename << endl; return 20; }

	// Load symbols file and generate calling card if asked
	if (int result = loadSymbols() ) return result;
	if (int result = generateCallingCard() ) return result;

	// Actual processing
	cout << "Generating " << numberCardsToGenerate << " bingo cards...\n";
	QTextStream cardSvg(&cardSvgFile);
	for ( size_t i = 1; i <= numberCardsToGenerate; ++i )
	{
		if (int result = generateCard(cardSvg, i)) return result;
		cardSvg.seek(0);
	}

	cout << "Done\n";
	return 0;
}