aboutsummaryrefslogtreecommitdiff
path: root/src/paperflight
diff options
context:
space:
mode:
Diffstat (limited to 'src/paperflight')
-rw-r--r--src/paperflight/index.html3
-rw-r--r--src/paperflight/static/draw.js24
-rw-r--r--src/paperflight/static/levels.js33
-rw-r--r--src/paperflight/static/update.js5
4 files changed, 44 insertions, 21 deletions
diff --git a/src/paperflight/index.html b/src/paperflight/index.html
index 731b92e..9432244 100644
--- a/src/paperflight/index.html
+++ b/src/paperflight/index.html
@@ -22,7 +22,7 @@
<script>
var username = undefined
- var score, plane, gameInterval, currLevelIndex, currLevel, t, collected, startLevel
+ var score, plane, gameInterval, currLevelIndex, currLevel, t, collected, startLevel, switchState
var DEFAULT_VX = 3
var DEFAULT_VY = 0.5
@@ -48,6 +48,7 @@
}
score = 0
t = 0
+ switchState = 0
plane = {
x: 30,
y: height / 4,
diff --git a/src/paperflight/static/draw.js b/src/paperflight/static/draw.js
index fe0cad5..de64e27 100644
--- a/src/paperflight/static/draw.js
+++ b/src/paperflight/static/draw.js
@@ -10,7 +10,7 @@ function draw() {
ctx.fillStyle = "#222"
ctx.font = "20px Courier"
- ctx.fillText(`Level ${currLevelIndex} (${collected}/${currLevel.coinsNeeded}) - Time ${Math.round(t / fps / 60)}:${Math.round(t / fps) % 60}`, 20, 20)
+ ctx.fillText(`Level ${currLevelIndex} (${collected}/${currLevel.coinsNeeded}) - ${currLevel.title} - Time ${Math.round(t / fps / 60)}:${Math.round(t / fps) % 60}`, 20, 20)
}
function drawPlane() {
@@ -36,8 +36,8 @@ function drawVent() {
ctx.fillStyle = "#ccc"
ctx.fillRect(this.x, this.y, this.width, 10)
ctx.fillStyle = "white"
- var yDelta = Math.sin(t / 30) * 40
- for (var i = this.y; i > 30; i -= 60) {
+ var yDelta = Math.sin(t / 30) * 40
+ for (var i = 0; i < this.height; i+= 60) {
ctx.fillRect(this.x, this.y - i + yDelta, 1, 8)
ctx.fillRect(this.x+this.width/2-2, this.y - i + yDelta/2, 1, 12)
ctx.fillRect(this.x+this.width-2, this.y - i + yDelta, 1, 8)
@@ -71,4 +71,22 @@ function drawExit(exit) {
ctx.beginPath()
ctx.arc(exit.x, exit.y, 20, 0, Math.PI * 2)
ctx.fill()
+}
+function drawSwitch(){
+ ctx.fillStyle = "black"
+ ctx.fillRect(this.x, this.y, this.width, this.height)
+}
+function drawSwitchRect(){
+ if(switchState == this.state){
+ ctx.fillStyle = "blue"
+ ctx.fillRect(this.x, this.y, this.width, this.height)
+ } else {
+ ctx.stokeStyle = "blue"
+ ctx.setLineDash([5, 5]);
+ ctx.beginPath()
+ ctx.moveTo(this.x, this.y)
+ ctx.lineTo(this.x + this.width, this.y + this.height)
+ ctx.lineTo(this.x + this.width, this.y + this.height)
+ ctx.lineTo(this.x, this.y)
+ }
} \ No newline at end of file
diff --git a/src/paperflight/static/levels.js b/src/paperflight/static/levels.js
index d826095..a7116b4 100644
--- a/src/paperflight/static/levels.js
+++ b/src/paperflight/static/levels.js
@@ -2,24 +2,17 @@ var levels = {
1: {
coinsNeeded: 5,
exit: {
- x: 40,
+ x: 40,
y: 460
},
+ title: "Downwards Dash",
items: [{
draw: drawVent,
update: updateVent,
x: 420,
y: 580,
- width: 60
- },
- {
- draw: drawRamp,
- update: updateRamp,
- x: 0,
- y: 0,
- slope: 0,
- width: 800,
- height: 40
+ width: 60,
+ height: 600
},
{
draw: drawCoin,
@@ -33,7 +26,8 @@ var levels = {
update: updateVent,
x: 120,
y: 100,
- width: 280
+ width: 280,
+ height: 100
},
{
draw: drawBlock,
@@ -69,7 +63,7 @@ var levels = {
update: updateRamp,
x: 70,
y: 410,
- slope: 2/5,
+ slope: 2 / 5,
width: 200,
height: 10
},
@@ -78,7 +72,7 @@ var levels = {
update: updateRamp,
x: 70,
y: 470,
- slope: 2/5,
+ slope: 2 / 5,
width: 200,
height: 10
},
@@ -89,6 +83,15 @@ var levels = {
y: 405,
radius: 10
},
- ]
+ {
+ draw: drawRamp,
+ update: updateRamp,
+ x: 0,
+ y: 0,
+ slope: 0,
+ width: 800,
+ height: 40
+ },
+ ]
}
} \ No newline at end of file
diff --git a/src/paperflight/static/update.js b/src/paperflight/static/update.js
index 296308f..226d015 100644
--- a/src/paperflight/static/update.js
+++ b/src/paperflight/static/update.js
@@ -17,7 +17,8 @@ function update() {
}
}
function updateVent() {
- if (plane.x >= this.x - plane.width && plane.x <= this.x + this.width && plane.y < this.y) {
+ if (plane.x >= this.x - plane.width && plane.x <= this.x + this.width && this.y - this.height < plane.y && plane.y < this.y) {
+ // console.log(plane.y, this.y, this.y-this.height)
plane.y -= 2
}
}
@@ -45,4 +46,4 @@ function updateCoin(){
this.collected = true
collected++
}
-} \ No newline at end of file
+}