From f7a81f4fd39bcc555c3019aa8945f8b0d7ad2d48 Mon Sep 17 00:00:00 2001 From: Yaseen Shaikh Date: Sun, 29 Apr 2018 22:26:36 -0400 Subject: [PATCH] High score and such --- .idea/workspace.xml | 110 ++++++++++++++++++++++++--------------- res/img/instructions.png | Bin 0 -> 41579 bytes res/js/game.js | 84 ++++++++++++++++++++++++------ 3 files changed, 137 insertions(+), 57 deletions(-) create mode 100644 res/img/instructions.png diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 4b12a43..9edfd37 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,7 +3,6 @@ - @@ -21,27 +20,32 @@ - - + + - - + + + + + - + + + @@ -79,42 +83,43 @@ - cleanBUl - cleanpowe - powerup { - powerup - localst - powerups - powerups - gameoverstate - potpowerup - credut - health - delay( - delay - blinkgr - moving: - [T - whale - 650 - inf - pla - // no - .add - .add(' - infobtn - add(' - infoBackBtn - infoBtnOffset backbtnof infostate lmao + .add(' + infote + functions + debounce + *= + info + flowerpot + let up + score: + score: + score:0 + localst + highSchor + reload + gameoverstate + maingamestate + = maingamestate + .score + getprevious + false + highScoreText.visible + high score + scores = [] + loc + .text = + gameover + subt shipScale getRandomEnemyZone backBtn backBtnOffset + infoImg @@ -279,7 +284,7 @@ - @@ -400,7 +412,8 @@ - @@ -486,29 +499,42 @@ + + + + + + + + - - + + - - + + + + + - + + + diff --git a/res/img/instructions.png b/res/img/instructions.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9ef372a13e36f0a07032b23bf5dac590dbafd0 GIT binary patch literal 41579 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 { + return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1); +}; + // MARK - Helper functions @@ -480,6 +484,28 @@ function setup(loader, resources) { } catch (e) { scores = []; } + + let getHighScore = function () { + console.log("Score rn is ", scores); + let maxScore = _.maxBy(scores, (score) => { + console.log("Score", score); + return score.score; + }); + console.log("Maxy", maxScore); + if (maxScore !== undefined) { + return maxScore.score; + } + }; + let highScore = getHighScore() || 0; + let setPossibleHighScore = (possibleScore) => { + let highscoreSoFar = getHighScore(); + let isHigh = possibleScore > highscoreSoFar; + console.log("Is high", highscoreSoFar, possibleScore); + if (isHigh) { + highScore = possibleScore; + } + return isHigh; + }; window.onbeforeunload = function (e) { localStorage.scores = JSON.stringify(scores); }; @@ -632,7 +658,8 @@ function setup(loader, resources) { } let ranOnceD = false; - let ranOnceI = false; + + // let ranOnceI = false; function decrementOnce(ship, amt) { if (!ranOnceD) { @@ -756,14 +783,14 @@ function setup(loader, resources) { let splashTextStyle = new PIXI.TextStyle({ fontFamily: "Upheaval", fontSize: 200, - fill: "#6483BD", + fill: "#53adff", align: "center" }); let subtitleStyle = new PIXI.TextStyle({ fontFamily: "Press Start 2P", - fontSize: 20, - fill: "#efefef" + fontSize: 50, + fill: "#feff12" }); let regularTextStyle = new PIXI.TextStyle({ @@ -777,6 +804,12 @@ function setup(loader, resources) { let playBtn = new PIXI.Sprite(resources.play_btn.texture); let infoBtn = new PIXI.Sprite(resources.info_btn.texture); let backBtn = new PIXI.Sprite(resources.back_btn.texture); + // TODO Mobile support + // let mobileUpBtn = new PIXI.sprite() + // if(isMobile()) { + // + // } + let btns = [playBtn, infoBtn, backBtn]; // todo implement info back btn // MARK - Button offsets @@ -785,8 +818,8 @@ function setup(loader, resources) { let infoBtnOffsetX = -app.screen.width * 0.95; let infoBtnOffsetY = -app.screen.height * 0.12; - - let backBtnOffsetX = -app.screen.width * 0.95; + + let backBtnOffsetX = -app.screen.width * 0.95; let backBtnOffsetY = -app.screen.height * 0.89; btns.forEach((btn) => { @@ -798,7 +831,7 @@ function setup(loader, resources) { // MARK - Button positioning playBtn.position.set((app.screen.width / 2 + startBtnOffsetY), (app.screen.height / 2 + startBtnOffsetX)); infoBtn.position.set((app.screen.width + infoBtnOffsetX), (app.screen.height + infoBtnOffsetY)); - backBtn.position.set((app.screen.width + backBtnOffsetX), (app.screen.height + backBtnOffsetY)); + backBtn.position.set((app.screen.width + backBtnOffsetX), (app.screen.height + backBtnOffsetY)); backBtn.visible = false; // not visible by default // MARK - Button logic @@ -824,21 +857,37 @@ function setup(loader, resources) { // MARK - Text Initialization let splashText = new PIXI.Text('hitchhikers\nrun', splashTextStyle); let splashTextOffset = -130; + let healthText = new PIXI.Text('HEALTH: 100', subtitleStyle); + let highScoreText = new PIXI.Text('HIGH SCORE: ' + highScore, subtitleStyle); + highScoreText.visible = false; // MARK - Text positioning splashText.anchor.set(0.5, 0.5); splashText.position.set(app.screen.width / 2, (app.screen.height / 2 + splashTextOffset)); + highScoreText.anchor.set(0.5, 0.5); + highScoreText.position.set(app.screen.width + -(app.screen.width * 0.5), app.screen.height + -(app.screen.height * 0.1)); // todo convert to offsets + + healthText.anchor.set(0.5, 0.5); + healthText.position.set(app.screen.width + -(app.screen.width * 0.85), app.screen.height + -(app.screen.height * 0.95)); + let updateHealthText = function (tick) { + debounce(tick, 2, () => { + healthText.text = "HEALTH: " + player.health; + }) + }; + + // MARK - Alternate Stages // GAME OVER (only display on end, then after x amount of time, go back to beginning let gameOverDelay = 200; // ticks let gameOverStage = new PIXI.Container(); gameOverStage.addChild(bg); - let gameOverText = new PIXI.Text("GAME\nOVER\nSCORE:0", splashTextStyle); // default + let gameOverText = new PIXI.Text("GAME\nOVER\nSCORE: 0", splashTextStyle); // default gameOverText.anchor.set(0.5, 0.5); gameOverText.position.set(app.screen.width / 2, app.screen.height / 2); + gameOverStage.addChild(highScoreText); gameOverStage.addChild(gameOverText); gameOverStage.visible = false; // GAME OVER @@ -865,12 +914,11 @@ function setup(loader, resources) { // MARK - add all elements app.stage.addChild(bg); app.stage.addChild(splashText); - // app.stage.addChild(playBtn); - // app.stage.addChild(infoBtn); - // app.stage.addChild(backBtn); + app.stage.addChild(highScoreText); + app.stage.addChild(gameOverStage); + app.stage.addChild(healthText); _.forEach(btns, (btn) => app.stage.addChild(btn)); app.stage.addChild(player.sprite); - app.stage.addChild(gameOverStage); app.stage.addChild(infoStage); @@ -891,10 +939,11 @@ function setup(loader, resources) { function initialState() { tick++; - bg.tilePosition.x += -bg_static; if (started) { splashText.visible = false; + highScoreText.visible = false; + healthText.visible = true; hideAllBtns(); player.sprite.visible = true; state = mainGameState; @@ -920,11 +969,14 @@ function setup(loader, resources) { // don't move the bg // bg.tilePosition.x = 0; - gameOverText.text = `GAME\nOVER\nSCORE:${playerScore}`; - + gameOverText.text = `GAME\nOVER\nSCORE: ${playerScore}`; + highScoreText.visible = false; gameOverStage.visible = true; if (tick > gameOverDelay) { tick = 0; + let isHighScore = setPossibleHighScore(playerScore); + highScoreText.visible = true; + highScoreText.text = "HIGH SCORE: " + highScore; scores.push({score: playerScore, ts: Date.now(), pts: Date()}); player.health = playerMaxHealth; // reset health playerScore = 0; @@ -956,6 +1008,7 @@ function setup(loader, resources) { processCollisions(); unstackEnemies(tick); animateAll(); + updateHealthText(tick); // powerups processPowerups(); @@ -977,6 +1030,7 @@ function setup(loader, resources) { if (player.health <= 0) { tick = 0; player.sprite.visible = false; + healthText.visible = false; forceClearEnemyShips(); forceClearBullets(); forceClearPowerups();