phaserConfig.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. var config = {
  2. type: Phaser.AUTO,
  3. scale:{
  4. mode: Phaser.Scale.FIT,
  5. width: 1320,
  6. height: 600
  7. },
  8. scene: {
  9. preload: preload,
  10. create: create,
  11. update: update
  12. }
  13. };
  14. var game = new Phaser.Game(config);
  15. var towerA=[], towerB=[], towerC=[];
  16. var diskQntity=3, nMoves, nCurrentMoves=0;
  17. var textsFont = { fontFamily: 'Arial', fontSize: 64, color: '#000000' };
  18. var gameWonMsg;
  19. var redoButton, undoButton;
  20. function preload ()
  21. {
  22. this.load.image('sky', 'assets/sky.png');
  23. //this.load.image('base', 'assets/baseText.png');
  24. this.load.image('torre','assets/torre.png');
  25. this.load.image('selectionArea', 'assets/selectionArea.png');
  26. //buttons
  27. this.load.image('redo', 'assets/redo.png');
  28. this.load.image('redoDisabled', 'assets/redoDisabled.png');
  29. this.load.image('undo', 'assets/undo.png');
  30. this.load.image('undoDisabled', 'assets/undoDisabled.png');
  31. //load all imgs needed for the exercise
  32. for (var i = 0; i < diskQntity; i++) {
  33. this.load.image('disk'+i, 'assets/disk'+i+'.png')
  34. this.load.image('stroked'+i, 'assets/strokedDisks/stroked'+i+'.png')
  35. }
  36. }
  37. function create ()
  38. {
  39. this.add.image(0,0,'sky').setOrigin(0).setDisplaySize(1320,600);
  40. //Texts
  41. this.add.text(20,20,'Movimentos:' ,textsFont);
  42. nMoves = this.add.text(390,20,0 ,textsFont);
  43. this.add.text(120,520,'Torre A' ,textsFont);
  44. this.add.text(555,520,'Torre B' ,textsFont);
  45. this.add.text(990,520,'Torre C' ,textsFont);
  46. gameWonMsg = this.add.text(20,150,'',{ fontFamily: 'Arial', fontSize: 64, color:'#00ef00' });
  47. //buttons
  48. redoButton = this.add.sprite(695, 100, 'redoDisabled').setDisplaySize(60,60)//.setInteractive({useHandCursor: false});
  49. redoButton.on('pointerdown', function(pointer){
  50. redoMove();
  51. });
  52. undoButton = this.add.sprite(625, 100, 'undoDisabled').setDisplaySize(60,60)//.setInteractive({useHandCursor: false});
  53. undoButton.on('pointerdown', function(pointer){
  54. undoMove();
  55. });
  56. //Towers
  57. this.add.image(220,320,'torre').setScale(0.13);
  58. this.add.image(655,320,'torre').setScale(0.13);
  59. this.add.image(1090,320,'torre').setScale(0.13);
  60. //Disks
  61. var diskX=220, diskY=430;
  62. for (var i = diskQntity-1; i >=0; i--) {
  63. towerA[diskQntity-1-i]= this.add.sprite(diskX,diskY,'disk'+i).setScale(0.13);//.setDisplaySize(diskWidth, diskHeight);
  64. diskY -= 28;
  65. }
  66. //towerA Selection Area
  67. var towerASelectionArea = this.add.sprite(220, 375, 'selectionArea').setDisplaySize(400,320).setInteractive({useHandCursor: true});
  68. towerASelectionArea.on('pointerdown', function (pointer) {
  69. selectA();
  70. });
  71. //towerB selectionArea
  72. var towerBSelectionArea = this.add.sprite(655, 375, 'selectionArea').setDisplaySize(400,320).setInteractive({useHandCursor: true});
  73. towerBSelectionArea.on('pointerdown', function (pointer) {
  74. selectB();
  75. });
  76. var towerCSelectionArea = this.add.sprite(1090, 375, 'selectionArea').setDisplaySize(400,320).setInteractive({useHandCursor: true});
  77. towerCSelectionArea.on('pointerdown', function (pointer) {
  78. selectC();
  79. });
  80. }
  81. function update ()
  82. {
  83. }
  84. function event() {
  85. console.log('over');
  86. }