久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

canvas實現五子棋游戲的代碼示例

本篇文章給大家帶來的內容是關于canvas實現五子棋游戲的代碼示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

效果

canvas實現五子棋游戲的代碼示例

代碼

<!DOCTYPE html> <html lang="zh_CN"> <head>     <meta charset="UTF-8">     <title>五子棋</title>     <script src="https://code.jquery.com/jquery-3.3.1.js"></script> </head> <body> <canvas id="canvas" width="400" height="400"></canvas> <script>     (function () {    // 畫布繪制         let canvas = document.getElementById("canvas");         let context = canvas.getContext("2d");         context.beginPath();         for (let i = 0; i < 19; i++) {             // 豎線繪制             context.moveTo(10 + i * 20, 10);             context.lineTo(10 + i * 20, 370);             // 橫線繪制             context.moveTo(10, 10 + i * 20);             context.lineTo(370, 10 + i * 20);         }         context.stroke();     })();     // 鼠標單擊     let blorwh = 0;     // 定義用于判斷落子的二維數組     let matrix = new Array(19);     // 進行賦值     for(let i = 0; i < 19; i++){         matrix[i] = new Array(19);         for(let j = 0; j < 19; j++){             matrix[i][j] = 0;         }     }     $("#canvas").click((event) => {         // 每次落子的時候取反         blorwh = !blorwh;         console.log(event.offsetX);         let canvas = document.getElementById("canvas");         let context = canvas.getContext("2d");         // 保存要落子的坐標         let arcPosX, arcPosY;         // 保存棋子在數組中的位置         let mtxPosX, mtxPosY;         // 和每一條線進行比較,如果相差10個像素以內,即,靠近         for(let x = 0; x < 19; x++){             if(Math.abs(event.offsetX - (10 + x * 20)) < 10){                 // 獲得需要騾子的x                 arcPosX = 10 + x * 20;                 mtxPosX = x;             }             if(Math.abs(event.offsetY - (10 + x * 20)) < 10){                 // 獲得需要的y                 arcPosY = 10 + x * 20;                 mtxPosY = x;             }         }         // 畫出棋子         // 落子為空,進行繪制,反之不繪制         if(matrix[mtxPosX][mtxPosY] == 0) {             context.beginPath();             if (blorwh) {                 context.fillStyle = "white";                 context.arc(arcPosX, arcPosY, 10, 0, Math.PI * 2, false);                 context.stroke();                 // 白子為1                 matrix[mtxPosX][mtxPosY] = 1;             } else {                 context.fillStyle = "black";                 context.arc(arcPosX, arcPosY, 10, 0, Math.PI * 2, false);                 // 黑子為2                 matrix[mtxPosX][mtxPosY] = 2;             }             context.fill();         }         // 獲勝檢測         if(matrix[mtxPosX - 1][mtxPosY] == matrix[mtxPosX][mtxPosY] &&             matrix[mtxPosX - 2][mtxPosY] == matrix[mtxPosX][mtxPosY]  &&                 matrix[mtxPosX -3][mtxPosY] == matrix[mtxPosX][mtxPosY]  &&                     matrix[mtxPosY - 4][mtxPosY] == matrix[mtxPosX][mtxPosY]){             if(matrix[mtxPosX][mtxPosY] == 1){                 alert("白方獲勝");             }else{                 alert("黑方獲勝");             }         }     }) </script> </body> </html>

思路

創建數組用于保存五子棋的位置即可。
輸贏判斷使用遍歷即可
重復落棋用判斷保存的數組的位置是否已經有棋子即可
落在交叉線和附近的點判斷,如果相差小于一定數值進行落棋。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
欧美成人午夜| 日韩不卡免费视频| 99久精品视频在线观看视频| 久久久久午夜电影| 日本在线成人| 久久久天天操| 国产一区二区三区四区五区| 亚洲欧美高清| 国产欧美一区二区三区精品酒店| 日韩和欧美一区二区| 婷婷综合亚洲| 成人在线视频区| 欧美一区成人| 六月天综合网| 国产日韩专区| 欧美日中文字幕| 日韩精品91亚洲二区在线观看| 亚洲天堂黄色| 九一精品国产| 1024精品一区二区三区| 三上悠亚国产精品一区二区三区| 国产欧美高清视频在线| 亚洲精品三级| 欧美亚洲三级| 婷婷视频一区二区三区| 影院欧美亚洲| 国产亚洲毛片在线| 九九色在线视频| 国产免费成人| 精品国产一区二区三区噜噜噜| 黑丝美女一区二区| 激情婷婷亚洲| 欧美一级全黄| 91高清一区| 国产精品毛片视频| 黄色成人91| 免费在线亚洲| 狠狠久久婷婷| 日韩黄色免费网站| 欧美午夜精彩| 亚洲色图综合| 精品一区不卡| 亚洲精品国产偷自在线观看| 青青青国产精品| 麻豆一区二区在线| 成人羞羞在线观看网站| 国产aⅴ精品一区二区三区久久 | 国产麻豆精品| 福利一区视频| 一区二区电影| 亚洲不卡系列| 久久精品国产99国产| 黑丝一区二区| 国产高清一区| 欧美精品91| 国产一区导航| 激情综合五月| 欧美日韩一区二区三区四区在线观看| 欧美精品国产| 久久一区国产| 亚洲视频国产精品| 精品国产一区二| 尤物在线精品| 91精品国产经典在线观看| 91精品久久久久久久久久不卡| 久久婷婷一区| 亚洲精品中文字幕99999| 国产精品探花在线观看| 黑人精品一区| 麻豆亚洲精品| av资源中文在线天堂| 久久国产66| 精品一区二区三区亚洲| 亚洲少妇一区| 欧美激情精品| 国产综合激情| 久久蜜桃精品| 四虎成人av| 中文字幕日本一区二区| 久久久久中文| 日韩电影二区| 日韩av在线中文字幕| 国产成人精品免费视| 免播放器亚洲一区| 久久国产精品久久久久久电车 | 一区二区视频欧美| 国产日韩一区二区三区在线播放| 欧美日韩免费观看视频| 国产欧美日韩亚洲一区二区三区| 亚洲国产一区二区三区在线播放| 成人国产精品久久| 久久精品人人| 日韩成人a**站| 国产精品v一区二区三区| 日韩精品一区二区三区免费视频| 丝袜诱惑制服诱惑色一区在线观看 | 欧美日韩调教| 色吊丝一区二区| 丝袜诱惑一区二区| 国产视频欧美| 亚洲精品一级二级| 亚洲专区欧美专区| 美日韩精品视频| 黄色av一区| 青青在线精品| 五月天av在线| 六月丁香综合| 精品国产午夜| 99亚洲视频| 日韩成人午夜精品| 欧美日韩亚洲一区在线观看| 国产精品亚洲欧美一级在线| 国产精品精品| 日韩午夜高潮| 一本一道久久a久久| 久久av超碰| 国产亚洲综合精品| 国产日韩欧美在线播放不卡| 精品国产免费人成网站| 国产综合婷婷| 欧美日韩99| 欧美日韩国产欧| 久久超碰99| 一区二区高清| 91精品国产自产在线观看永久∴ | 成人看片网站| 国精品一区二区三区| 久久久久久色 | 中文另类视频| 免费在线看一区| 日本欧美在线看| 国产精品午夜av| 久久国产日韩| 日本成人中文字幕| 日韩欧美国产精品综合嫩v| 尤物在线精品| 日韩av三区| 国产一区福利| 国产99在线| 日本一区中文字幕| 国产在线欧美| 欧美精选视频一区二区| 久久黄色影视| 精品日韩视频| 日韩高清不卡| 亚洲成av在线| 亚洲伊人精品酒店| 精品视频在线观看网站| 亚洲欧美视频一区二区三区| 久久精品国产久精国产爱| 国产亚洲欧美日韩精品一区二区三区| 天堂va蜜桃一区二区三区| 国产精品亚洲四区在线观看| 亚洲国产专区| 一区二区三区四区日韩| 久久精品av| 久久精品不卡| 99视频精品| 亚洲午夜免费| 日本伊人午夜精品| 欧美日本久久| 欧美国产另类| 不卡福利视频| 欧美日中文字幕| 一区久久精品| 亚洲一区二区三区久久久| 美女国产精品| 国产欧美一区二区色老头| 麻豆国产一区| 国产aⅴ精品一区二区四区| 欧美91在线| 国产精品国产三级国产在线观看| 国产成人精品一区二区三区视频 | 亚洲精品伊人| 日韩欧美三区| 国产精品一区二区av交换| 国产精品中文字幕亚洲欧美| 91精品日本| 伊人久久在线| 国产精品久久久久蜜臀| 国产成人精品一区二区三区免费 | 国产精品成人国产| 亚洲欧美日韩专区| 99精品美女| 成人亚洲精品| 久久xxxx精品视频| 久久免费精品| 欧美精品黄色| 亚洲+小说+欧美+激情+另类| 欧美91在线| 国产精品婷婷| a天堂资源在线| 日本在线视频一区二区| 精品国产一区二区三区2021| 精品日韩毛片| 毛片不卡一区二区| 亚洲精品韩国| 91精品亚洲| 久久亚洲黄色| 日本国产欧美|