|
@@ -1,126 +0,0 @@
|
|
|
-/**
|
|
|
|
|
-
|
|
|
|
|
-Decomposition:
|
|
|
|
|
-* Ninja jumps in y direction when space is pressed
|
|
|
|
|
-* Ninja is animated every frame
|
|
|
|
|
-
|
|
|
|
|
-* rock moves from right to left
|
|
|
|
|
-* lose a point if the rock touches the ninja
|
|
|
|
|
-
|
|
|
|
|
-* shuriken moves from right to left
|
|
|
|
|
-* shuriken y position is randomized
|
|
|
|
|
-* lose a point if shuriken touches ninja
|
|
|
|
|
-
|
|
|
|
|
-* Scene has ninja jump code
|
|
|
|
|
-* Scene has rock spawn code
|
|
|
|
|
-* Scene has shuriken spawn code
|
|
|
|
|
-* Updates the score
|
|
|
|
|
-
|
|
|
|
|
- */
|
|
|
|
|
-
|
|
|
|
|
-//****************Scene Object - Initialize When Scene Starts Event*****************//
|
|
|
|
|
-if($this.scene.state() == "PLAY") {
|
|
|
|
|
- // set up score variables
|
|
|
|
|
- $this.score = 0;
|
|
|
|
|
- // timer for 2 seconds, spawn a new obstacle
|
|
|
|
|
- createTimer(2000, function() {
|
|
|
|
|
- var chance = random(100);
|
|
|
|
|
- if (chance <= 25) {
|
|
|
|
|
- $this.generateStone()
|
|
|
|
|
- } else if(chance <= 75) {
|
|
|
|
|
- $this.generateShuriken();
|
|
|
|
|
- } else {
|
|
|
|
|
- $this.generateStone();
|
|
|
|
|
- $this.generateShuriken();
|
|
|
|
|
- }
|
|
|
|
|
- // increase score after every spawn
|
|
|
|
|
- $this.score += 10;
|
|
|
|
|
- scoreLabel.text($this.score);
|
|
|
|
|
- });
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-$this.generateStone = function() {
|
|
|
|
|
- // clone the stone object
|
|
|
|
|
- var stoneClone = stone.clone();
|
|
|
|
|
- // position it off the screen
|
|
|
|
|
- stoneClone.x(850);
|
|
|
|
|
- // activate the clone for collision
|
|
|
|
|
- stoneClone.active = true;
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-$this.generateShuriken = function() {
|
|
|
|
|
- //clone the shuriken object
|
|
|
|
|
- var shurikenClone = shuriken.clone();
|
|
|
|
|
- // position it with a random y
|
|
|
|
|
- shurikenClone.x(850);
|
|
|
|
|
- shurikenClone.y(random(150,400));
|
|
|
|
|
- // randomize the speedX
|
|
|
|
|
- shurikenClone.speedX(random(-200,-100));
|
|
|
|
|
- // activate the clone for collision
|
|
|
|
|
- shurikenClone.active = true;
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-//*********************Stone Object - Update Every Frame Event********************//
|
|
|
|
|
-// always be moving
|
|
|
|
|
-$this.moveX();
|
|
|
|
|
-
|
|
|
|
|
-// if object goes off the screen, remove it
|
|
|
|
|
-if ($this.x() < -150) {
|
|
|
|
|
- $this.remove();
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// if the object is active and it touches ninja
|
|
|
|
|
-if ($this.active && $this.isTouching(ninja)) {
|
|
|
|
|
- //deactivate object
|
|
|
|
|
- $this.active = false;
|
|
|
|
|
- //subtract points and update the UI
|
|
|
|
|
- $this.scene.score -= 5;
|
|
|
|
|
- scoreLabel.text($this.scene.score);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-//*********************Shuriken Object - Update Every Frame***********************//
|
|
|
|
|
-// always be moving
|
|
|
|
|
-$this.moveX();
|
|
|
|
|
-
|
|
|
|
|
-// if the object goes off screen, remove it
|
|
|
|
|
-if ($this.x() < 150) {
|
|
|
|
|
- $this.remove();
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// if the object is active and touchs the ninja
|
|
|
|
|
-if ($this.active && $this.isTouching(ninja)) {
|
|
|
|
|
- // deactivate this object
|
|
|
|
|
- $this.active = false;
|
|
|
|
|
- // subtract points and update the UI
|
|
|
|
|
- $this.scene -= 5;
|
|
|
|
|
- scoreLabel.text($this.scene.score);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-//***********************Scene - Update Every Frame*********************************//
|
|
|
|
|
-//check to see if spacebar is pressed
|
|
|
|
|
-var spaceIsPressed = isKeyPressed(Keys.space);
|
|
|
|
|
-
|
|
|
|
|
-// if the spacebar is pressed
|
|
|
|
|
-// and ninja is not already jumping
|
|
|
|
|
-if (spaceIsPressed && !ninja.isJumping) {
|
|
|
|
|
- ninja.velocityY = -450;
|
|
|
|
|
- ninja.isJumping = true;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-//********************ninja Object - Initialize When Scene Starts*******************//
|
|
|
|
|
-$this.incrementAnimation();
|
|
|
|
|
-
|
|
|
|
|
-// if the ninja is jumping
|
|
|
|
|
-if (this.isJumping) {
|
|
|
|
|
- // move the ninja based on its velocity
|
|
|
|
|
- $this.moveY($this.velocityY);
|
|
|
|
|
-
|
|
|
|
|
- //change the y velocity due to gravity
|
|
|
|
|
- $this.velocityY += 10;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// if the ninja touches the ground
|
|
|
|
|
-if ($this.y() > 500) {
|
|
|
|
|
- $this.isJumping = false;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|