From 0788e569e38e493d4b0e4e9704ba5f2f1b21e689 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Wed, 14 Dec 2022 01:51:55 -0600 Subject: [PATCH] Done! Co-authored-by: sigonasr2 --- C++ProjectTemplate | Bin 182584 -> 182584 bytes main.cpp | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 911bdbdb65be1e20d51c4571ea606e54c1a6da7a..4c1b2a2b7f4e3648e4cceac3071a557c4514b368 100755 GIT binary patch delta 17635 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 JK1>tn{{hTv8595j delta 17190 zcma)k30zcF8}~gA42uFYC?JT!sDlEcqJn~of}jqGhKgpcxFMMf3hv9GfHI9Bih9so zsI1JEm(m(7Q_NgSD^oK|Q!2|#xKNsD>D=#s?i~|--|zQ*^ZPN+InVh&%X!XowtGkS zu4}w^UE?Yb*2wcNlf=jKZg~^d(R1?{wI*%eoyt0q-$y^L`*6sxa9Egqhnn| zs^`bGfs1yHEbm zg}DvrS6pG0AMbEU&z)C~4NK^0Im5hUbQ|$nr_g4faVl zTT@I1vu%mVAb&Nt{2*A-g5@Dt9&+y7^5AL1SV;M-X;xaFxBKsD#nhzH9HH>0Ot&?K zf6p#oKO>p`oWJ|K8Ju~p&SBD^_y==u^7K!b|L)RRD~P>b?mNdA9h@fwkI7wqCFw&y zbl+SOyXFd$gjY(PqL@oMB#tLhHCu1U*K^A!%&}2*fEc0 zJt+TbegU)W9=2crW1Y)iTv){3-Q8-@IHIMi%a<>?PVcNO&so}xiguM-m!?pkUAw

2!=m@%8&J@v>)y3{MZ|f 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

~$4XNwymBfV$T@WNmubiAP&{hY1SI#Mbg-$ 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 diff --git a/main.cpp b/main.cpp index 714fae4..1d68481 100644 --- a/main.cpp +++ b/main.cpp @@ -10,6 +10,7 @@ vi2d lowerRightCoords={500,0}; std::vector>board; int sum=0; float timePerTick=0.03; +int frameSkips=0; float acc=0; float acc2=0; vi2d sandCoord={500,0}; @@ -126,7 +127,10 @@ public: acc2+=fElapsedTime; if (acc>=timePerTick){ acc-=timePerTick; - updateGame(); + int framesToSkip=frameSkips; + while (framesToSkip-->0){ + updateGame(); + } } if (acc2>=0.01){ if (GetKey(RIGHT).bHeld){ @@ -143,6 +147,12 @@ public: if (GetKey(D).bHeld){ viewX+=60*fElapsedTime; } + if (GetKey(W).bHeld){ + frameSkips=std::clamp(frameSkips+1,0,1000); + } + if (GetKey(S).bHeld){ + frameSkips=std::clamp(frameSkips-1,0,1000); + } } if (GetKey(SPACE).bPressed){ showVisual=!showVisual; @@ -154,7 +164,7 @@ public: DrawStringDecal({0,(float)(ScreenHeight()-GetTextSize("S").y*0.4)},"Sand Pieces: "+std::to_string(sum),WHITE,{0.4,0.4}); if (showVisual) { // called once per frame - for (int x = upperLeftCoords.x; x <= lowerRightCoords.x; x++){ + for (int x = std::max(0,(int)(upperLeftCoords.x-viewX)); x <= std::min(lowerRightCoords.x,(int)(upperLeftCoords.x-viewX+ScreenWidth())); x++){ for (int y = upperLeftCoords.y; y <= lowerRightCoords.y; y++){ vi2d coords=getArrayCoords({x,y}); if (x==sandCoord.x&&y==sandCoord.y){ @@ -175,7 +185,7 @@ public: int main() { std::vectorconnections; - std::ifstream file("testinput"); + std::ifstream file("input"); ReadState state=READX; while (file.good()){ std::string line;