Game
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

script.js 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. window.ontouchmove = function(evt) {
  2. evt.preventDefault();
  3. }
  4. var currentSoundtrack = -1;
  5. function playSoundtrack(tracks) {
  6. var keys = Object.keys(tracks);
  7. if (currentSoundtrack === -1)
  8. currentSoundtrack = randInt(0, keys.length);
  9. var key = keys[currentSoundtrack];
  10. var track = tracks[key];
  11. var trackId = currentSoundtrack;
  12. while (currentSoundtrack === trackId)
  13. currentSoundtrack = randInt(0, keys.length);
  14. if (track.ready) {
  15. track.play();
  16. track.once("ended", function() { playSoundtrack(tracks) });
  17. } else {
  18. track.once("load", function() {
  19. track.play();
  20. track.once("ended", function() { playSoundtrack(tracks) });
  21. });
  22. }
  23. }
  24. playSoundtrack(assets.soundtracks);
  25. document.querySelector("#restart").addEventListener("click", function() {
  26. document.querySelector("#done-screen").className = "hidden";
  27. run();
  28. });
  29. function run() {
  30. var game = new Game(document.getElementById("canvas"));
  31. game.canvas.width = window.innerWidth;
  32. game.canvas.height = window.innerHeight;
  33. var worldgen = new WorldGen(game);
  34. game.start(worldgen);
  35. game.onstop = function(score) {
  36. document.querySelector("#score").innerText = score;
  37. document.querySelector("#done-screen").className = "";
  38. }
  39. }
  40. run();