Coding is Fun!

Lab 6 – Lifeline

Back to Lab

<!DOCTYPE html>
<html lang="en">
<body>

<canvas id="gameCanvas" width="600" height="300" style="border-style: solid; border-width: 2px; border-color: black;"></canvas>

<p>
  <button id="startBtn" onclick="start()">Start</button>
</p>

<h1>
  My First Game
</h1>

<script>

// 1. Variables

// 2. Frame

// 3. Update 

// 4. Render

// 5. Start
function start(){
  // where to draw
  canvas = document.getElementById("gameCanvas");
  ctx = canvas.getContext('2d');

  //Temporary, to be removed
  drawFilledRect(20, 30, 40, 50, "red");
  drawEmptyRect(70, 30, 50, 40, "black");
  drawFilledCircle(100, 100, 20, 0, 2 * Math.PI, false, "gray");
  drawText("Score: ", 10, 300);
  drawText("Game Over!", 450, 300);
  drawFly(250, 150);
  drawSwatter(300, 150);
  drawTimeBar(300);
}

// 6. Stop 

// 7. Mouse Move

// 8. Mouse Click

// 9. Filled Rectangle
function drawFilledRect(x, y, width, height, color){
  ctx.fillStyle = color;
  ctx.fillRect(x, y, width, height);
}

// 10. Empty Rectangle
function drawEmptyRect(x, y, width, height, color){
  ctx.strokeStyle = color;
  ctx.strokeRect(x, y, width, height);
}

// 11. Filled Circle
function drawFilledCircle(x, y, radius, startAngle, endAngle, CounterClockwise, color){
  ctx.fillStyle = color;
  ctx.beginPath();
  ctx.arc(x, y, radius, startAngle, endAngle, CounterClockwise);
  ctx.closePath();
  ctx.fill();
}

// 12. Draw Text
function drawText(text,x,y){
  ctx.fillStyle = "black";
  ctx.font = "30px fantasy";
  ctx.fillText(text, x, y);
}

// 13. Draw Fly
function drawFly(x, y){
  drawFilledCircle(x, y, 8, 0, 2 * Math.PI, false, "black")
  drawFilledCircle(x-10, y-10, 10, 0, 2 * Math.PI, false, "gray");
  drawFilledCircle(x+10, y-10, 10, 0, 2 * Math.PI, false, "gray");
}

// 14. Draw Swatter
function drawSwatter(x, y){
  drawEmptyRect(x, y, 20, 20, "black");
  drawEmptyRect(x-20, y, 20, 20, "black");
  drawEmptyRect(x, y-20, 20, 20, "black");
  drawEmptyRect(x-20, y-20, 20, 20, "black");
  drawFilledRect(x - 5, y + 23, 10, 15, "gray");
}

// 15. Draw Time Bar
function drawTimeBar(t){
  ctx.fillStyle = "red";
  ctx.fillRect(0, 0, t, 10);
}

// 16. Random Number

</script>

</body>
</html>