示例#1
0
void NewScene::selectedEvent(Ref *pSender, ui::CheckBox::EventType type)
{
	Point origin = Director::getInstance()->getVisibleOrigin();
	Size visibleSize = Director::getInstance()->getVisibleSize();

	switch (type)
	{
	case cocos2d::ui::CheckBox::EventType::SELECTED:

		setScore(getScore() + 1);
		
		break;
	case cocos2d::ui::CheckBox::EventType::UNSELECTED:
		//log("checkbox deseleccionado");
		//i -=1;
		setScore(getScore() - 1);

		break;
	default:
		break;
	}



}
示例#2
0
void            SdlDisplay::sdlChangeEvent(bool multi)
{
    if (!gticks)
    {
        startticks = SDL_GetTicks();
        gticks = true;
    }
    if ((!p2score || p2score) && multi)
    {
        sdlDrawFont(114, 166, 65, 10, 570, fontscore, 30, setScore(score, "P1"));
        sdlDrawFont(114, 166, 65, 550, 570, fontscore, 30, setScore(p2score, "P2"));
    }
    if ((!score || score) && !multi)
    {
        sdlDrawFont(114, 166, 65, 10, 570, fontscore, 30, setScore(score, "P1"));
        sdlDrawFont(114, 166, 65, 650, 570, fontscore, 30, "Nibbler");
    }
    if (pause && !gameover)
    {
        sdlSetRect(&rtmp, 0, 0, 0, 0);
        SDL_BlitSurface(menu, NULL, screen, &rtmp);
    }
    if (gameover)
    {
        if (!pause)
        {
            son = Mix_LoadWAV("music/game-over.wav");
            Mix_PlayChannel(1, son, 0);
        }
        pause = true;
        sdlDrawFont(255, 255, 255, (WIDTH/2.5)-170, (HEIGHT/2.5)-100, FONT, 90, "GAMEOVER");
    }
}
示例#3
0
void GameScene::onTouchEnded(Touch* touch, Event* event)
{
    Point pos = touch->getLocation();
    SimpleGestures rtn = recognizer->endPoint(pos);
    switch (rtn) {
        case SimpleGesturesLeft:
            doLeft();
            doCheck();
            setScore(score);
            break;
        case SimpleGesturesRight:
            doRight();
            doCheck();
            setScore(score);
            break;
        case SimpleGesturesUp:
            doUp();
            doCheck();
            setScore(score);
            break; 
        case SimpleGesturesDown:
            doDown();
            doCheck();
            setScore(score);
            break;
        case SimpleGesturesNotSupport:
        case SimpleGesturesError:
            log("not support or error touch,use geometricRecognizer!!");
            break;
        default:
            break; 
    } 
} 
示例#4
0
void EnemyLayer::blowupEnemy(EnemySprite* pEnemySprite) {
	Animation *pAnimation = NULL;
	Sprite *pmsprite = NULL;
	char *buff = NULL;
	if (Enemy1 == pEnemySprite->getTag()) {
		buff = "a_001.png";
		pAnimation = AnimationCache::getInstance()->getAnimation("Enemy1Blowup");
		setScore(ENEMY1_SCORE);
	} else if (Enemy2 == pEnemySprite->getTag()) {
		buff = "b_001.png";
		pAnimation = AnimationCache::getInstance()->getAnimation("Enemy2Blowup");
		setScore(ENEMY2_SCORE);
	} else if (Enemy3 == pEnemySprite->getTag()) {
		buff = "d_00001.png";
		pAnimation = AnimationCache::getInstance()->getAnimation("Enemy3Blowup");
		setScore(ENEMY3_SCORE);
	} else {
		return;
	}
	pmsprite = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(buff));

	Point newPos = pEnemySprite->getcurPoint();
	Animate *pAnimate = Animate::create(pAnimation);
	pmsprite->setPosition(newPos);
	this->addChild(pmsprite);

	CallFuncN* mactiondone = CallFuncN::create(CC_CALLBACK_0(EnemyLayer::f_removemyAnimation, this, pmsprite));
	auto seq = Sequence::create(pAnimate, mactiondone, NULL);
	pmsprite->runAction(seq);
	removeEnemy(pEnemySprite);
	updateScore(m_score);
}
示例#5
0
void		SdlDisplay::sdlSetHighscore(const char *file, bool multi)
{
    std::ofstream outfile(file, std::ios_base::out | std::ios_base::app);

    if (multi)
        if (!score && !p2score)
            return;
        else
            outfile << setScore(score, "P1") << setScore(p2score, "P2");
    else if (!score && !p2score)
        return;
    else
        outfile << setScore(score, "P1");
    outfile.close();
}
void GameNewLinker::getScoreByStar() {
    std::vector<int>animalUnLink;
    //未连接的图像数组
    for (int i = 0; i < AnimalList.size(); i++) {
        if (AnimalList[i] -> getLinkStatus()) {
            bool wellPush = true;
            for (int j = 0; j < animalUnLink.size(); j++) {
                if (animalUnLink[j] == AnimalList[i] -> getItemType()) {
                    wellPush = false;
                }
            }
            if (wellPush) {
                animalUnLink.push_back(AnimalList[i] -> getItemType());
            }
        }
    }
    for (int i = 0; i < animalUnLink.size(); i++) {
        batter++;
        if (batter > bigestBatter) {
            bigestBatter = batter;
        }
        allbatter ++;
        if (animalUnLink[i] == Box_5w) {
            score += 50000;
            setScore((long)score);
        }
        setScore_link();
    }
}
void GameNewLinker::setScore_link() {
    int link_score = 50 * batter;
    int points_score = pointsCount * 100 + 100;
    int allscore = (link_score + points_score) * gameBatterType;
    score += allscore;
    setScore((long)score);
}
示例#8
0
PlayPanel::PlayPanel(QWidget* parent)
   : QWidget(parent, Qt::Dialog)
      {
      cachedTickPosition = -1;
      cachedTimePosition = -1;
      cs                 = 0;
      setupUi(this);
      setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);

      QSettings settings;
      restoreGeometry(settings.value("playPanel/geometry").toByteArray());
      move(settings.value("playPanel/pos", QPoint(DEFAULT_POS_X, DEFAULT_POS_Y)).toPoint());

      setScore(0);
      playButton->setDefaultAction(getAction("play"));
      rewindButton->setDefaultAction(getAction("rewind"));
      metronomeButton->setDefaultAction(getAction("metronome"));
      loopButton->setDefaultAction(getAction("loop"));
      loopInButton->setDefaultAction(getAction("loop-in"));
      loopOutButton->setDefaultAction(getAction("loop-out"));

      connect(volumeSlider, SIGNAL(valueChanged(double,int)), SLOT(volumeChanged(double,int)));
      connect(posSlider,    SIGNAL(sliderMoved(int)),         SLOT(setPos(int)));
      connect(tempoSlider,  SIGNAL(valueChanged(double,int)), SLOT(relTempoChanged(double,int)));
      connect(seq,          SIGNAL(heartBeat(int,int,int)),   SLOT(heartBeat(int,int,int)));
      }
示例#9
0
void PlayLayer::explodeSushi(SushiSprite *sushi)
{
	//log("explodeSushi ture");
    float time = 0.3;
    
    // 1. action for sushi
    sushi->runAction(Sequence::create(
                                      ScaleTo::create(time, 0.0),
                                      CallFunc::create(CC_CALLBACK_0(Sprite::removeFromParent, sushi)),
                                      NULL));
	
    // 2. action for circle
    auto circleSprite = Sprite::create("circle.png");
	addChild(circleSprite, 10);
	circleSprite->setPosition(sushi->getPosition());
	circleSprite->setScale(0);// start size
    circleSprite->runAction(Sequence::create(ScaleTo::create(time, 1.0),
                                             CallFunc::create(CC_CALLBACK_0(Sprite::removeFromParent, circleSprite)),
                                             NULL));

    // 3. particle effect
	auto particleStars = ParticleSystemQuad::create("stars.plist");
    particleStars->setAutoRemoveOnFinish(true);
	particleStars->setBlendAdditive(false);
	particleStars->setPosition(sushi->getPosition());
	particleStars->setScale(0.3);
    addChild(particleStars, 20);

	//消除加分
	setScore();
}
示例#10
0
Score::Score()
    : TextItem((BRICK_WIDTH * WIDTH)/6, qRound(BRICK_HEIGHT * 1.5))
{
    moveTo(0, - (height * 1.2));
    
    setScore(0);
}
示例#11
0
void PlayScene::update(float delta)
{
    counter += 1;
    if (counter == 14) {
        counter = 0;
        jumped = false;
    }
    if (counter % 2 == 1) {
        characterLayer->enterFrame(counter / 2);
    }
    if ((!jumped && counter == 12 && postkun->isJump)
            || (!jumped && counter == 13 && postkun->isJump)) {
        jumped = true;
        score++;
        auto str = StringUtils::format("score:%d", score);
        scoreLabel->setString(str);
    }

    if (!jumped && counter == 13) {
        // over
        auto scene = GameOverScene::createScene();
        auto over = (GameOverScene*)scene->getChildByName("GameOverLayer");
        over->setScore(score);
        Director::getInstance()->replaceScene(scene);
    }
}
示例#12
0
void Enemy::destory( )
{

	if(hp <= 0){

		//explosion effect  flame
		auto effect = Effect::CreateEffect( );
		effect->explosion(gameStage, this->getPosition( ));

		//explosion effect of particle


		auto config = Config::getInstance( );
		if(config->geteffectState( ))
		{
			SimpleAudioEngine::getInstance( )->playEffect( ship_explode_effect0 );
		}
	
		config->setScore( config->getScore( ) + score );

		//log("current get score is :%d",config->getScore  () );
	
		this->unschedule(schedule_selector( Enemy::fire ) );
		this->removeFromParent( );
	}
}
示例#13
0
void HumanConsole::restart() {
    timeCount = 0;
    lastMove = 0;
    lastSpeedup = -1000;
    running = false;

    keyUp = keyDown = keyLeft = keyRight = false;
    keyShift = keyZ = keyX = false;

    gameInfo.gameStatus = INIT;
    gameInfo.score = gameInfo.round = 0;
    gameInfo.planeX = PLANE_INIT_X;
    gameInfo.planeY = PLANE_INIT_Y;
    gameInfo.planeSkillsNum = 0;

    string bossName;
    init(bossName);
    emit setBossName(QString(bossName.c_str()));
    emit setPlayerName(QString("Human"));
    emit setTime(0);
    emit setScore(0);
    emit setValue1(0);
    emit setValue2(0);

    gameCenter->init(QPointF(gameInfo.planeX, gameInfo.planeY), QPointF(BULLET_X, BULLET_Y));
}
示例#14
0
void GameLayer::restart() {
    
    setScore(0);
    resetCollisions();
    resetRole();
    beginCountdown(3);
}
示例#15
0
Cursor::Cursor(Score* s)
   : QObject(0)
      {
      _track   = 0;
      _segment = 0;
      setScore(s);
      }
示例#16
0
CDGNode *getTopPath(CDGNode * node, Stack * changedNodes, Stack * changedBranches) {
  CDGNode *pathNode = newBlankNode();
  CDGNode *temp = pathNode;
  int branch;
  while (node) {
    if (0 != getScore(node)) {
      stackPush(changedNodes, &node);
      branch = getOutcome(node);
      stackPush(changedBranches, &branch);
      if (isLeaf(node)) {
	setScore(node, 0);
      } else {
	setNextNode(temp, copyToPathNode(newBlankNode(), node));
	temp = getNextNode(temp);
	if (getOutcome(node)) {
	  setBranchInfo(getID(node), 1, getBranchInfo(getID(node), 0));
	  setTrueNodeSet(temp, getTopPath(getTrueNodeSet(node), changedNodes, changedBranches));
	} else {
	  setBranchInfo(getID(node), getBranchInfo(getID(node), 1), 1);
	  setFalseNodeSet(temp, getTopPath(getFalseNodeSet(node), changedNodes, changedBranches));
	}
      }
    }
    node = getNextNode(node);
  }
  if (temp == pathNode) {
    deleteNode(pathNode);
    pathNode = NULL;
  } else {
    temp = pathNode;
    pathNode = getNextNode(pathNode);
    deleteNode(temp);
  }
  return pathNode;
}
示例#17
0
文件: game.cpp 项目: Shiryu/Flocks
void Game::updateGameInfos(int nbLinesDeleted)
{
	setLinesCompleted(getLinesCompleted() + nbLinesDeleted);
	setLevel(computeLevel());
	setFallIterationDelay(computeFallIterationDelay());
	setScore(computeScore(nbLinesDeleted) + getScore());
}
示例#18
0
文件: snake.cpp 项目: Camelek/qtmoko
void Snake::detectCrash()
{
    QAnimatedPixmapItem* head = snakelist.first();
    QList<QGraphicsItem *> l = head->collidingItems();
    for (QList<QGraphicsItem *>::Iterator it=l.begin(); it!=l.end(); ++it) {
        QGraphicsItem* item = *it;
        // check if snake ate a mouse
        if ( item->type() == mouse_rtti && item->collidesWithItem(head) ) {
            delete item;
            emit ateMouse();
            grow++;   // make the snake grow the next time it moves
            setScore(5);
            return;
        }
        // check if snake hit a wall
        if ( item->type() == wall_rtti && item->collidesWithItem(head) ) {
            emit dead();
            autoMoveTimer->stop();
            return;
        }
    }
    // check if snake hit itself
    for (int i = 3; i < snakelist.count(); i++) {
        if (head->collidesWithItem(snakelist.at(i)) ) {
            emit dead();
            autoMoveTimer->stop();
            return;
        }
    }
}
示例#19
0
void GameScene::onTouchEnded(Touch* touch, Event* event)
{
	//得到触摸结束时坐标
	Point endTouch = touch->getLocation();  //获取OpenGL坐标,以左下角为原点
	//计算手指在X,Y移动的距离
	endX = beginX - endTouch.x;
	endY = beginY - endTouch.y;
	if (abs(endX) > abs(endY))
	{
		//如果X轴移动的距离大于Y轴,则是左右移动
		if (endX + 5 > 0)
		{
			//向左移动
			doLeft();
			createCardNumber();
			doCheck();
			setScore(score);
		}
		else
		{
			//向右移动
			doRight();
			createCardNumber();
			doCheck();
			setScore(score);
		}
	}
	else //否则是上下移动
	{
		if (endY + 5 > 0)
		{
			//向下移动
			doDown();
			createCardNumber();
			doCheck();
			setScore(score);
		}
		else
		{
			//向上移动
			doUp();
			createCardNumber();
			doCheck();
			setScore(score);
		}
	}
}
示例#20
0
void ib::Completer::completeCommand(std::vector<ib::CompletionValue*> &candidates, const std::string &value){ // {{{
  auto controller = ib::Singleton<ib::Controller>::getInstance();
  method_command_->beforeMatch(candidates, value);
  double score;

  if(candidates.size() == 0){
    for(auto &pair : controller->getCommands()) {
      pair.second->setScore(0.0);
      score = method_command_->match(pair.second->getName(), value);
      if(score > -1) {
        pair.second->setScore(score);
        candidates.push_back(pair.second);
      }
    }
  }else{
    for(auto it = candidates.begin(); it != candidates.end();){
      auto base_command = dynamic_cast<ib::BaseCommand*>(*it);
      if(base_command != nullptr){
        base_command->setScore(0.0);
        score = method_command_->match(base_command->getName(), value);
        if(score > -1){
          base_command->setScore(score);
          ++it;
          continue;
        }
      }
      it = candidates.erase(it);
    }
  }

  auto history = ib::Singleton<ib::History>::getInstance();
  const auto average = history->getAverageScore();
  const auto se      = history->calcScoreSe();
  const auto hfactor  = ib::Singleton<ib::Config>::getInstance()->getHistoryFactor();
  const auto rfactor  = 1 - hfactor;

  for(const auto &candidate : candidates) {
    auto *base_command = dynamic_cast<ib::BaseCommand*>(candidate);
    if(base_command != nullptr) {
      const auto hist_score = history->calcScore(base_command->getName(), average, se);
      base_command->setScore(base_command->getScore()*rfactor + hist_score * hfactor);
    }
  }

  method_command_->afterMatch(candidates, value);
} // }}}
示例#21
0
Ship::Ship(unsigned int w, unsigned int h, unsigned int hp, unsigned int score, unsigned int flag) {
	setW(w);
	setH(h);
	setHp(hp);
	setScore(score);
	setFlag(flag);
	return ;
}
示例#22
0
Ship::Ship(void){
	setW(0);
	setH(0);
	setHp(1);
	setScore(0);
	setFlag(0);
	return ;
}
示例#23
0
// Constructor
Team::Team(const char *name, F32 r, F32 g, F32 b, S32 score)
{
   initialize();

   setName(name);
   setColor(r, g, b);
   setScore(score);
}
示例#24
0
Cursor::Cursor(Score* s)
   : QObject(0)
      {
      _track   = 0;
      _segment = 0;
      _filter  = SegmentType::ChordRest;
      setScore(s);
      }
示例#25
0
文件: mode.cpp 项目: Shiryu/Flocks
void Ultra::play()
{
	float volume = 0.0;
	FMOD_Channel_SetVolume(musicChannel, 1.0);
	FMOD_Channel_GetVolume(musicChannel, &volume);
	
	fout << volume << std::endl;
	
	playMusic(ultraMusic);
	
	setCurrentGamePiece(createNewPiece());
	setNextPiece(createNewPiece());
	
	enableCurrentPiece();
	
	setLinesCompleted(0);
	setLevel(1);
	setFallIterationDelay(computeFallIterationDelay());
	setScore(0);
	setState(RUNNING);
	
	sf::Clock fallingClock;
	fallingClock.Reset();
	
	float currentTime = 0, precTime = 0;
	
	while(renderArea->IsOpened())
	{
		if(getState() == PAUSED)
		{
			setBackground(PAUSE_IMG);
			
			timer.pause();
			
			if(handlePauseInput() == RETURN_MAIN)
				return;
		}
		else
		{
			timer.start();
			currentTime = fallingClock.GetElapsedTime();
			
			handleTimerInput(currentTime, precTime);
			
			handleUserInput();
			
			if(Game::gameOver() || timeElapsed())
			{
				if(handleGameOverInput() == RETURN_MAIN)
					return;
			}
			else
				render();
		}
		
		renderArea->Display();
	}
}
示例#26
0
void GameController::enterLevel( int level )
{
	LevelConfiguration* config = getLevelConfig(level);

	this->level = level;

	setScore(0);
	mainScene->startPlay(config);
}
示例#27
0
void UserData::addScore(int var)
{
	setScore(getScore() + var);
	if (getScore() > getBestScore())
	{
		setBestScore(getScore());
	}
	saveData();
}
示例#28
0
void GameScene::restart() {
    setScore(0);
    setTimeLeft(kGameSessionTime);

    _field->shuffle();
    _restartLabel->setHidden(true);

    _gameOver = false;
}
示例#29
0
//Constructor
Log::Log()
{
	//Initialize the member variable
	pos = 0; 
	filename = "UserInfo.txt";//Usually not changed
	username = "******";//Default username
	password = "******";//Default password
	setScore(0);//Initialize "score" and "score5"
}
示例#30
0
文件: liveinfo.cpp 项目: kmar/livius
// set player name
void LiveInfo::setPlayer( int color, const QString &txt )
{
	(color == cheng4::ctWhite ? ui->engineLabel : ui->engineLabel_2)->setText( txt );
	// reset engine stats
	setDepth( color, 0 );
	setScore( color, 0 );
	setNodes( color, 0, 0 );
	setPV( color, QString() );
}