Live Events

The best real-time content distribution platform

instructor

Web Development Class

var animate = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000 / 60) }; var canvas = document.createElement("canvas"); var width = 400; var height = 600; canvas.width = width; canvas.height = height; var context = canvas.getContext('2d'); var player = new Player(); var computer = new Computer(); var ball = new Ball(200, 300); var keysDown = {}; var render = function () { context.fillStyle = "#000"; context.fillRect(0, 0, width, height); player.render(); computer.render(); ball.render(); }; var update = function () { player.update(); computer.update(ball); ball.update(player.paddle, computer.paddle); }; var step = function () { update(); render(); animate(step); }; function Paddle(x, y, width, height) { this.x = x; this.y = y; this.width = width; this.height = height; this.x_speed = 0; this.y_speed = 0; } Paddle.prototype.render = function () { context.fillStyle = "#fFF"; context.fillRect(this.x, this.y, this.width, this.height); }; Paddle.prototype.move = function (x, y) { this.x += x; this.y += y; this.x_speed = x; this.y_speed = y; if (this.x < 0) { this.x = 0; this.x_speed = 0; } else if (this.x + this.width > 400) { this.x = 400 - this.width; this.x_speed = 0; } }; function Computer() { this.paddle = new Paddle(175, 10, 50, 10); } Computer.prototype.render = function () { this.paddle.render(); }; Computer.prototype.update = function (ball) { var x_pos = ball.x; var diff = -((this.paddle.x + (this.paddle.width / 2)) - x_pos); if (diff < 0 && diff < -4) { diff = -5; } else if (diff > 0 && diff > 4) { diff = 5; } this.paddle.move(diff, 0); if (this.paddle.x < 0) {

  • 0
  • 0