亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
對于顏色bug直接把me = !me寫在判斷里就行了唄:
if (chessBoard[i][j] == 0) {
oneStep(i, j, me);
if (me) {
chessBoard[i][j] = 1;
me = !me;
}
else {
chessBoard[i][j] = 2;
me = !me;
}
}
邏輯清楚,代碼簡潔,很好的學習素材,謝謝老師
老師講得十分清楚!感謝!?。。?/div>
很厲害,建議學完一定要學老師的 俄羅斯方塊, 保證讓你學到更多東西。
有沒有源碼
然而按照老師的思路寫的判斷完全不會出現樓下說的顏色錯誤的bug→_→每次落子都會把對應數組元素改為1或者2,再點擊的時候根本不會執行落子或是變色的操作,怎么會出現bug的。。。。
加個return 就可以解決啦
有一個小bug 比如我執黑先下了第一顆子,然后該執白了,執白時,我不小心點了在黑子上,然后我在點其他位置,那么悲劇發生了,下的是黑子,這個判斷還要在加點“料”
其實這個有個bug吧!當你點擊已經有了黑子!你在去點一次已經點了一次的黑子!下一次出現的是黑子!并不是白子;

最贊回答 / qq_幾分秀_04105739
上面同學的說法不太對,不是因為方面操作吧。var x=e.offsetX;//獲取的是相對于整個canvas容器的x坐標值var y=e.offsetY;//獲取的是相對于整個canvas容器的y坐標值var i = Math.floor(x/30);var j = Math.floor(y/30);oneStep(i,j,me); //傳入i,j值context.arc(15+i*30,15+j*30,13,0,2*Math.PI) ;//oneStep(i,j,me)里的畫圓函數以上其實 可以 等同于...
var i = Math.floor(x / 30);,為什么是除以30

已采納回答 / undarkness
-2是向上和左的偏移,內部陰影加inset。如果你是要說光線不應該是這么樣,右下角有了左上角就不該有的話,那是他為了消除棋盤的紙片感偷懶用的方法,要css實現有厚度感的立體效果比較麻煩,還不如直接用圖片,而且不是這講的重點。
if (chessBoard[i][j] == 0) {
oneStep(i, j, me);
if (me) {
chessBoard[i][j] = 1;
}else{
chessBoard[i][j] = 2;
}
me = !me;

}
oneStep(i, j, me);
me != me;(這里原來是me = !me,只修改這里就不用點兩次變色了)
老師用的是Sublime~
課程須知
本課程是前端中級課程 1、JS基礎知識 2、Canvas基礎知識
老師告訴你能學到什么?
1、canvas繪制五子棋棋盤 2、canvas繪制黑白棋子 3、五子棋交互邏輯處理

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消