gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费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號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
日韩欧美在线免费观看视频| 91视频 - 88av| 中文字幕色网站| 亚洲 高清 成人 动漫| 国产欧美精品aaaaaa片| 欧美成人三级在线播放| 尤物国产在线观看| 91精品91久久久中77777老牛| 国产在线视频三区| www亚洲国产| 亚洲久久中文字幕| 青青草原av在线播放| 97av中文字幕| 亚洲在线观看网站| 日韩中文字幕在线不卡| 三年中文高清在线观看第6集| 国产裸体舞一区二区三区| www.日本在线播放| 成人小视频在线观看免费| 午夜免费福利小电影| 精品人妻大屁股白浆无码| 日韩国产一级片| 免费av手机在线观看| 日本wwwcom| 久久久久久久久久久久91| 免费男同深夜夜行网站| 中文字幕55页| 九九久久九九久久| 亚洲成色www.777999| 亚洲天堂一区二区在线观看| 天堂在线一区二区三区| 麻豆tv在线播放| 免费观看日韩毛片| 在线视频观看一区二区| 美女黄色片网站| 欧美国产日韩在线视频| 免费欧美一级视频| 色婷婷综合久久久久中文字幕| 欧美大片久久久| 国产系列第一页| 天天综合成人网| 国产激情在线观看视频| 日本激情视频在线| 99在线精品免费视频| 国产一线二线三线在线观看| 无码精品国产一区二区三区免费| 五月婷婷之婷婷| wwwwww欧美| 国产农村妇女精品久久| www在线观看免费| 国产成人免费高清视频| 久久久久久久久久久视频| 国产一区二区在线免费播放| 能在线观看的av| 在线播放免费视频| 成人午夜激情av| 成人性生活视频免费看| 亚洲xxxx2d动漫1| 久久精品99国产| 97碰在线视频| 国产玉足脚交久久欧美| 午夜剧场高清版免费观看| 超碰97人人射妻| 国产二区视频在线| 亚洲涩涩在线观看| 日韩视频在线观看一区二区三区| 男人插女人视频在线观看| 青青草综合在线| www亚洲国产| 中文字幕亚洲影院| 国产偷人视频免费| 国产又粗又爽又黄的视频| avav在线看| 97公开免费视频| 欧美网站免费观看| 777精品久无码人妻蜜桃| 91香蕉视频免费看| 少妇黄色一级片| 久久久久久久久久毛片| 黄色成人免费看| 手机在线观看日韩av| 超碰在线公开97| 国产一二三四五| 熟女视频一区二区三区| 久热在线视频观看| 国产大尺度在线观看| 色撸撸在线观看| av网站手机在线观看| 亚洲自偷自拍熟女另类| 成年人深夜视频| 欧美激情第3页| 男人天堂新网址| 91看片淫黄大片91| 穿情趣内衣被c到高潮视频| 99精品视频在线看| 不卡av免费在线| 日韩精品一区二区三区四| 男人天堂新网址| 国产深夜男女无套内射| 日本美女高潮视频| 午夜精品久久久久久久99热影院| 亚洲一区 在线播放| avav在线播放| 激情黄色小视频| 老汉色影院首页| 国产免费999| 亚洲免费在线播放视频| 日本不卡一区二区在线观看| 日韩一级性生活片| 少妇高潮毛片色欲ava片| 日本成人xxx| 91黄色在线看| 国产精品av免费| 日韩中文字幕在线视频观看| www黄色在线| 国产又黄又大又粗视频| 黄色av免费在线播放| 欧美乱大交xxxxx潮喷l头像| 欧美日韩怡红院| 91pony九色| 欧美 日本 亚洲| 欧美日韩在线免费观看视频| 在线免费观看av的网站| 欧美日韩午夜爽爽| 色婷婷激情视频| 亚洲色成人一区二区三区小说| 国产乱人伦精品一区二区三区| 久久午夜夜伦鲁鲁一区二区| 黄色特一级视频| 蜜桃网站在线观看| 最新免费av网址| 亚洲一区二区福利视频| 9久久9毛片又大又硬又粗| 日韩视频免费播放| 麻豆中文字幕在线观看| 亚洲熟妇无码一区二区三区| av免费观看国产| 中文字幕色呦呦| 国产一级做a爰片久久毛片男| xxxx在线免费观看| 天天干天天色天天干| 99视频精品免费| 少妇网站在线观看| 熟妇人妻无乱码中文字幕真矢织江| 日本人69视频| 国产制服91一区二区三区制服| 欧美成年人视频在线观看| 一区二区三区四区久久| 亚洲不卡视频在线| 99九九精品视频| 性鲍视频在线观看| 日韩视频在线视频| 成人在线免费观看视频网站| 免费高清一区二区三区| 男同互操gay射视频在线看| 手机在线国产视频| 99国产精品白浆在线观看免费| 欧美一级中文字幕| 99久久国产宗和精品1上映| 中国丰满人妻videoshd| 欧美又黄又嫩大片a级| 色婷婷一区二区三区在线观看| www.在线观看av| av天堂永久资源网| 午夜av中文字幕| 被灌满精子的波多野结衣| 国产精品久久国产| 国模无码视频一区二区三区| 奇米777在线| 国产主播在线看| 亚州精品一二三区| 久久精品国产sm调教网站演员| 北条麻妃在线视频观看| 男女激烈动态图| 久久亚洲国产成人精品无码区| 老熟妇仑乱视频一区二区| 两性午夜免费视频| 欧美 日韩 激情| 992tv快乐视频| 国产欧美高清在线| 国产情侣第一页| 精品久久久久久中文字幕2017| 大陆av在线播放| 天天干天天玩天天操| 99热成人精品热久久66| 国产5g成人5g天天爽| 日本特黄a级片| 久久观看最新视频| 日韩av自拍偷拍| 日韩中文字幕二区| 国产又黄又猛的视频| caopor在线视频| 色中文字幕在线观看| 午夜免费福利网站| 少妇无码av无码专区在线观看| 成人在线免费观看视频网站| 爱情岛论坛vip永久入口| 国产真人无码作爱视频免费| 国产 日韩 欧美在线| 女人被男人躁得好爽免费视频|