From 8228342d93783d4d47e07c8712e03749b3aaf2df Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Wed, 7 Jun 2023 20:50:47 +0000 Subject: [PATCH] Slope collision occur checking Co-authored-by: sigonasr2 --- C++ProjectTemplate.wasm | Bin 313367 -> 314072 bytes main.cpp | 170 +++++++++++++++++++++++----------------- vel.x=-100 | 0 3 files changed, 98 insertions(+), 72 deletions(-) create mode 100644 vel.x=-100 diff --git a/C++ProjectTemplate.wasm b/C++ProjectTemplate.wasm index a54eea691d6d38b8161e1ab0eda99de5daecd0b0..215cb7190a605eb13b126dcfc61cabe80a0b9c96 100755 GIT binary patch delta 62610 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 delta 63094 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 diff --git a/main.cpp b/main.cpp index 11bc448..2348e97 100644 --- a/main.cpp +++ b/main.cpp @@ -13,6 +13,7 @@ struct Ball{ float radius=0; float mass=0; float simTimeRemaining=0; + bool grounded=false; }; struct Line{ @@ -29,16 +30,19 @@ class MountainClimber : public olc::PixelGameEngine { public: - std::vectorballs; + std::vectorballs; std::vectorlines; Ball*selectedBall; Line*selectedLine; std::vector>collidingPairs; std::vectorfakeBalls; bool selectedLineStart=false; - float friction=0.9f; - float gravity=200.f; - float limit=500.f; + float friction=5.f; + float gravity=2000.f; + float limit=1000.f; + Ball*player; + float moveSpd=250; + float jumpSpd=1000; MountainClimber() { @@ -46,11 +50,10 @@ public: } void AddBall(vf2d pos,float r){ - Ball b; - b.pos=pos; - b.radius=r; - b.mass=r*10; - b.vel.y=rand()%1000-17000; + Ball*b=new Ball(); + b->pos=pos; + b->radius=r; + b->mass=r*10; balls.emplace_back(b); } @@ -67,6 +70,12 @@ public: public: bool OnUserCreate() override { + AddLine({0,360},{640,360},0.1,0); + AddLine({340,360},{640,140},0.1,0); + AddBall({320,300},8); + + ConsoleCaptureStdOut(true); + player=balls[0]; return true; } @@ -79,83 +88,91 @@ public: return fabs((pos1.x - pos2.x)*(pos1.x - pos2.x) + (pos1.y - pos2.y)*(pos1.y - pos2.y)) <= (r1 + r2)*(r1 + r2); }; for(int i=0;isimTimeRemaining=simElapsedTime; } for(int j=0;j0){ - b.originalPos.x=b.pos.x; - b.originalPos.y=b.pos.y; - b.acc.x=-b.vel.x*friction; - b.acc.y=-b.vel.y*friction+gravity; //Gravity constant; - b.vel.x+=b.acc.x*b.simTimeRemaining; - b.vel.y+=b.acc.y*b.simTimeRemaining; - b.pos.x+=b.vel.x*b.simTimeRemaining; - b.pos.y+=b.vel.y*b.simTimeRemaining; + for(Ball*b:balls){ + if(b->simTimeRemaining>0){ + b->originalPos.x=b->pos.x; + b->originalPos.y=b->pos.y; + b->acc.x=-b->vel.x*friction; + b->acc.y=-b->vel.y*friction+((!b->grounded)?gravity:0); //Gravity constant; + b->vel.x+=b->acc.x*b->simTimeRemaining; + b->vel.y+=b->acc.y*b->simTimeRemaining; + b->pos.x+=b->vel.x*b->simTimeRemaining; + b->pos.y+=b->vel.y*b->simTimeRemaining; - if(b.pos.x<0){ - b.pos.x+=ScreenWidth(); + if(b->pos.x<0){ + b->pos.x+=ScreenWidth(); } - if(b.pos.y<0){ - b.pos.y+=ScreenHeight(); + if(b->pos.y<0){ + b->pos.y+=ScreenHeight(); } - if(b.pos.x>=ScreenWidth()){ - b.pos.x-=ScreenWidth(); + if(b->pos.x>=ScreenWidth()){ + b->pos.x-=ScreenWidth(); } - if(b.pos.y>=ScreenHeight()){ - b.pos.y-=ScreenHeight(); + if(b->pos.y>=ScreenHeight()){ + b->pos.y-=ScreenHeight(); } - if(fabs(b.vel.x*b.vel.x+b.vel.y*b.vel.y)vel.x*b->vel.x+b->vel.y*b->vel.y)vel.x=0; + b->vel.y=0; } } } - for(Ball&b:balls){ - float deltaTime=b.simTimeRemaining; + for(Ball*b:balls){ + float deltaTime=b->simTimeRemaining; + bool collisionOccured=false; for(Line&l:lines){ - if(!l.oneWay||l.oneWay&&b.vel.y<0){ + if((!l.oneWay||l.oneWay&&b->vel.y<0)){ vf2d line1={l.endPos.x-l.startPos.x,l.endPos.y-l.startPos.y}; - vf2d line2={b.pos.x-l.startPos.x,b.pos.y-l.startPos.y}; + vf2d line2={b->pos.x-l.startPos.x,b->pos.y-l.startPos.y}; float edgeLength=line1.x*line1.x+line1.y*line1.y; float t=std::max(0.f,std::min(edgeLength,(line1.x*line2.x+line1.y*line2.y)))/edgeLength; vf2d closestPoint={l.startPos.x+t*line1.x,l.startPos.y+t*line1.y}; - float dist=sqrtf((b.pos.x-closestPoint.x)*(b.pos.x-closestPoint.x)+(b.pos.y-closestPoint.y)*(b.pos.y-closestPoint.y)); - if(dist<=b.radius+l.radius){ + float dist=sqrtf((b->pos.x-closestPoint.x)*(b->pos.x-closestPoint.x)+(b->pos.y-closestPoint.y)*(b->pos.y-closestPoint.y)); + if(dist<=b->radius+l.radius){ Ball*fakeBall=new Ball(); fakeBall->radius=l.radius; - fakeBall->mass=b.mass*l.bounceFactor; + fakeBall->mass=b->mass*l.bounceFactor; fakeBall->pos={closestPoint.x,closestPoint.y}; - fakeBall->vel={std::min(limit,std::max(-limit,-b.vel.x)),std::min(limit,std::max(-limit,-b.vel.y))}; + fakeBall->vel={std::min(limit,std::max(-limit,-b->vel.x)),std::min(limit,std::max(-limit,-b->vel.y))}; fakeBalls.push_back(fakeBall); - collidingPairs.push_back({&b,fakeBall}); - float overlap=1.1f*(dist-b.radius-fakeBall->radius); - b.pos.x-=overlap*(b.pos.x-fakeBall->pos.x)/dist; - b.pos.y-=overlap*(b.pos.y-fakeBall->pos.y)/dist; + collidingPairs.push_back({b,fakeBall}); + float overlap=1.1f*(dist-b->radius-fakeBall->radius); + b->pos.x-=overlap*(b->pos.x-fakeBall->pos.x)/dist; + b->pos.y-=overlap*(b->pos.y-fakeBall->pos.y)/dist; + if(b==player&&fakeBall->vel.y<0){//This is an upwards force pushing on us, we have touched ground. + b->grounded=true; + collisionOccured=true; + } } } } - for(Ball&b2:balls){ - if(&b!=&b2){ - if(DoCirclesOverlap(b.pos,b.radius,b2.pos,b2.radius)){ - collidingPairs.push_back({&b,&b2}); - float dist=sqrtf((b.pos.x-b2.pos.x)*(b.pos.x-b2.pos.x)+(b.pos.y-b2.pos.y)*(b.pos.y-b2.pos.y)); - float overlap=0.5f*(dist-b.radius-b2.radius); - b.pos.x-=overlap*(b.pos.x-b2.pos.x)/dist; - b.pos.y-=overlap*(b.pos.y-b2.pos.y)/dist; - b2.pos.x+=overlap*(b.pos.x-b2.pos.x)/dist; - b2.pos.y+=overlap*(b.pos.y-b2.pos.y)/dist; + if(!collisionOccured){ + b->grounded=false; + } + for(Ball*b2:balls){ + if(b!=b2){ + if(DoCirclesOverlap(b->pos,b->radius,b2->pos,b2->radius)){ + collidingPairs.push_back({b,b2}); + float dist=sqrtf((b->pos.x-b2->pos.x)*(b->pos.x-b2->pos.x)+(b->pos.y-b2->pos.y)*(b->pos.y-b2->pos.y)); + float overlap=0.5f*(dist-b->radius-b2->radius); + b->pos.x-=overlap*(b->pos.x-b2->pos.x)/dist; + b->pos.y-=overlap*(b->pos.y-b2->pos.y)/dist; + b2->pos.x+=overlap*(b->pos.x-b2->pos.x)/dist; + b2->pos.y+=overlap*(b->pos.y-b2->pos.y)/dist; } } } - float intendedSpeed=sqrtf(b.vel.x+b.vel.y*b.vel.y); - float intendedDist=intendedSpeed*b.simTimeRemaining; - float actualDist=sqrtf((b.pos.x-b.originalPos.x)*(b.pos.x-b.originalPos.x)+(b.pos.y-b.originalPos.y)*(b.pos.y-b.originalPos.y)); + float intendedSpeed=sqrtf(b->vel.x+b->vel.y*b->vel.y); + float intendedDist=intendedSpeed*b->simTimeRemaining; + float actualDist=sqrtf((b->pos.x-b->originalPos.x)*(b->pos.x-b->originalPos.x)+(b->pos.y-b->originalPos.y)*(b->pos.y-b->originalPos.y)); float actualTime=actualDist/intendedSpeed; - b.simTimeRemaining=b.simTimeRemaining-actualTime; + b->simTimeRemaining=b->simTimeRemaining-actualTime; } float efficiency=1; for(std::pair&pair:collidingPairs){ @@ -188,12 +205,25 @@ public: return fabs((pos.x - point.x)*(pos.x - point.x) + (pos.y - point.y)*(pos.y - point.y)) < (r * r); }; + if(GetKey(A).bHeld){ + player->vel.x=-moveSpd; + player->grounded=false; + } + if(GetKey(D).bHeld){ + player->vel.x=moveSpd; + player->grounded=false; + } + if(GetKey(SPACE).bPressed){ + player->vel.y=-jumpSpd; + player->grounded=false; + } + if (GetMouse(0).bPressed){ selectedBall = nullptr; - for (Ball&b:balls){ - if (IsPointInCircle(b.pos,b.radius,GetMousePos())) + for (Ball*b:balls){ + if (IsPointInCircle(b->pos,b->radius,GetMousePos())) { - selectedBall = &b; + selectedBall = b; break; } } @@ -233,9 +263,9 @@ public: selectedLine=nullptr; } if(GetMouse(1).bHeld){ - for(Ball&b:balls){ - b.vel.x+=(GetMouseX()-b.pos.x)*0.01f; - b.vel.y+=(GetMouseY()-b.pos.y)*0.01f; + for(Ball*b:balls){ + b->vel.x+=(GetMouseX()-b->pos.x)*0.01f; + b->vel.y+=(GetMouseY()-b->pos.y)*0.01f; } } @@ -245,17 +275,13 @@ public: Clear(BLACK); - if(GetKey(SPACE).bPressed){ - AddBall({610,620},rand()%4+8); - } - HandlePhysics(fElapsedTime); - for(Ball&b:balls){ - if(selectedBall==&b){ - FillCircle(b.pos,b.radius,YELLOW); + for(Ball*b:balls){ + if(selectedBall==b){ + FillCircle(b->pos,b->radius,YELLOW); } else { - FillCircle(b.pos,b.radius); + FillCircle(b->pos,b->radius); } } for(Line&l:lines){ diff --git a/vel.x=-100 b/vel.x=-100 new file mode 100644 index 0000000..e69de29