c'est pas moi qui est pt, c'est les autres

This commit is contained in:
Clément Fouché
2024-09-20 09:24:35 +02:00
parent c98a960e3e
commit 7cb303aa9e
2 changed files with 12 additions and 11 deletions

View File

@@ -51,7 +51,7 @@ void Fish::draw(SDL_Renderer *renderer) {
void Fish::cycle() {
//std::cout << "Cycle " << cycle_count << " pour le poisson " << id << std::endl;
//std::cout << "Position: (" << x << ", " << y << ")" << std::endl;
std::cout << "Position: (" << x << ", " << y << ")" << std::endl;
//std::cout << "Vitesse: (" << vx << ", " << vy << ")" << std::endl;
int neighboring_boids = 0;
float xvel_avg = 0, yvel_avg = 0, xpos_avg = 0, ypos_avg = 0, close_dx = 0, close_dy = 0;
@@ -91,13 +91,13 @@ void Fish::cycle() {
if ( y <= 0) {
vy += TURN_FACTOR;
}
if ( y >= ENV_WIDTH - MARGIN_HEIGHT) {
if ( y >= (ENV_WIDTH - MARGIN_HEIGHT)) {
vy -= TURN_FACTOR;
}
if ( x <= 0) {
vx += TURN_FACTOR;
}
if ( x >= ENV_WIDTH - MARGIN_WIDTH) {
if ( x >= (ENV_WIDTH - MARGIN_WIDTH)) {
vx -= TURN_FACTOR;
}
@@ -107,12 +107,13 @@ void Fish::cycle() {
vx = (1 - BIASVALUE) * vx + (BIASVALUE * -1);
}
if (float speed = sqrt(vx * vx + vy * vy); speed > MAX_SPEED) {
vx = vx * MAX_SPEED / speed;
vy = vy * MAX_SPEED / speed;
float speed = sqrt(vx * vx + vy * vy);
if (speed > MAX_SPEED) {
vx = vx/speed * MAX_SPEED;
vy = vy/speed * MAX_SPEED;
} else if (speed < MIN_SPEED) {
vx = vx * MIN_SPEED / speed;
vy = vy * MIN_SPEED / speed;
vx = vx/ speed * MIN_SPEED;
vy = vy/ speed * MIN_SPEED;
}
x += vx;
y += vy;

View File

@@ -21,12 +21,12 @@ std::vector<Fish> school;
int windowWidth = 800;
int windowHeight = 600;
Rock rock(100, 100, 50, 255, 0, 0);
Rock rock(0, 0, 50, 255, 0, 0);
Reef reef(300, 300);
Kelp kelp(500, 500, 100, 4, 87, 0);
bool initSDL();
void handleEvents(int& playerX, int& playerY, const int playerSpeed);
void handleEvents(int& playerX, int& playerY, int playerSpeed);
void renderScene(int playerX, int playerY);
void cleanup();
@@ -39,7 +39,7 @@ void drawGradientBackground(SDL_Renderer* renderer, int offsetX, int offsetY) {
}
// Function to update a range of fish
void updateFishRange(std::vector<Fish>& school, int start, int end) {
void updateFishRange(std::vector<Fish>& school, int start, int end){
while (running) {
std::this_thread::sleep_for(std::chrono::milliseconds(16));
std::lock_guard<std::mutex> lock(mtx);