actually letting the horses finish the race now

This commit is contained in:
2019-07-24 00:10:01 -05:00
parent c6be668a59
commit 1b31f9cd15
2 changed files with 25 additions and 17 deletions

28
.idea/workspace.xml generated
View File

@@ -2,8 +2,6 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d9dac41b-fc54-4ab0-93ea-73586523c969" name="Default" comment=""> <list default="true" id="d9dac41b-fc54-4ab0-93ea-73586523c969" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/audio.js" beforeDir="false" afterPath="$PROJECT_DIR$/audio.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/background.js" beforeDir="false" afterPath="$PROJECT_DIR$/background.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/game.js" beforeDir="false" afterPath="$PROJECT_DIR$/game.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/game.js" beforeDir="false" afterPath="$PROJECT_DIR$/game.js" afterDir="false" />
</list> </list>
<ignored path="$PROJECT_DIR$/.tmp/" /> <ignored path="$PROJECT_DIR$/.tmp/" />
@@ -48,8 +46,8 @@
<file leaf-file-name="game.js" pinned="false" current-in-tab="true"> <file leaf-file-name="game.js" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/game.js"> <entry file="file://$PROJECT_DIR$/game.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126"> <state relative-caret-position="-742">
<caret line="80" column="45" selection-start-line="80" selection-start-column="45" selection-end-line="80" selection-end-column="45" /> <caret line="30" column="3" lean-forward="true" selection-start-line="30" selection-start-column="3" selection-end-line="30" selection-end-column="3" />
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -77,8 +75,8 @@
<file leaf-file-name="background.js" pinned="false" current-in-tab="false"> <file leaf-file-name="background.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/background.js"> <entry file="file://$PROJECT_DIR$/background.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308"> <state relative-caret-position="126">
<caret line="152" column="61" selection-start-line="152" selection-start-column="61" selection-end-line="152" selection-end-column="61" /> <caret line="12" column="17" lean-forward="true" selection-start-line="12" selection-start-column="17" selection-end-line="12" selection-end-column="17" />
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -122,8 +120,8 @@
<find>horseheigh</find> <find>horseheigh</find>
<find>ctx.</find> <find>ctx.</find>
<find>finalplaces</find> <find>finalplaces</find>
<find>rect</find>
<find>canvas</find> <find>canvas</find>
<find>rect</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>cyclesRemaining</replace> <replace>cyclesRemaining</replace>
@@ -240,25 +238,25 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1562211281380</updated> <updated>1562211281380</updated>
<workItem from="1562211282530" duration="37792000" /> <workItem from="1562211282530" duration="37792000" />
<workItem from="1563080090211" duration="15794000" /> <workItem from="1563080090211" duration="16881000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="53586000" /> <option name="totallyTimeSpent" value="54673000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-1367" y="-17" width="1368" height="786" extended-state="6" /> <frame x="-1367" y="-17" width="1368" height="786" extended-state="6" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2108389" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2108389" />
<window_info anchor="bottom" id="TODO" order="6" /> <window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="bottom" id="Version Control" order="7" /> <window_info anchor="bottom" id="Version Control" order="7" />
<window_info anchor="bottom" id="Run" order="2" /> <window_info anchor="bottom" id="Run" order="2" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Terminal" order="7" visible="true" weight="0.32882884" /> <window_info active="true" anchor="bottom" id="Terminal" order="7" visible="true" weight="0.32882884" />
<window_info id="Favorites" order="2" side_tool="true" /> <window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@@ -357,15 +355,15 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/background.js"> <entry file="file://$PROJECT_DIR$/background.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308"> <state relative-caret-position="126">
<caret line="152" column="61" selection-start-line="152" selection-start-column="61" selection-end-line="152" selection-end-column="61" /> <caret line="12" column="17" lean-forward="true" selection-start-line="12" selection-start-column="17" selection-end-line="12" selection-end-column="17" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/game.js"> <entry file="file://$PROJECT_DIR$/game.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126"> <state relative-caret-position="-742">
<caret line="80" column="45" selection-start-line="80" selection-start-column="45" selection-end-line="80" selection-end-column="45" /> <caret line="30" column="3" lean-forward="true" selection-start-line="30" selection-start-column="3" selection-end-line="30" selection-end-column="3" />
</state> </state>
</provider> </provider>
</entry> </entry>

14
game.js
View File

@@ -34,6 +34,7 @@ const horses = [];
const finalPlaces = []; const finalPlaces = [];
let finishLineScan = 0; let finishLineScan = 0;
let fanfarePlayedFlag = false;
// sound effect triggers // sound effect triggers
@@ -78,6 +79,11 @@ function gameLoop(){
break; break;
case "finished": case "finished":
//quick and dirty fanfare check
if (!fanfarePlayedFlag){
playFanfare();
fanfarePlayedFlag = true;
}
CTX.clearRect(0, 0, WIDTH, HEIGHT); CTX.clearRect(0, 0, WIDTH, HEIGHT);
drawResults(BG_CTX, WIDTH, HEIGHT, horseHeight, finalPlaces); drawResults(BG_CTX, WIDTH, HEIGHT, horseHeight, finalPlaces);
default: default:
@@ -194,9 +200,13 @@ function runRace(ctx,bg_ctx){
} }
// horses.splice(foundHorseIndex); // horses.splice(foundHorseIndex);
if (finalPlaces.length === 4){ if (finalPlaces.length === 4){
gameState = "finished"; // gameState = "finished";
stopGallop(); stopGallop();
playFanfare();
// this will actually set the gamestate to finished for every frame, but it shouldnt matter since the gamestate never goes anywhere after finsihed
setTimeout(() => {
gameState = "finished";
}, 2000)
} }
finishLineScan -= finishLineSpeed; finishLineScan -= finishLineSpeed;
} }