日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

js+canvas實現(xiàn)五子棋小游戲

瀏覽:201日期:2024-04-26 16:16:27

本文實例為大家分享了js+canvas實現(xiàn)五子棋小游戲的具體代碼,供大家參考,具體內(nèi)容如下

效果展示:

js+canvas實現(xiàn)五子棋小游戲

源碼展示:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>五子棋</title> <style> * { margin: 0; padding: 0; } body { margin-top: 20px; margin-left: 20px; } canvas { background-image: url('img/bak.jpg'); border: 1px solid #000; } </style></head><body><canvas onclick='play(event)'></canvas><script> /*準備工作: 1獲取畫布,獲取畫筆對象 */ var mcanvas = document.querySelector('canvas'); var ctx = mcanvas.getContext('2d'); /*準備工作:2創(chuàng)建一個二維數(shù)組 用來定義繪制棋盤線*/ var count = 15;//用來定義棋盤的行數(shù)和列數(shù) var map = new Array(count); for (var i = 0; i < map.length; i++) { map[i] = new Array(count); for (var j = 0; j < map[i].length; j++) { map[i][j] = 0; } } /*準備工作:3初始化棋子*/ var black = new Image(); var white = new Image(); black.src = 'http://www.b3g6.com/bcjs/img/black.png'; white.src = 'http://www.b3g6.com/bcjs/img/white.png'; //開始繪制 1繪制棋盤線 ctx.strokeStyle = '#fff'; var rectWH = 40; //設(shè)置繪制矩形的大小 for (var i = 0; i < map.length; i++) { for (var j = 0; j < map[i].length; j++) { ctx.strokeRect(j * rectWH, i * rectWH, rectWH, rectWH); } } // 用來進行黑白子的切換 var isBlack = true; //開始繪制 2下子 function play(e) { //獲取點擊canvas的位置值默認,canvas的左上角為(0,0) 點 var leftOffset = 20;//body 的margin var x = e.clientX - leftOffset; var y = e.clientY - leftOffset; // console.log(x+' '+y); // 設(shè)置點擊點后棋子下在哪里,獲取點擊的位置進行判斷如果超過格子的一半則繪制到下一個點如果小于 則繪制在上一個點上 var xv = (x - rectWH / 2) / rectWH; var yv = (y - rectWH / 2) / rectWH; var col = parseInt(xv) + 1; var row = parseInt(yv) + 1; console.log(xv + ' ' + yv + ' , ' + col + ' ' + row); //嚴格點需要驗證 ,驗證所輸入的點是否在數(shù)組中已經(jīng)存在 ,如果存在 則返回 if (map[row][col] != 0) { alert('咋的,還想往我身上下啊!瞎啊!沒看見已經(jīng)有棋子了!!!'); return; } // 切換繪制黑白子 if (isBlack) { ctx.drawImage(black, col * 40 - 20, row * 40 - 20); isBlack = false; map[row][col] = 1; Yes(1, row, col); } else { ctx.drawImage(white, col * 40 - 20, row * 40 - 20); isBlack = true; map[row][col] = 2; Yes(2, row, col); } } //算法驗證,查看誰贏 tag :1 :黑子 2 :白子 function Yes(t, row, col) { console.log(1); var orgrow = row; var orgcol = col; var total = 1; // 判斷依據(jù),以當前下的棋子為圓心,水平方向左右尋找和自己想通的值 ,最后判斷如果大于5個則表示勝利 // 1水平方向判斷 while (col - 1 > 0 && map[row][col - 1] == t) { //判斷下一個值 注意一定是:col-1 total++; col--; } row = orgrow; col = orgcol; while (col + 1 < 15 && map[row][col + 1] == t) { col++; total++; } if (total >= 5) { if (t == 1){ alert('黑子贏'); } else{ alert('白子贏'); } return;//判斷出輸贏結(jié)束后續(xù)判斷 } // 2垂直方向判斷 row = orgrow; col = orgcol; total = 1; while (row - 1 > 0 && map[row - 1][col] == t) { row--; total++; } row = orgrow; col = orgcol; while (row + 1 < 15 && map[row + 1][col] == t) { row++; total++; } if (total >= 5) { if (t == 1){ alert('黑子贏'); } else{ alert('白子贏'); } return;//判斷出輸贏結(jié)束后續(xù)判斷 } //左下 右上 row = orgrow; col = orgcol; total = 1; while (row + 1 < 15 && col - 1 > 0 && map[row + 1][col - 1] == t) { row++; col--; total++; } row = orgrow; col = orgcol; while (row - 1 > 0 && col + 1 < 15 && map[row - 1][col + 1] == t) { row--; col++; total++; } if (total >= 5) { if (t == 1){ alert('黑子贏'); } else{ alert('白子贏'); } return;//判斷出輸贏結(jié)束后續(xù)判斷 } //左上右下 row = orgrow; col = orgcol; total = 1; while (row - 1 > 0 && col - 1 > 0 && map[row - 1][col - 1] == t) { row--; col--; total++; } row = orgrow; col = orgcol; while (row + 1 < 15 && col + 1 < 15 && map[row + 1][col + 1] == t) { row++; col++; total++; } if (total >= 5) { if (t == 1){ alert('黑子贏'); } else{ alert('白子贏'); } return;//判斷出輸贏結(jié)束后續(xù)判斷 } } /*功能擴充: 1當勝利后 彈框:a是否在來一局 b 精彩回復 a 如果點擊在來一句 清空數(shù)據(jù)重新開始 b 精彩回放將棋盤黑白子按照下棋的順序進行棋子編號2悔棋功能 3對算法的擴充 a如果是雙三 則直接彈出勝利 b若是桶四 則直接彈出勝利 */</script></body></html>

圖片資源:

js+canvas實現(xiàn)五子棋小游戲

背景圖片:

js+canvas實現(xiàn)五子棋小游戲js+canvas實現(xiàn)五子棋小游戲

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品极品在线观看| 国产三级精品三级在线观看国产| 国产精品99久久免费| 国产精品伦一区二区| 久久亚洲资源中文字| 神马午夜久久| 欧美另类综合| 亚洲精品一级| 国产精品观看| 日韩一区二区中文| 日韩和的一区二在线| 久久精品av| 中文精品视频| 色8久久久久| 国产精品17p| 色老板在线视频一区二区| 欧美中文日韩| 国产精品chinese| 在线日韩电影| 日本欧美一区二区在线观看| 美女精品一区二区| 一区二区小说| 午夜久久av| 国产中文欧美日韩在线| 红桃视频欧美| 国产精品欧美大片| 亚洲一级少妇| 亚州精品视频| www.com.cn成人| 老牛影视一区二区三区| 你懂的网址国产 欧美| 国产精品88久久久久久| 久久99久久人婷婷精品综合| 午夜国产一区二区| 国产精品igao视频网网址不卡日韩| 欧美午夜精彩| 国产日韩1区| 午夜av一区| 久久精品一本| 麻豆成人在线| 黄色在线网站噜噜噜| 亚洲黄页一区| 精品国产91| 亚洲免费福利一区| 久久九九电影| 麻豆视频久久| 免费在线观看精品| 日韩在线看片| 国产精品亚洲成在人线| 亚洲国产不卡| 中文在线免费视频| 欧美日韩午夜电影网| 99pao成人国产永久免费视频| 国产精品一区二区三区av| av成人国产| 中文字幕在线视频久| 伊人久久大香伊蕉在人线观看热v| 国产不卡精品在线| 国产无遮挡裸体免费久久| 一本色道精品久久一区二区三区| av中文字幕在线观看第一页| 日本少妇一区二区| 免费的成人av| 影视先锋久久| 黄毛片在线观看| 国产精品久久久久久久久久齐齐| 中文一区一区三区免费在线观 | 日韩精品水蜜桃| 国产精品日韩精品中文字幕| 亚洲一二av| 自拍日韩欧美| 欧美+日本+国产+在线a∨观看| 美女久久久久久| 久久国产欧美日韩精品| 亚洲精品欧洲| 蜜芽一区二区三区| 伊人成人网在线看| 久久国产小视频| 日韩免费久久| 久久一区精品| 国产精品免费不| 久久精品97| 91精品国产自产在线丝袜啪| 天堂av一区| 日本亚洲不卡| 亚洲精品亚洲人成在线观看| 99国产精品久久久久久久| 人人精品亚洲| 99视频精品全部免费在线视频| 最新中文字幕在线播放 | 亚洲精品国产精品粉嫩| 欧美日韩日本国产亚洲在线 | 亚洲欧美日韩综合国产aⅴ| 三级精品视频| 久久精品青草| 久久国产中文字幕| 欧美日韩国产在线一区| 久久国产高清| 亚洲一区二区三区久久久| 另类亚洲自拍| 日韩欧美美女在线观看| 青草综合视频| 日韩精品福利一区二区三区| 欧美亚洲人成在线| 欧美精品不卡| 亚洲综合电影| 国产一区日韩一区| 国产亚洲一区在线| 亚洲综合中文| 国产精品亚洲欧美| 福利欧美精品在线| 日韩免费av| 国产亚洲毛片| 欧美日韩一区二区高清| 精品视频高潮| 成人av二区| 日本精品在线播放| 日本午夜精品| 精品国产麻豆| 国产99亚洲| 中文视频一区| 国产精品theporn| 成人羞羞在线观看网站| 国产偷自视频区视频一区二区| 亚洲1区在线| 久久精品国产精品亚洲毛片| 日韩亚洲一区在线| 天堂av在线一区| 国产精品一区二区99| 在线亚洲人成| 日韩一区精品视频| 国产乱论精品| 麻豆91小视频| 在线看片不卡| 国产毛片一区二区三区| 日韩欧美一区二区三区在线视频| 国产毛片一区| 老司机精品视频网| 黄色成人在线网址| 国产精品hd| 蜜桃国内精品久久久久软件9| 亚洲精品黄色| 天堂√中文最新版在线| 亚洲深深色噜噜狠狠爱网站| 日韩av二区| 日韩中文一区二区| 九色porny丨国产首页在线| 黄色成人91| 麻豆国产一区| 丝袜a∨在线一区二区三区不卡| 红杏一区二区三区| 亚洲字幕久久| 视频福利一区| 国产精品红桃| 视频一区二区不卡| аⅴ资源天堂资源库在线| 日韩精品中文字幕一区二区| 久久激情一区| 国产高清日韩| 香蕉久久夜色精品国产| 国产一区二区三区成人欧美日韩在线观看| 激情91久久| 麻豆一区在线| 亚洲人妖在线| 91精品国产自产在线观看永久∴| 国产日韩欧美一区| 性欧美精品高清| 日韩一区亚洲二区| 美女性感视频久久| 日本一区福利在线| 红桃视频国产精品| 在线看片国产福利你懂的| 日韩国产欧美三级| 在线亚洲自拍| 亚洲成av人片一区二区密柚| 麻豆视频久久| 日本一区免费网站| av一区在线| 久久久久久婷| 久久只有精品| 国产精品伦一区二区| 日本高清久久| 亚洲专区视频| 9久re热视频在线精品| 欧美日韩尤物久久| 精品一区视频| 欧美日韩伊人| 亚洲精品动态| 亚洲午夜久久| 午夜宅男久久久| 精品中文一区| 日本在线高清| 久久99精品久久久久久园产越南| 日本午夜精品久久久久| 日韩精品一区二区三区中文| 蜜桃av一区二区| 亚洲一区av| 丝瓜av网站精品一区二区| 美女久久网站| 人人爽香蕉精品|