Exemple #1
0
int ttt<DEBUG>::moveRandom()
{
	int		i, j, play, row, col;
	std::uniform_int_distribution<int> randomPlay(0, 8);

	if(DEBUG) { std::cout << "ttt<DEBUG>::moveRandom();" << std::endl; }
	if(gameWon() > 0) return(-1);
	while(true) {
		play = randomPlay(mt);
		row = play % 3; 
		col = play / 3;
		if(board[col][row] == ' ') break;
	}
	board[col][row] = (turn++ % 2 == 0 ? 'X' : 'O');
//	history.push_back(board);
	return(0);
}
Exemple #2
0
//--------------------------------------------------------------
void testApp::update(){
   
    /// SPHERES UPDATE  ///
       
    for (int i = 0; i < redObjects.size(); i++) {
        
        //individual noise
        
        float time = ofGetElapsedTimef();
        float timeScale = 5.0;
        float displacementScale = 2.75;
        
        ofVec3f timeOffsets = noiseObjects[i];
        
        redObjects[i].point.x += (ofSignedNoise(time * timeScale + timeOffsets.x)) * displacementScale;
        redObjects[i].point.y += (ofSignedNoise(time * timeScale + timeOffsets.y)) * displacementScale;
        redObjects[i].point.z += (ofSignedNoise(time * timeScale + timeOffsets.y)) * displacementScale;
        
        redObjects[i].update();
               
    }
    
    redObjects[counterObject].colorChange.set(0, 255, 180, 90);
    
    if (counterObject == redObjects.size()) {
        
        counterObject = 0;
    }
    
    
    //cout << redObjects.size() << endl;
    
    ///     AUDIO UPDATE    ///
    introVolume += 0.01;
    
    mixer.setOutputVolume(introVolume);

    if (introVolume >= 0.90) {
        introVolume = 0.95;
    }
    
    //MODE
    
    if (generativeMode == true) {

        randomPlay();
        modeColor = redObjects[0].colorChange;
        indicator = "on";
        
    } else if (!generativeMode) {
        
        modeColor = ofColor::black;
        indicator = "off";
    
    }
    ///     INTERACTION UPDATE     ///
    ///Trigger samples by movement
    
    moveHand.update();
    
    
     //Use the most left, middle, and right zones of screen
    if (moveHand.zone[0] >= 500) {
        
        triggerSample();
        reactiveCircle.set(0, 255, 180, 90);
        moveHand.zone[0] = 0;
        
        }
        else
        {
        reactiveCircle = redObjects[0].colorChange;
        }
    

}