void ColoredCubeApp::updateScene(float dt) { D3DApp::updateScene(dt); float gameTime = mTimer.getGameTime(); if (gameTime > 1.0f && !gameOver) { ////// New Stuff added by Steve ////// player.move(dt); player.update(dt); //new clustered cube code floorMovement += floor.getSpeed() * dt; if (floorMovement > clusterSeparation) { floorMovement = 0.0f; setNewObstacleCluster(); floorClusterCounter++; } if (floorClusterCounter > floorClusterThreshold) { floorClusterCounter = 0; floor.addSpeed((float)floorSpeedIncrease); clusterSeparation--; cubeSeparation--; if (cubeSeparation < 12) cubeSeparation = 12; if (clusterSeparation < cubeSeparation * (clusterSize + clusterSizeVariation / 2)) clusterSeparation = cubeSeparation * (clusterSize + clusterSizeVariation / 2); } for (int i = 0; i < numberOfObstacles; i++) { obstacles[i].setSpeed(floor.getSpeed()); float zPos = obstacles[i].getPosition().z; if (zPos > 100 && zPos < 130) for (int f=0; f<floor.size(); ++f) { if (floor.section(f).contains(Vector3(0, -2, zPos))) { DXColor compliment = floor.section(f).colorAtPoint(zPos); compliment.r = 1.0f - compliment.r; compliment.g = 1.0f - compliment.g; compliment.b = 1.0f - compliment.b; obstacles[i].setColor(compliment); break; } } obstacles[i].update(dt); if (player.isWithin(12.0f, &obstacles[i])) { if (player.collided(&obstacles[i])) { gameOver = true; audio->playCue(GAME_OVER); } } } for(int i = 0; i < 6; i++) { spectrum[i].update(dt); } float cursorPos = player.getWheelVal(); cursor.setPosition(Vector3(10.2f,24.0f,-5.0f) + 2*Vector3(cursorPos, 0.0f, 0.0f)); cursor.update(dt); xLine.update(dt); yLine.update(dt); zLine.update(dt); ////////////////////////////////////// // Floor test code // /*for (int i=0; i<floor.size(); ++i) { floor[i].update(dt); float zPos = floor[i].getPosition().z; if (zPos < -50) floor[i].setPosition(Vector3(0, -2, zPos + floor.size() * floorSectionLength)); }*/ //Changes By: Daniel J. Ecker } floor.update(dt); // Build the view matrix. D3DXVECTOR3 pos(0.0f,45.0f,-50.0f); D3DXVECTOR3 target(0.0f, 0.0f, 0.0f); D3DXVECTOR3 up(0.0f, 1.0f, 0.0f); D3DXMatrixLookAtLH(&mView, &pos, &target, &up); input->clearAll(); }