User prompt
define when it is the player turn
User prompt
Fix Bug: 'ReferenceError: playerTurn is not defined' in this line: 'if (playerTurn === 'black' && self.state === 'empty' && isValidMove(i, j, 'black', board)) {' Line Number: 20
User prompt
Fix Bug: 'ReferenceError: playerTurn is not defined' in this line: 'if (playerTurn === 'black' && self.state === 'empty' && isValidMove(i, j, 'black', board)) {' Line Number: 20
User prompt
Fix Bug: 'ReferenceError: boardStartX is not defined' in this line: 'var i = Math.floor((pos.x - boardStartX) / self.width);' Line Number: 18
User prompt
Fix Bug: 'ReferenceError: boardStartX is not defined' in this line: 'var i = Math.floor((pos.x - boardStartX) / self.width);' Line Number: 18
User prompt
Fix Bug: 'Uncaught TypeError: self.setInteractive is not a function' in this line: 'self.setInteractive(true);' Line Number: 16
User prompt
place a new tile on click if the move is valid
User prompt
add a tile when the player clicks on a valid square
User prompt
place starter tiles in the four centre squares
User prompt
create a white tile asset for the AI
User prompt
create a black tile asset for the player
User prompt
create a black tile for the player
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'width')' in this line: 'var boardWidth = 8 * tile.width;' Line Number: 17
User prompt
centre the board on screen
User prompt
Fix Bug: 'Uncaught TypeError: tileGraphics.lineStyle is not a function' in this line: 'tileGraphics.lineStyle(2, 0x000000);' Line Number: 8
User prompt
make the board 8x8, green with black outlines on each square
Initial prompt
Reversi
var AI = function () { this.makeMove = function (board) {}; }; var Tile = Container.expand(function () { var self = Container.call(this); var tileGraphics = self.createAsset('tile', 'Game Tile', .5, .5); tileGraphics.tint = 0x008000; self.state = 'empty'; self.flip = function (newState) { self.state = newState; tileGraphics.tint = newState === 'black' ? 0x000000 : 0xFFFFFF; }; }); var Game = Container.expand(function () { var self = Container.call(this); var board = []; var ai = new AI(); var playerTurn = 'black'; for (var i = 0; i < 8; i++) { board[i] = []; for (var j = 0; j < 8; j++) { var tile = self.addChild(new Tile()); tile.x = i * tile.width; tile.y = j * tile.height; board[i][j] = tile; tile.on('down', function (obj) { if (playerTurn === 'black' && tile.state === 'empty') { tile.flip('black'); playerTurn = 'white'; ai.makeMove(board); } }); } } ai.makeMove(board); LK.on('tick', function () {}); });
===================================================================
--- original.js
+++ change.js
@@ -4,9 +4,8 @@
var Tile = Container.expand(function () {
var self = Container.call(this);
var tileGraphics = self.createAsset('tile', 'Game Tile', .5, .5);
tileGraphics.tint = 0x008000;
- tileGraphics.lineStyle(2, 0x000000);
self.state = 'empty';
self.flip = function (newState) {
self.state = newState;
tileGraphics.tint = newState === 'black' ? 0x000000 : 0xFFFFFF;
create a flat, round, black counter. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
create a flat, round, white counter. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
create a flat green square with sharp corners and a very thin darker outline Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.