You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
655 lines
21 KiB
655 lines
21 KiB
/* Screens, inheritance would be nice */ |
|
function LoadingScreen( stage, gameState ){ |
|
var that = this; |
|
this.lastPercent = -1; |
|
this.picture = new createjs.Bitmap( "res/screens/LoadingScreen/Loading-Title.png" ); |
|
this.pictureFront = new createjs.Bitmap( "res/screens/LoadingScreen/PanFront.png" ); |
|
this.cooking = new createjs.Bitmap( "res/screens/LoadingScreen/TextCooking.png" ); |
|
this.done = new createjs.Bitmap( "res/screens/LoadingScreen/TextDone.png" ); |
|
this.turkeyState = [ new createjs.Bitmap( "res/screens/LoadingScreen/Turkey0.png" ), |
|
new createjs.Bitmap( "res/screens/LoadingScreen/Turkey25.png" ), |
|
new createjs.Bitmap( "res/screens/LoadingScreen/Turkey50.png" ), |
|
new createjs.Bitmap( "res/screens/LoadingScreen/Turkey75.png" ), |
|
new createjs.Bitmap( "res/screens/LoadingScreen/TurkeyDone.png" ) ]; |
|
|
|
this.done.alpha= 0; |
|
stage.addChild( this.picture ); |
|
stage.addChild( this.cooking ); |
|
stage.addChild( this.turkeyState[0] ); |
|
|
|
var textContent = new createjs.Text( "0 %", "25px Arial", "black" ); |
|
textContent.x = 500; |
|
textContent.y = 20; |
|
stage.addChild( textContent); |
|
|
|
gameState.pubsub.subscribe( "Load", function(percent){ |
|
textContent.text = (percent * 25).toFixed(2) + " %"; |
|
var wholeNum = percent.toFixed(0); |
|
if( that.lastPercent != percent){ |
|
that.lastPercent = percent; |
|
stage.addChild( that.turkeyState[wholeNum] ); |
|
stage.addChild( that.pictureFront ); |
|
} |
|
|
|
//If we're still on image one, don't fade it out, it's the base image! |
|
if( wholeNum != 0 ) |
|
that.turkeyState[wholeNum].alpha = percent.toFixed(2) - wholeNum; |
|
|
|
// Done! |
|
if( wholeNum == 4 ){ |
|
that.turkeyState[4].alpha = 1; |
|
that.cooking.alpha=0; |
|
that.done.alpha = 1; |
|
|
|
that.done.addEventListener( "mouseover", function(){ document.body.style.cursor='pointer'; } ); |
|
that.done.addEventListener( "mouseout", function(){ document.body.style.cursor='default'; } ); |
|
that.done.addEventListener( "click", function(){ gameState.pubsub.publish("SwitchScreen", "MainScreen"); }); |
|
|
|
that.turkeyState[4].addEventListener( "mouseover", function(){ document.body.style.cursor='pointer'; } ); |
|
that.turkeyState[4].addEventListener( "mouseout", function(){ document.body.style.cursor='default'; } ); |
|
that.turkeyState[4].addEventListener( "click", function(){ gameState.pubsub.publish("SwitchScreen", "MainScreen"); }); |
|
} |
|
}); |
|
|
|
stage.addChild( this.done ); |
|
stage.addChild( this.pictureFront ); |
|
|
|
return { |
|
blit : function(){ |
|
} |
|
} |
|
} |
|
|
|
|
|
function MainScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
this.background = new createjs.Bitmap( "res/screens/MainScreen/Main-Screen.png" ); |
|
stage.addChild( this.background ); |
|
|
|
var turkeyAnimations = { peck:[14,24,"peck"], ruffle:[0,13,"ruffle"], stare:[25,35,"stare"] }; |
|
var data = { |
|
images: ["res/screens/MainScreen/TurkeySprite.png"], |
|
frames: { width:400, height:350 }, |
|
animations: turkeyAnimations |
|
}; |
|
|
|
var spriteSheet = new createjs.SpriteSheet(data); |
|
var animation = new createjs.Sprite(spriteSheet, "stare"); |
|
animation.x = 140; |
|
animation.y = 210; |
|
|
|
animation.addEventListener("tick", handleTick); |
|
function handleTick(event){ |
|
if ( turkeyAnimations[event.currentTarget.currentAnimation][1] == event.currentTarget.currentFrame ){ |
|
event.currentTarget.paused = true; |
|
} |
|
// Click happened. |
|
} |
|
stage.addChild(animation); |
|
|
|
this.grassLayer = new createjs.Bitmap( "res/screens/MainScreen/Grass.png" ); |
|
this.grassLayer.x = -60; |
|
stage.addChild( this.grassLayer ); |
|
|
|
// buttons info/credits/start |
|
new ImgButton( stage, gameState, 571,527, "res/screens/MainScreen/ButtonStart.png", "res/screens/MainScreen/ButtonStart.png","SwitchScreen", "DifficultyScreen", "Click" ); |
|
new ImgButton( stage, gameState, 17,470, "res/screens/MainScreen/ButtonHelp.png", "res/screens/MainScreen/ButtonHelp.png",null, null, "Click", function(){ gameState.pubsub.publish("ShowHelp",""); } ); |
|
new ImgButton( stage, gameState, 17,527, "res/screens/MainScreen/ButtonCredits.png", "res/screens/MainScreen/ButtonCredits.png","SwitchScreen", "CreditsScreen", "Click" ); |
|
|
|
gameState.pubsub.publish( "BackgroundLoop", {name:"TitleMusic", pos:5650, volume:0.7} ); |
|
this.uiElems = []; |
|
|
|
return { |
|
blit : function(){ |
|
if( createjs.Ticker.getTicks() %50 == 0 ){ |
|
|
|
animation.gotoAndPlay(["peck", "ruffle", "stare"][UtilityFunctions.randRange(0,2)]); |
|
} |
|
// Draw all the uiElements |
|
for( var index in that.uiElems ){ |
|
that.uiElems[ index ].tick(); |
|
} |
|
} |
|
} |
|
|
|
//start button |
|
} |
|
|
|
function DifficultyScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
this.background = new createjs.Bitmap( "res/screens/DifficultyScreen/Difficulty-Selection.png" ); |
|
stage.addChild( this.background ); |
|
|
|
var turkeyAnimations = { peck:[14,24,"peck"], ruffle:[0,13,"ruffle"], stare:[25,35,"stare"] }; |
|
var data = { |
|
images: ["res/screens/MainScreen/TurkeySprite.png"], |
|
frames: { width:400, height:350 }, |
|
animations: turkeyAnimations |
|
}; |
|
|
|
var spriteSheet = new createjs.SpriteSheet(data); |
|
var animation = new createjs.Sprite(spriteSheet, "stare"); |
|
animation.x = 140; |
|
animation.y = 210; |
|
|
|
animation.addEventListener("tick", handleTick); |
|
function handleTick(event) { |
|
if ( turkeyAnimations[event.currentTarget.currentAnimation][1] == event.currentTarget.currentFrame ){ |
|
event.currentTarget.paused = true; |
|
} |
|
// Click happened. |
|
} |
|
stage.addChild(animation); |
|
|
|
this.grassLayer = new createjs.Bitmap( "res/screens/MainScreen/Grass.png" ); |
|
this.grassLayer.x = -60; |
|
stage.addChild( this.grassLayer ); |
|
|
|
// Difficulty selection UI |
|
this.buttonsAndText = new createjs.Bitmap( "res/screens/DifficultyScreen/ButtonsandText.png" ); |
|
stage.addChild( this.buttonsAndText ); |
|
|
|
this.maleSelection = new createjs.Bitmap( "res/screens/DifficultyScreen/ButtonMale.png" ); |
|
stage.addChild( this.maleSelection ); |
|
|
|
this.femaleSelection = new createjs.Bitmap( "res/screens/DifficultyScreen/ButtonFemale.png" ); |
|
this.femaleSelection.alpha = 0; |
|
stage.addChild( this.femaleSelection ); |
|
|
|
var nameInput = new createjs.Text( "", "48px Arial", "black" ); |
|
nameInput.x = 47; |
|
nameInput.y = 85; |
|
nameInput.lineWidth = 175; |
|
|
|
stage.addChild( nameInput ); |
|
|
|
// handle keyboard typing |
|
document.onkeyup = function(event){ |
|
// keycode |
|
var keynum = 48; |
|
if(window.event){ // IE |
|
keynum = event.keyCode; |
|
} |
|
else{ |
|
if(event.which){ // Netscape/Firefox/Opera |
|
keynum = event.which; |
|
} |
|
} |
|
|
|
if( keynum != 8 && keynum < 91 && keynum > 47 && nameInput.text.length < 22 ){ |
|
nameInput.text += String.fromCharCode(keynum); |
|
gameState.name = nameInput.text; |
|
} |
|
}; |
|
|
|
|
|
// Backspace gets special treatment |
|
document.onkeydown = function(event){ |
|
var keynum = 0; |
|
if(window.event){ // IE |
|
keynum = event.keyCode; |
|
} |
|
else{ |
|
if(event.which){ // Netscape/Firefox/Opera |
|
keynum = event.which; |
|
} |
|
} |
|
|
|
if(keynum == 8 && nameInput.text.length > 0 ){ |
|
nameInput.text = nameInput.text.substr(0, nameInput.text.length-1); |
|
gameState.name = nameInput.text; |
|
} |
|
event.preventDefault(); |
|
} |
|
|
|
// Easy/Hard Button |
|
stage.addChild( new Button( stage, gameState, 500, 235, 100, 55, "ChangeGender", "Male" ) ); |
|
stage.addChild( new Button( stage, gameState, 500, 300, 100, 55, "ChangeGender", "Female" ) ); |
|
|
|
stage.addChild( new Button( stage, gameState, 503, 370, 200, 55, null, null, function(){ document.onkeyup = function(){}; gameState.hard = false; gameState.gameStarted = true; gameState.hardcoreModifier=1; gameState.pubsub.publish("SwitchScreen", "KitchenScreen"); } ) ); |
|
stage.addChild( new Button( stage, gameState, 500, 495, 205, 55, null, null, function(){ document.onkeydown = function(){}; gameState.hard = true; gameState.gameStarted = true; gameState.hardcoreModifier=20; gameState.pubsub.publish("SwitchScreen", "KitchenScreen"); } ) ); |
|
|
|
stage.addChild( new Button( stage, gameState, 35, 495, 85, 55, "SwitchScreen", "MainScreen" ) ); |
|
|
|
gameState.pubsub.subscribe( "ChangeGender", function(gender){ |
|
gameState.gender=gender; |
|
if( gender == "Male" ){ |
|
that.maleSelection.alpha = 1; |
|
that.femaleSelection.alpha = 0; |
|
gameState.pronoun = "he"; |
|
}else{ |
|
that.maleSelection.alpha = 0; |
|
that.femaleSelection.alpha = 1; |
|
gameState.pronoun = "she"; |
|
} |
|
}) |
|
return { |
|
blit : function(){ |
|
if( createjs.Ticker.getTicks() %50 == 0 ){ |
|
animation.gotoAndPlay(["peck", "ruffle", "stare"][UtilityFunctions.randRange(0,2)]); |
|
} |
|
|
|
// Draw all the uiElements |
|
for( var index in that.uiElems ){ |
|
that.uiElems[ index ].tick(); |
|
} |
|
} |
|
} |
|
} |
|
|
|
function KitchenScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
// Fade out any other sounds |
|
gameState.pubsub.publish( "FadeOut", "" ); |
|
|
|
//gameState.pubsub.publish( "BackgroundLoop", {name:"Sizzle", pos:0, volume:0.5} ); |
|
this.uiElems = []; |
|
|
|
this.uiElems.push( new WindowUI( stage, gameState ) ); |
|
this.background = new createjs.Bitmap( "res/screens/KitchenScreen/KitchenScreen.png" ); |
|
stage.addChild( this.background ); |
|
if(DEBUG) console.log(gameState.purchasedItems); |
|
if(DEBUG) console.log("KitchenScreen"); |
|
for(var i in gameState.purchasedItems ){ |
|
if(DEBUG) console.log(gameState.purchasedItems); |
|
gameState.purchasedItems[i].draw( stage ); |
|
} |
|
|
|
this.uiElems.push( gameState.ovenUI ? gameState.ovenUI.render() : ( gameState.ovenUI = new OvenUI( stage, gameState ) ).render() ); |
|
this.uiElems.push( new ClockUI( stage, gameState ) ); |
|
|
|
if( gameState.alarmBought ) |
|
this.uiElems.push( new AlarmUI(stage, gameState) ); |
|
|
|
|
|
stage.addChild( new Button( stage, gameState, 14, 17, 73, 45, null,null, function(){ gameState.pubsub.publish("ShowHelp","");} ) ); |
|
|
|
new ImgButton( stage, gameState, 0,0, "res/screens/KitchenScreen/StoreBrochure.png", "res/screens/KitchenScreen/StoreBrochureGlow.png", null,null, "Click", function(){ |
|
gameState.pubsub.publish("SwitchScreen", "MarketScreen"); |
|
gameState.storeVisits++; |
|
} ); |
|
|
|
// If player did not buy a turkey, tell them |
|
if( !gameState.turkeyBought ){ |
|
gameState.pubsub.publish( "ShowDialog", {seq:"KitchenInitial", autoAdvance:false} ); |
|
} |
|
|
|
|
|
return { |
|
blit : function(){ |
|
|
|
// Draw all the uiElements |
|
for( var index in that.uiElems ){ |
|
that.uiElems[ index ].tick(); |
|
} |
|
} |
|
} |
|
} |
|
|
|
function MarketScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
this.background = new createjs.Bitmap( "res/screens/MarketScreen/MarketScreen.png" ); |
|
var price = new createjs.Text( "", "16px Arial", "black" ); |
|
price.x = 120; |
|
price.y = 560; |
|
|
|
var wallet = new createjs.Text( "$" + parseFloat(gameState.wallet).toFixed(2), "20px Arial", "black" ); |
|
wallet.x = 725; |
|
wallet.y = 550; |
|
|
|
var walletTag = new createjs.Bitmap("res/items/Wallet.png"); |
|
walletTag.x = 670; |
|
walletTag.y = 535; |
|
|
|
var clipboardImg = new createjs.Bitmap("res/items/Clipboard.png"); |
|
clipboardImg.x = 5; |
|
clipboardImg.y = 315; |
|
|
|
var clipboardTitle = new createjs.Text( "Shopping List", "18px Arial", "black" ); |
|
clipboardTitle.x = 25; |
|
clipboardTitle.y = 385; |
|
clipboardTitle.lineWidth = 175; |
|
|
|
var clipboardText = new createjs.Text( "Turkey", "16px Arial", "black" ); |
|
clipboardText.x = 23; |
|
clipboardText.y = 425; |
|
clipboardText.lineWidth = 173; |
|
|
|
var clipboardWeight = new createjs.Text( "", "16px Arial", "black" ); |
|
clipboardWeight.x = 120; |
|
clipboardWeight.y = 540; |
|
clipboardWeight.lineWidth = 175; |
|
|
|
// Play soundz |
|
gameState.pubsub.publish( "Play", {name:"Entrance", volume:0.3} ); |
|
gameState.pubsub.publish( "BackgroundLoop", {name:"MarketMusic", volume:1} ); |
|
gameState.pubsub.publish( "BackgroundLoop", {name:"MarketBackgroundSound", volume:0.4} ); |
|
|
|
stage.addChild(this.background); |
|
|
|
stage.addChild(wallet); |
|
stage.addChild(walletTag); |
|
stage.addChild(clipboardImg); |
|
|
|
stage.addChild(clipboardTitle); |
|
stage.addChild(clipboardText); |
|
stage.addChild(clipboardWeight); |
|
stage.addChild(price); |
|
|
|
this.uiElems = []; |
|
this.uiElems.push( new ImgButton( stage, gameState, 690,0, "res/items/ExitSign.png", "res/items/ExitGlow.png","SwitchScreen", "KitchenScreen", "Click" ) ); |
|
|
|
var marketItemKeys = Object.keys(gameState.marketItems); |
|
for (var index in marketItemKeys ) { |
|
gameState.marketItems[marketItemKeys[index]].draw( stage ); |
|
} |
|
|
|
this.topground = new createjs.Bitmap( "res/screens/MarketScreen/MarketTopShelf.png" ); |
|
stage.addChild( this.topground ); |
|
|
|
|
|
this.showPrice = function( cost ){ |
|
price.text = "$ " + ( cost == NaN ? "" : parseFloat(cost).toFixed(2) ); |
|
} |
|
|
|
this.clearClipboard = function(){ |
|
price.text = ""; |
|
clipboardTitle.text = ""; |
|
clipboardText.text = ""; |
|
clipboardWeight.text = ""; |
|
} |
|
|
|
this.showDesc = function( desc ){ |
|
clipboardTitle.text = desc.title; |
|
clipboardText.text = desc.desc; |
|
if( desc.weight ){ |
|
clipboardWeight.text = desc.weight.toFixed(2) + " lbs."; |
|
} |
|
} |
|
|
|
this.setWalletAmount = function(newAmount){ |
|
wallet.text="$" + ( gameState.wallet=newAmount.toFixed(2) ); |
|
} |
|
|
|
gameState.pubsub.subscribe("ShowDesc", this.showDesc); |
|
gameState.pubsub.subscribe("ShowPrice", this.showPrice ); |
|
gameState.pubsub.subscribe("WalletAmount", this.setWalletAmount); |
|
gameState.pubsub.subscribe("ClearClipboard", this.clearClipboard); |
|
|
|
return { |
|
blit : function(){ |
|
|
|
// Draw all the uiElements |
|
for( var index in that.uiElems ){ |
|
that.uiElems[ index ].tick(); |
|
} |
|
} |
|
} |
|
|
|
|
|
} |
|
|
|
function ScoreScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
// All the text for the entries |
|
var totalCookTime = gameState.turkeyCookCounter; |
|
var realTimeElapsed = Date.now() - gameState.startTime; |
|
console.log("total cook time:"+ realTimeElapsed); |
|
|
|
var turkeyState = gameState.ovenModel.getTurkeyState(); |
|
var totalScore = 0; |
|
|
|
var skinScoreChart = { |
|
"raw": -1000, |
|
"undercooked": -100, |
|
"slightly cooked": 75, |
|
"cooked": 500, |
|
"overcooked": 200, |
|
"dry": -300, |
|
"burnt": -500 |
|
}; |
|
|
|
var coreScoreChart = { |
|
"raw": 0, |
|
"undercooked": 125, |
|
"slightly cooked": 600, |
|
"cooked": 1000, |
|
"overcooked": 750, |
|
"dry": 400, |
|
"burnt": 0 |
|
}; |
|
|
|
var typeToMod = { |
|
"Organic Turkey" : 1.03, |
|
"Free Range Turkey" : 1.02, |
|
"Sunny Farms Turkey" : 0.98, |
|
"Pastured Turkey": 1.05, |
|
"General Turkey": 1.00 |
|
}; |
|
// Optimal Temperature to be served at |
|
this.scoreDistribution= function(inputTemp, layer) { |
|
desiredAverage = 165; |
|
if(layer=="skin") desiredAverage = 260; |
|
|
|
variance = 1000; //Std Deviation 31.62 |
|
return(Math.exp(-(Math.pow((inputTemp-desiredAverage),2)/(2*variance)))) |
|
}; |
|
|
|
// Temperature Score |
|
var outerTemp = UtilityFunctions.C2F(turkeyState.skin.highest).toFixed(2); |
|
var coreTemp = UtilityFunctions.C2F(turkeyState.core.temp).toFixed(2); |
|
|
|
var outerTempScore = that.scoreDistribution( outerTemp, "skin" ) * 200; |
|
var coreTempScore = that.scoreDistribution( coreTemp ) * 200; |
|
|
|
totalScore += parseInt(skinScoreChart[ turkeyState.skin.cond[2]]); |
|
totalScore += parseInt(coreScoreChart[ turkeyState.core.cond[2]]); |
|
totalScore += parseInt(outerTempScore.toFixed(0)); |
|
totalScore += parseInt(coreTempScore.toFixed(0)); |
|
|
|
resultsDialogue = []; |
|
if (totalScore>=1800) { |
|
randomDiag = perfect; |
|
} |
|
else if (totalScore>=1400) { |
|
randomDiag = great; |
|
} |
|
else if (totalScore>=1000) { |
|
randomDiag = average; |
|
} |
|
else if (totalScore>=400) { |
|
randomDiag = subPar; |
|
} |
|
else { |
|
randomDiag = terrible; |
|
} |
|
|
|
for (var i = 0; i<=5; i++) { |
|
resultsDialogue.push(randomString(randomDiag)); |
|
} |
|
messages["end"] = resultsDialogue; |
|
|
|
function randomString(stringArray) { |
|
var index = UtilityFunctions.randRange(0, stringArray.length-1); |
|
var stringResult = stringArray[index]; |
|
stringArray.splice(index,1); |
|
return (stringResult) |
|
} |
|
|
|
gameState.pubsub.publish( "FadeOut", "" ); |
|
|
|
this.background = new createjs.Bitmap( "res/screens/ScoreScreen/Score-Evaluation-1.png" ); |
|
this.background.alpha = 1; |
|
stage.addChild( this.background ); |
|
|
|
background1 = new createjs.Bitmap( "res/screens/ScoreScreen/Score-Evaluation-2.png" ); |
|
background1.alpha = 0; |
|
stage.addChild( background1 ); |
|
|
|
for (i in gameState.turkeyStates){ |
|
gameState.turkeyStates[i].scaleX = gameState.turkeyStates[i].scaleY = 1; |
|
gameState.turkeyStates[i].x = 490; |
|
gameState.turkeyStates[i].y = 110; |
|
stage.addChild(gameState.turkeyStates[i]); |
|
} |
|
|
|
gameState.pubsub.publish( "BackgroundLoop", {name:"TitleMusic", pos:5650, volume:0.7} ); |
|
|
|
gameState.pubsub.publish( "ShowDialog", {seq:"end", autoAdvance:true, endFunc:function(){ |
|
background1.alpha=1; |
|
|
|
stage.addChild( new Button( stage, gameState, 590, 540, 190, 50, null, null, function(){ document.location.reload(); } ) ); |
|
|
|
// Cooking stats |
|
var hours = parseInt( totalCookTime / 3600 ) % 24; |
|
var minutes = parseInt( totalCookTime / 60 ) % 60; |
|
var seconds = totalCookTime % 60; |
|
var timeText = ("00"+hours.toFixed(0)).slice(-2) + ":" + ("00"+minutes.toFixed(0)).slice(-2) + ":" + ("00"+seconds.toFixed(0)).slice(-2); |
|
|
|
var totalCookTimeText = new createjs.Text( timeText, "20px Arial", "black" ); |
|
totalCookTimeText.x = 270; |
|
totalCookTimeText.y = 107; |
|
|
|
realTimeElapsed = realTimeElapsed / 1000; |
|
hours = parseInt( realTimeElapsed / 3600 ) % 24; |
|
minutes = parseInt( realTimeElapsed / 60 ) % 60; |
|
seconds = realTimeElapsed % 60; |
|
timeText = ("00"+hours.toFixed(0)).slice(-2) + ":" + ("00"+minutes.toFixed(0)).slice(-2) + ":" + ("00"+seconds.toFixed(0)).slice(-2); |
|
|
|
var realtimeElapsedText = new createjs.Text( timeText, "20px Arial", "black" ); |
|
realtimeElapsedText.x = 270; |
|
realtimeElapsedText.y = 127; |
|
|
|
var ovenOpenedText = new createjs.Text( gameState.ovenOpened, "20px Arial", "black" ); |
|
ovenOpenedText.x = 270; |
|
ovenOpenedText.y = 147; |
|
|
|
var dialogueHeardText = new createjs.Text( gameState.dialogueHeard, "20px Arial", "black" ); |
|
dialogueHeardText.x = 270; |
|
dialogueHeardText.y = 167; |
|
|
|
stage.addChild( totalCookTimeText ); |
|
stage.addChild( realtimeElapsedText ); |
|
stage.addChild( ovenOpenedText ); |
|
stage.addChild( dialogueHeardText ); |
|
|
|
// Cookedness Score |
|
|
|
var outerConditionDesc = new createjs.Text( turkeyState.skin.cond[2], "20px Arial", "black" ); |
|
outerConditionDesc.x = 150; |
|
outerConditionDesc.y = 320; |
|
|
|
var coreConditionDesc = new createjs.Text( turkeyState.core.cond[2], "20px Arial", "black" ); |
|
coreConditionDesc.x = 150; |
|
coreConditionDesc.y = 340; |
|
|
|
var outerConditionText = new createjs.Text( skinScoreChart[ turkeyState.skin.cond[2] ], "20px Arial", "black" ); |
|
outerConditionText.x = 310; |
|
outerConditionText.y = 320; |
|
|
|
var coreConditionText = new createjs.Text( coreScoreChart[ turkeyState.core.cond[2] ], "20px Arial", "black" ); |
|
coreConditionText.x = 310; |
|
coreConditionText.y = 340; |
|
|
|
|
|
stage.addChild( coreConditionText ); |
|
stage.addChild( outerConditionText ); |
|
|
|
stage.addChild( coreConditionDesc ); |
|
stage.addChild( outerConditionDesc ); |
|
|
|
// Temperature Score |
|
|
|
var outerTemperatureText = new createjs.Text( outerTempScore.toFixed(0), "20px Arial", "black" ); |
|
outerTemperatureText.x = 680; |
|
outerTemperatureText.y = 320; |
|
|
|
var coreTemperatureText = new createjs.Text( coreTempScore.toFixed(0), "20px Arial", "black" ); |
|
coreTemperatureText.x = 680; |
|
coreTemperatureText.y = 340; |
|
|
|
var outerTemperatureDesc = new createjs.Text( outerTemp + " F", "20px Arial", "black" ); |
|
outerTemperatureDesc.x = 530; |
|
outerTemperatureDesc.y = 320; |
|
|
|
|
|
|
|
var coreTemperatureDesc = new createjs.Text( coreTemp + " F", "20px Arial", "black" ); |
|
coreTemperatureDesc.x = 530; |
|
coreTemperatureDesc.y = 340; |
|
|
|
|
|
|
|
stage.addChild( outerTemperatureText ); |
|
stage.addChild( coreTemperatureText ); |
|
|
|
stage.addChild( coreTemperatureDesc ); |
|
stage.addChild( outerTemperatureDesc ); |
|
|
|
// Modifiers |
|
var turkeyMod = typeToMod[gameState.turkeyType]; |
|
var turkeyTypeModifierText = new createjs.Text( -1*((1-turkeyMod)*100).toFixed(0) + "%", "20px Arial", "black" ); |
|
turkeyTypeModifierText.x = 310; |
|
turkeyTypeModifierText.y = 437; |
|
|
|
totalScore *= turkeyMod; |
|
|
|
var stuffingTypeModifierText = new createjs.Text( -1*((1-gameState.stuffingTypeModifier)*100).toFixed(0)+"%" , "20px Arial", "black" ); |
|
stuffingTypeModifierText.x = 310 |
|
stuffingTypeModifierText.y = 457; |
|
|
|
totalScore *= gameState.stuffingTypeModifier; |
|
|
|
var frillsModifierText = new createjs.Text( "x"+gameState.frillsModifier, "20px Arial", "black" ); |
|
frillsModifierText.x = 310 |
|
frillsModifierText.y = 477; |
|
|
|
totalScore *= gameState.frillsModifier; |
|
|
|
var hardcoreModifierText = new createjs.Text( "x"+gameState.hardcoreModifier, "20px Arial", "black" ); |
|
hardcoreModifierText.x = 310 |
|
hardcoreModifierText.y = 497; |
|
|
|
totalScore *= gameState.hardcoreModifier; |
|
|
|
var totalText = new createjs.Text( totalScore.toFixed(0), "32px Arial", "black" ); |
|
totalText.x = 250; |
|
totalText.y = 550; |
|
stage.addChild( totalText ); |
|
|
|
stage.addChild( stuffingTypeModifierText ); |
|
stage.addChild( turkeyTypeModifierText ); |
|
stage.addChild( frillsModifierText ); |
|
stage.addChild( hardcoreModifierText ); |
|
}} ); |
|
|
|
|
|
return { |
|
blit : function(){} |
|
} |
|
} |
|
|
|
function CreditsScreen( stage, gameState ){ |
|
var that = this; |
|
|
|
this.background = new createjs.Bitmap( "res/screens/HelpCreditsScreen/Credits.png" ); |
|
stage.addChild( this.background ); |
|
stage.addChild( new Button( stage, gameState, 698, 533, 80, 50, "SwitchScreen", "MainScreen" ) ); |
|
|
|
this.uiElems = []; |
|
return { |
|
blit : function(){ |
|
|
|
// Draw all the uiElements |
|
for( var index in that.uiElems ){ |
|
that.uiElems[ index ].tick(); |
|
} |
|
} |
|
} |
|
// |
|
}
|
|
|