start.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var canvas = document.getElementById('planoDeFundo');
  2. var context = canvas.getContext('2d');
  3. var towerA = [], towerB = [], towerC = [];
  4. var toMove = null;
  5. var idF=" ", idT= " ";
  6. var nMovements = 0, nTotalMovements = 0, nWrongMoves = 0, nDisks = 2;
  7. var moves = [], totalMoves = []; //vector to save movements
  8. var acertou=0;
  9. var optimalSolution;
  10. //NavyBlue Lime Fuchsia yellow Orange LightSteelBlue red
  11. var colors = ["#000080","#00FF00", "#FF00FF", "yellow", "#FFA500", "#B0C4DE","red"];
  12. var pat = [], sources = ['imgs/baseText.png', 'imgs/disk1.png', 'imgs/disk2.png', 'imgs/disk3.png',
  13. 'imgs/disk4.png', 'imgs/disk5.png', 'imgs/disk6.png'];
  14. loadIMGS(nDisks);
  15. function loadImage(url) {
  16. return new Promise((resolve, reject) => {
  17. let img = new Image();
  18. img.addEventListener('load', e => resolve(img));
  19. img.addEventListener('error', () => {
  20. reject(new Error(`Failed to load image's URL: ${url}`));
  21. });
  22. img.src = url;
  23. });
  24. }
  25. function loadIMGS(n){
  26. var allImgs = sources.map(function(path){
  27. return loadImage(path)
  28. });
  29. Promise.all(allImgs).then(function(imgs){
  30. for (var i = imgs.length - 1; i >= 0; i--) {
  31. if (imgs[i].complete){
  32. console.log(imgs[i]);
  33. }
  34. pat[i] = context.createPattern(imgs[i], "repeat");
  35. }
  36. }).then(function(){
  37. console.log(pat);
  38. inicio(n);
  39. });
  40. }