mirror of
https://github.com/BreizhHardware/bloubloulespoissons.git
synced 2026-01-18 16:47:31 +01:00
c'est pas moi qui est pt, c'est les autres
This commit is contained in:
17
fish.cpp
17
fish.cpp
@@ -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;
|
||||
|
||||
6
main.cpp
6
main.cpp
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user