1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)var sprites = (function() {
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  var objs;
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  var width;
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  var height;
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  var SPRITE_SPEED = 2;
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  var sprites = {};
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  sprites.init = function(w, h) {
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    objs = [];
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    width = w;
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    height = h;
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  };
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  sprites.add = function(img) {
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    var obj = { img: img,
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                  x: Math.random() * (width - img.width),
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                  y: Math.random() * (height - img.height),
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                 dx: SPRITE_SPEED * (Math.random() < .5 ? -1 : 1),
22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                 dy: SPRITE_SPEED * (Math.random() < .5 ? -1 : 1) };
23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    objs.push(obj);
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  };
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  sprites.draw = function(context) {
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    for (var i = 0, len = objs.length; i < len; ++i) {
27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      var obj = objs[i];
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      obj.x += obj.dx;
30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      if ((obj.x > (width - obj.img.width)) || (obj.x < 0))
31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        obj.dx *= -1;
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      obj.y += obj.dy;
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      if ((obj.y > (height - obj.img.height)) || (obj.y < 0))
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        obj.dy *= -1;
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      context.drawImage(obj.img, obj.x, obj.y);
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  };
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  };
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return sprites;
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)})();
42