canvas снеговик   
		
		
		
		Добрый вечер! Помогите пожалуйста! Написал программу. При корректной работе должна быть нарисована голова снеговика, которая должна двигаться от левого края к правому и обратно. Помогите пожалуйста исправить код. Заранее спасибо. 
<!DOCTYPE html!>
<html>
<head>
  <meta charset = "UTF-8">
  <title>Canvas</title>
</head>
<body>
<canvas id = "canvas" width="300" height="300" style = "border: 1px solid;"></canvas>
<script>
</script>
</body>
</html>
[JS]var gameEngine;
var nextGameStep;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var x = 10;
var y = 10;
var circle = function (x, y, radius, fillCircle) {
  ctx.beginPath();
  ctx.arc(x, y, radius, 0, Math.Pi * 2, false);
  if (fillCircle) {
    ctx.fill();
  } else {
    ctx.stroke();
  }
};
var drawSnowmanHead = function (x, y) {
  ctx.fillStyle = "Black";
  ctx.lineWidth = 4;
  circle(x, y, 30, false);
  circle(x, y, 5, true);
  circle(x, y, 5, true);
  ctx.fillStyle = "Orange";
  circle(x, y, 5, true);
};
var nextGameStep = (function () {
  return requestAnimationFrame ||
  webkitRequestAnimationFrame  ||
  mozRequestAnimationFrame     ||
  oRequestAnimationFrame       ||
  msRequestAnimationFrame      ||
  function (callback) {
   setTimeout(callback, 1000 / 60);
  };
})();
var gameEngineStart = function(callback) {
  gameEngine = callback;
  gameEngineStep();
};
var gameEngineStep = function() {
  gameEngine();
  nextGameStep(gameEngineStep);
};
var setGameEngine = function (callback) {
  gameEngine = callback;
};
var gameLoopRight = function() {
  drawSnowmanHead();
  x += 3;
  if (x >= 250) {
  setGameEngine(gameLoopLeft);
  }
};
var gameLoopLeft = function() {
  drawSnowmanHead();
  x -= 3;
  if (x < 0) {
    setGameEngine(gameLoopRight);
  }
};
gameEngineStart(gameLoopRight);
 
	 |