Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Не важно
- int score = 0;
- //Не важно
- void gameController::mainloop()
- {
- //Не важно
- //go through the linked list
- while(next)
- {
- prev[X_] -= next->move.x;
- prev[Y_] -= next->move.y;
- prev[Z_] -= next->move.z;
- //draw each body part
- opengl->drawCubeCellsDelta(
- prev[X_],
- prev[Y_],
- prev[Z_],
- next->move.x*(float)frames/FRAMES_PER_STEP * ((animooted)?1.0f:0), //animate if enabled
- next->move.y*(float)frames/FRAMES_PER_STEP * ((animooted)?1.0f:0),
- next->move.z*(float)frames/FRAMES_PER_STEP * ((animooted)?1.0f:0)
- );
- next = playerSnake->getNext(next);
- //Where we can fail
- if (playerPos[X_] == prev[X_] &&
- playerPos[Y_] == prev[Y_] &&
- playerPos[Z_] == prev[Z_])
- {
- if (failFlag == false)
- {
- std::cout << "\nYou failed. Total Score: " << score-1;
- opengl->DisableOpenGL();
- failFlag = true;
- }
- //window->quit();
- }
- }
- //draw the fruit
- if(fruitPos[X_] != 100)
- {
- opengl->drawCubeCells(fruitPos[X_], fruitPos[Y_], fruitPos[Z_]);
- }
- frames++;
- //loadBand(2000);
- opengl->enddraw();
- //wait until fixed frame time is reached
- float fps = (float)loopTimer.getTicksRate().QuadPart/loopTimer.getTime().QuadPart;
- if(fps > fixedFPS)
- {
- waiter(long(loopTimer.getTicksRate().QuadPart/fixedFPS - loopTimer.getTime().QuadPart));
- }
- //fps = (float)loopTimer.getTicksRate().QuadPart/loopTimer.getTime().QuadPart;
- //std::cout<<fps<<std::endl;
- loopTimer.reset();
- }
- int power(int val, unsigned int P)
- {
- int r = val;
- while (--P)
- r *= val;
- return r;
- }
- void gameController::spawnFruit(int xr, int yr, int zr)
- {
- //throw fruit randomly
- std::cout << "\rScore " << score;
- int xdel = (xr!=0)?(int)rand()%xr:0;
- int ydel = (yr!=0)?(int)rand()%yr:0;
- int zdel = (zr!=0)?(int)rand()%zr:0;
- /*int xt = -(int)xr/2 + xdel;
- int yt = -(int)yr/2 + ydel;
- int zt = -(int)zr/2 + zdel;*/
- //fruitPos[X_] = -(int)xr/2 + xdel;
- //fruitPos[Y_] = -(int)yr/2 + ydel;
- //fruitPos[Z_] = -(int)zr/2 + zdel;
- fruitPos[X_] = power(-1, (int)rand()) * xdel;
- fruitPos[Y_] = power(-1, (int)rand()) * ydel;
- fruitPos[Z_] = power(-1, (int)rand()) * zdel;
- score++;
- }
- }
Add Comment
Please, Sign In to add comment