我正在構建一個可以玩AI的tic tac toe遊戲。在$scope.move function()
中有一個while循環,它抓住一個隨機單元格並將其作爲AI的值。不知何故,這是行不通的。這裏的codepen鏈接http://codepen.io/theMugician/pen/ojJrRpJavascript TIC TAC TOE - AI不工作?
var app = angular.module("ticTacToe", []);
app.controller("MainCtrl", function($scope){
var cell = $(".square");
$scope.player = "";
$scope.AI = "";
var cross = "×";
var circle = "◯";
/*** Choose a shape ***/
$scope.choosePlayer = function(e) {
$scope.player = $(e.currentTarget).text();
$('.choose').css('top', '-2000px');
$('#wrapper').css('top', '-600px');
$('#wrapper').css('opacity', '1');
if($scope.player === "×"){
$scope.AI = "◯";
}else if($scope.player === "◯"){
$scope.AI = "×";
}
}
/*** Shape Cells ***/
$scope.cells = [ { value: '' }, { value: '' }, { value: '' },
{ value: '' }, { value: '' }, { value: '' } ,
{ value: '' }, { value: '' }, { value: '' }
];
/*** Make a move ***/
$scope.move = function(cell){
cell.value = $scope.player;
var round = 0;
/*** AI makes a move ***/
while(round < 1){
var randomCell = $scope.cells[Math.floor((Math.random()*8)+1)];
if(randomCell.value === ""){
randomCell.value = $scope.AI;
round = 1;
}else{
round = 0;
}
}
};
});
變種randomCell = $ scope.cells [Math.floor((的Math.random()* 8)+1)]; 不要以爲你想在這一個+1。對於0索引數組,您將從1到9。 –
哎呀。感謝您指出了這一點。 –