課程
/前端開發
/JavaScript
/JS實現人機大戰之五子棋(AI篇)
我按照老師的代碼,請問為什么alert()彈出了兩次呢?
2016-08-26
源自:JS實現人機大戰之五子棋(AI篇) 2-3
正在回答
不知道你是否解決了,我和你出現了一樣的現象,經過調試后發現是如下原因,供你參考~
假設此時黑子滿足的贏法是在第1行的3,4,5,6,7格上(并假設此種贏法是第k=23),那么在判斷Mywin[23]==5時,Mywin[22]和Mywin[24]是為4的(因為旁邊兩種贏法也滿足了4顆棋子)。判斷結束后,循環繼續k增加,所以Mywin[24]也會滿足等于5的條件,于是會再次彈出~
解決辦法:在Mywin[k]==5判斷的最后加上return;,即停止循環。
這個問題真的很難回答,
舉報
"AlphaGO"我要和你下五子棋,教程帶你實現五子棋AI
1 回答老師,為啥按照你寫的,卻不能攔截我,還不能判斷我贏了呢
1 回答為什么填滿五顆子不彈出你贏了呢?
1 回答請問我做了一個棋子選擇的按鈕,為什么實現不了選擇呢?
1 回答為什么我寫的不能彈出 你贏了 和 計算機贏了?
2 回答老師,為什么我的代碼一到計分那瀏覽器就崩了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-29
不知道你是否解決了,我和你出現了一樣的現象,經過調試后發現是如下原因,供你參考~
假設此時黑子滿足的贏法是在第1行的3,4,5,6,7格上(并假設此種贏法是第k=23),那么在判斷Mywin[23]==5時,Mywin[22]和Mywin[24]是為4的(因為旁邊兩種贏法也滿足了4顆棋子)。判斷結束后,循環繼續k增加,所以Mywin[24]也會滿足等于5的條件,于是會再次彈出~
解決辦法:在Mywin[k]==5判斷的最后加上return;,即停止循環。
2016-08-30
這個問題真的很難回答,