Get_Bentley Posted August 3, 2016 Share Posted August 3, 2016 Hey all, Okay so I am doing a simple Connect 4 game using Phaser in ES6. I am having trouble calculating matches.....well even having trouble getting the position of where the sprite lands when iterating through the grid object. Please have a look and if anyone has any suggestions let me know. //Grid Object this.grid = { column1: { x: 263, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, column2: { x: 427, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, column3: { x: 582, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, column4: { x: 743, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, column5: { x: 904, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, column6: { x: 1062, width: 112, pos1: { y: 843, player: null, sprite: null, }, pos2: { y: 684, player: null, sprite: null, }, pos3: { y: 523, player: null, sprite: null, }, pos4: { y: 365, player: null, sprite: null, }, pos5: { y: 204, player: null, sprite: null, }, }, }; //Check match function checkMatch() { for (let column of this.grid) { console.log(column); //itterate over each postiion for (let position of column) { console.log(position); //on each position, check direction for (var i = 0; i <= 7; i++) { let counter = 0; //on each direction, count 3 in the specific direction //if id's are a match add to the counter for (var t = 0; t <= 2; t++) { if(i = t) { counter++; console.log('this is the counter', counter); } console.log(column, position); console.log(i, t); } if(counter > 3) { console.log('WINNER!!!'); } } } } } // Error I am getting Grid.js:397 Uncaught TypeError: this.grid[Symbol.iterator] is not a function Thank you very much for anyone who has any input! Link to comment Share on other sites More sharing options...
Recommended Posts