From f8dd13886f44157902eb3177b6456d2446b9fb9b Mon Sep 17 00:00:00 2001 From: Robert Chen Date: Sat, 30 Nov 2013 03:32:45 -0800 Subject: [PATCH] Score screen --- js/main.js | 7 +++-- js/screens.js | 57 ++++++++++++++-------------------------- js/soundmanager.js | 1 + js/stories.js | 2 +- js/ui.js | 25 +++++++++++------- res/screens/.DS_Store | Bin 12292 -> 12292 bytes res/sound/.DS_Store | Bin 12292 -> 12292 bytes res/sound/GUI/.DS_Store | Bin 6148 -> 6148 bytes res/sound/GUI/ding.mp3 | Bin 0 -> 29304 bytes 9 files changed, 41 insertions(+), 51 deletions(-) create mode 100644 res/sound/GUI/ding.mp3 diff --git a/js/main.js b/js/main.js index d2ed9a7..0768697 100644 --- a/js/main.js +++ b/js/main.js @@ -71,6 +71,9 @@ function GameState(){ queue.loadFile( {id: "HelpP5P6", src:"res/screens/HelpCreditsScreen/HelpP5P6.png" } ); queue.loadFile( {id: "HelpP7P8", src:"res/screens/HelpCreditsScreen/HelpP7P8.png" } ); + + + queue.loadFile( {id: "ScoreScreenFile", src:"res/screens/ScoreScreen/Score-Tally.png" } ); queue.loadFile( {id: "HelpScreenFile", src:"res/screens/HelpCreditsScreen/Credits.png" } ); queue.loadFile( {id: "MarketScreenfile", src:"res/screens/MarketScreen/MarketScreen.png"} ); @@ -85,6 +88,7 @@ function GameState(){ queue.loadFile( {id: "UILowClickFile", src:"res/sound/GUI/lowclick.mp3"} ); queue.loadFile( {id: "UIClickFile", src:"res/sound/GUI/click.mp3"} ); queue.loadFile( {id: "UIBuzzFile", src:"res/sound/GUI/buzz.mp3"} ); + queue.loadFile( {id: "UIDingFile", src:"res/sound/GUI/ding.mp3"} ); // Kitchen Items queue.loadFile( {id: "res/screens/KitchenScreen/KitchenScreen.png", src:"res/screens/KitchenScreen/KitchenScreen.png"}); @@ -313,8 +317,6 @@ function GameUI( canvasElem, gameState ){ "DifficultyScreen" : DifficultyScreen, "KitchenScreen" : KitchenScreen, "MarketScreen" : MarketScreen, - "TurkeyOutScreen" : TurkeyOutScreen, - "EndingScreen" : EndingScreen, "ScoreScreen" : ScoreScreen, "CreditsScreen" : CreditsScreen } @@ -347,6 +349,7 @@ function GameUI( canvasElem, gameState ){ that.stage.addChild( overlay ); dialogManager.render(); }; + new HelpUI(this.stage, gameState); gameState.pubsub.subscribe( "SwitchScreen", this.switchScreen ); gameState.pubsub.subscribe( "ActuallySwitchScreen", this.actuallySwitchScreen ); diff --git a/js/screens.js b/js/screens.js index 4dbce18..7c8a1c2 100644 --- a/js/screens.js +++ b/js/screens.js @@ -79,7 +79,6 @@ function MainScreen( stage, gameState ){ animation.x = 140; animation.y = 210; - new HelpUI(stage, gameState); animation.addEventListener("tick", handleTick); function handleTick(event){ if ( turkeyAnimations[event.currentTarget.currentAnimation][1] == event.currentTarget.currentFrame ){ @@ -386,51 +385,33 @@ function MarketScreen( stage, gameState ){ } -function TurkeyOutScreen( stage, gameState ){ - var that = this; - - this.background = new createjs.Bitmap( "res/Main.png" ); - stage.addChild( this.background ); - - this.uiElems = []; - return { - blit : function(){ - - // Draw all the uiElements - for( var index in that.uiElems ){ - that.uiElems[ index ].tick(); - } - } - } - - -} +function ScoreScreen( stage, gameState ){ + var that = this; -function EndingScreen( stage, gameState ){ - var that = this; + gameState.pubsub.publish( "FadeOut", "" ); - this.background = new createjs.Bitmap( "res/Main.png" ); + this.background = new createjs.Bitmap( "res/screens/ScoreScreen/Score-Tally.png" ); stage.addChild( this.background ); + gameState.pubsub.publish( "BackgroundLoop", {name:"TitleMusic", pos:5650, volume:1} ); - this.uiElems = []; - return { - blit : function(){ - - // Draw all the uiElements - for( var index in that.uiElems ){ - that.uiElems[ index ].tick(); - } - } - } + // + // Retry button + stage.addChild( new Button( stage, gameState, 590, 350, 200, 55, null, null, function(){ document.location.reload(); } ) ); -} + // All the text for the entries + var totalCookTime; + var realTimeElapsed; + var finalCoreTemperature; + var totalScore; -function ScoreScreen( stage, gameState ){ - var that = this; + // Optimal Temperature to be served at + this.scoreDistribution= function(inputTemp) { + desiredAverage = 162; + variance = 1000; //Std Deviation 31.62 + return(Math.exp(-(Math.pow((inputTemp-desiredAverage),2)/(2*variance)))) + }; - this.background = new createjs.Bitmap( "res/Main.png" ); - stage.addChild( this.background ); this.uiElems = []; return { diff --git a/js/soundmanager.js b/js/soundmanager.js index a262f1c..4ef98f1 100644 --- a/js/soundmanager.js +++ b/js/soundmanager.js @@ -21,6 +21,7 @@ function SoundManager( gameState ){ createjs.Sound.registerSound("res/sound/GUI/buzz.mp3", "Error"); createjs.Sound.registerSound("res/sound/Store/buy.mp3", "Buy"); createjs.Sound.registerSound("res/sound/Store/entrance.mp3", "Entrance"); + createjs.Sound.registerSound("res/sound/GUI/ding.mp3", "Ding"); // Kitchen sound createjs.Sound.registerSound("res/sound/Kitchen/Oven_Door_Full_Open.mp3", "Oven_Door_Full_Open"); diff --git a/js/stories.js b/js/stories.js index 67211a6..d577c0f 100644 --- a/js/stories.js +++ b/js/stories.js @@ -1,7 +1,7 @@ var messages = { "Null":["Me: "], "KitchenInitial" : ["Me: I need to buy a turkey..."], - "CannotBuyTurkey" : ["Me: I've barely have time for ONE turkey, let alone TWO!"], + "CannotBuyTurkey" : ["Me: I barely have time for ONE turkey, let alone TWO!"], "NoMoney" : ["Me: I can't afford this!"], "BuyTurkeyFirst" : ["Me: I should buy a turkey first!"], "EmptyOven" : ["Me: Ah, the oven is already preheated..."], diff --git a/js/ui.js b/js/ui.js index b7a5db6..132b008 100644 --- a/js/ui.js +++ b/js/ui.js @@ -77,9 +77,6 @@ function HelpUI( stage, gameState ){ } }); - stage.addChild( this.background ); - stage.addChild( closeButton ); - this.hideHelp = function(){ helpImg.visible=false; stage.removeChild( closeButton ); @@ -104,6 +101,7 @@ function HelpUI( stage, gameState ){ } helpPages[0].visible = true; + stage.addChild( that.background ); stage.addChild( closeButton ); stage.addChild( nextButton ); stage.addChild( prevButton ); @@ -121,7 +119,11 @@ function FinalConfirmationUI(stage, gameState){ this.showingConfirm = false; var finalImg = new createjs.Bitmap("res/screens/KitchenScreen/FinalConfirmation.png"); - var yesButton = new Button( stage, gameState, 355, 338, 388, 50, null, null, function(){that.hideFinalConfirm();} ); + var yesButton = new Button( stage, gameState, 355, 338, 388, 50, null, null, function(){ + gameState.pubsub.publish( "Play", "Ding" ); + gameState.pubsub.publish( "SwitchScreen", "ScoreScreen" ); + that.hideFinalConfirm(); + } ); var noButton = new Button( stage, gameState, 355, 395, 388, 50, null, null, function(){that.hideFinalConfirm();} ); this.hideFinalConfirm = function(){ @@ -335,7 +337,7 @@ function OvenUI( stage, gameState ){ if( gameState.turkeyBought ){ var state = ovenModel.getTurkeyState(); - gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:false, customText:"Hmm... Looks " + turkeyState["skin"]["cond"][2] + "." } ); + gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:true, customText:"Hmm... Looks " + turkeyState["skin"]["cond"][2] + "." } ); gameState.pubsub.publish( "AddRecord", {type:"Open ", text:"The turkey looked " + turkeyState["skin"]["cond"][2]} ); } @@ -365,7 +367,7 @@ function OvenUI( stage, gameState ){ handleBar.y = 48; if( gameState.turkeyBought ){ var state = ovenModel.getTurkeyState(); - gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:false, customText:"Looks " + turkeyState["skin"]["cond"][2] } ); + gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:true, customText:"Looks " + turkeyState["skin"]["cond"][2] } ); gameState.pubsub.publish( "AddRecord", {type:"Peek ", text:"The turkey looked " + turkeyState["skin"]["cond"][2]} ); that.ovenOpened++; } @@ -389,7 +391,7 @@ function OvenUI( stage, gameState ){ } else{ state = ovenModel.getTurkeyState(); - gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:false, customText:"The core temperature of the turkey reads " + UtilityFunctions.C2F(state.core.temp).toFixed(2) + " F" } ); + gameState.pubsub.publish( "ShowDialog", {seq:"custom", autoAdvance:true, customText:"The core temperature of the turkey reads " + UtilityFunctions.C2F(state.core.temp).toFixed(2) + " F" } ); gameState.pubsub.publish( "AddRecord", {type:"Probe", text:"Core temperature measured: " + UtilityFunctions.C2F(state.core.temp).toFixed(2) + " F"} ); that.ovenOpened++; } @@ -490,9 +492,12 @@ function OvenUI( stage, gameState ){ stage.addChild( panFront ); //finalize button - stage.addChild( new Button( stage, gameState, 45, 250, 250, 175, null, null, function(){ - gameState.pubsub.publish("ShowFinalConfirm",""); - } ) ); + if( gameState.turkeyBought ){ + stage.addChild( new Button( stage, gameState, 45, 250, 250, 175, null, null, function(){ + gameState.pubsub.publish("Play", "Error"); + gameState.pubsub.publish("ShowFinalConfirm",""); + } ) ); + } stage.addChild( doorPeekLightOn); stage.addChild( doorPeekLightOff); diff --git a/res/screens/.DS_Store b/res/screens/.DS_Store index 4efc9e63e58209a173f3343746ead734f3775cea..1be77443561cb5cc7e46bb560f58b1dcdd283c13 100644 GIT binary patch delta 29 lcmZokXi3=cP?R<7|9=LC$s0taCW#eIz9!(kd9RqeBmlo$3;qBA delta 29 lcmZokXi3=cP?XjG|9=LC$s0taCW#eIo*?4Ad9RqeBmlg%3$*|M diff --git a/res/sound/.DS_Store b/res/sound/.DS_Store index 62fe28a16f7f6b85569afb357e0c30b06482c658..ad501ce86e63d0b43615f4ea678610fc41e2c557 100644 GIT binary patch delta 93 zcmZokXi3Ki8C5t3(Yp8Q8>Iiuy|CBhw(^#r{qmy0+snor&#(gNabZWpa% T+RQHTjb-v%fu7CnveiNW=z=9T diff --git a/res/sound/GUI/.DS_Store b/res/sound/GUI/.DS_Store index 41bd8e016c57263a940f0bb44b59e7aa25b0ae9d..cdeb3efafb48d9006caa65162f1c6043e7fca271 100644 GIT binary patch delta 118 zcmZoMXfc@J&&a+pU^gQp`(z#_Q*B-bCx%pp93WI+aAC+~$YV%n&|}DDC}1%5%*jtq s%E?b+U|plS^u=G{DpiIH_PJI7ys0PVLJtr4#)5+CLNt=0@f3Zw#$lA=#@s}R}#9<3# diff --git a/res/sound/GUI/ding.mp3 b/res/sound/GUI/ding.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0bf27e4461cdc861fafb1056e96a57930cc52b89 GIT binary patch literal 29304 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 l`w0L(L_NZZPkG=Y7J(4o<;0)FuSzih0Q