Javascript jqueryconnectfour-help调试函数

Javascript jqueryconnectfour-help调试函数,javascript,jquery,Javascript,Jquery,我的jQuery作业有问题(我是一名学生,也是一名JS初学者) 基本上,任务是使用MV(C)(我们不使用controller)模式使用jQuery创建一个connectfour游戏 比赛场地是一个2D阵列,看起来像这样 - , - , - , - , - , - , - - , - , - , - , - , - , - - , - , - , - , - , - , - - , - , - , - , - , - , - - , - , - , - , - , - , - - , -

我的jQuery作业有问题(我是一名学生,也是一名JS初学者)

基本上,任务是使用MV(C)(我们不使用controller)模式使用jQuery创建一个connectfour游戏

比赛场地是一个2D阵列,看起来像这样

- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
玩家通过按立柱进行游戏(例如,玩家1按3)

播放器2按下4键

- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , - , - , - , - , - 
- , - , x , o , - , - , - 
等等

比赛结束后,获胜的四个字母应改为大写

我陷入困境,不知道如何继续,所以我创建了一个包含所有代码的GitHub存储库

基本上,它会初始化游戏场,您可以按数字,但play()方法将不起作用

如果有人能告诉我为什么不将数组的值从-更改为x/o,那就太好了

代码如下:

checkAvailableRow(column) {
            for (var i = 5 ; i >= 0 ; i--) {
                console.log(currentPlayer);
                if (playFieldArray[column][i] === "-") {
                    return i;
                    if(currentPlayer == "Player 1"){
                        playFieldArray[column][i] = "x";
                    } else {
                        playFieldArray[column][i] = "o";
                    }

                }
            }
            return -1;
        }
以及Model.js中的checkIfWon()函数不起作用的原因

我会永远感激你的帮助

return i;
返回导致逻辑进程从其所在的函数中返回。因此,之后的任何逻辑都不会发生。对这句话发表评论,看看有没有什么变化(应该是这样的)


或者将其移动到更改数组值的if/else之后。

以下是一个示例,说明在提供网格和x值时如何获取y轴的可用索引:

//当给定网格和x时,用于获取y的可用索引的函数
//如果没有y可用,则返回false
常量getY=(网格,索引)=>{
const getIndex=(arr,index)=>{
如果(arr[索引]=“-”){
收益指数;
}
if(index//)只是为了使网格在console.log中看起来正常
网格[0].map((i,y)=>grid.map((i,x)=>y,x]))
.map((row)=>row.map([y,x])=>grid[x][y]);
const format=grid=>rotate(grid).map(row=>row.join(“”)。join(“\n”);
//用于为测试更改网格设置项的函数
const setItem=(x,grid,value)=>y=>grid[x][y]=值;
//7×6网格包含-
const grid=Array.from(新数组(7),()=>Array.from(新数组(6),()=>“-”));
//向网格中添加一些值
[0,1,2,3,4,5].forEach(x=>[0,1,2,3,4,5].slice(x).forEach(setItem(x,grid,“O”));
log(“网格为:”);
日志(格式(网格));
//请在请求时查看y的值
控制台日志(“测试…”);
[0,1,2,3,4,5,6]。forEach(
x=>console.log(`y是${getY(grid,x)},而x是:${x}`)

)一个小细节,通常在二维数组中,第一个括号是行,而不是列。
return i;