帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» 纯JS简单五子棋
纯JS简单五子棋
浏览:981次
-
评论:0次
-
发布时间:2017-08-07
Html
Css
Js
* { margin:0; padding:0; } img { border:0; } ol,ul,li { list-style:none; } #wasp { width:500px; height:500px; margin:100px auto; border:5px solid #333; background:#fdda9c; position:relative; overflow:hidden; } #Board { width:550px; height:550px; position:absolute; top:-25px; left:-25px; } .cBefore { width:100%; height:100%; position:absolute; background:rgba(0,0,0,0.2); z-index:10; } .cButt { width:100px; height:200px; position:absolute; left:50%; top:50%; margin:-120px 0 0 -90px; background:#fff; padding:20px 40px; } .cButt input { width:100px; height:50px; margin:5px 0; border-radius:5px; } #Board li { width:50px; height:50px; position:relative; float:left; } #Board li::before { content:""; width:100%; position:absolute; border-bottom:1px solid #333; top:50%; left:0; } #Board li::after { content:""; height:100%; position:absolute; border-right:1px solid #333; top:0; left:50%; } #Board li span { display:block; width:46px; height:46px; position:absolute; background:#000000; top:2px; left:2px; border-radius:50%; z-index:9; } #aaaa { width:500px; height:50px; }
window.onload = function fnGobang() { var oWasp = document.getElementById("wasp"); var oBoard = document.createElement("ul"); oBoard.id = "Board"; oWasp.appendChild(oBoard); var gridSize = 50; //棋格尺寸 var W = oBoard.offsetWidth / gridSize; //行 var H = oBoard.offsetWidth / gridSize; //列 var arrBlack = []; //黑子 var arrWhite = []; //白子 var Pass = 0; var noPass = false; //棋子判定 var S = R = L = 1; // // ============================================================================ for (var i = 0; i < W * H; i++) { var cGrid = document.createElement("li"); oBoard.appendChild(cGrid); } var oGoard = oBoard.getElementsByTagName("li"); // ============================================================================ for (var i = 0; i < oGoard.length; i++) { oGoard[i].index = i; oGoard[i].onclick = function() { if (!this.childNodes[0]) { //如果没有子元素。则添加棋子span; if (noPass) { //棋子分组 arrWhite.push(this.index) } else { arrBlack.push(this.index) } var cPieces = document.createElement("span"); if (noPass) { cPieces.style.background = "#fff" } //白子 this.appendChild(cPieces); fnTorting(arrBlack, Pass) //冒泡排序数组 fnTorting(arrWhite, Pass) function fnTorting(arr, pa) { //冒泡排序函数; for (var j = arr.length; j > 0; j--) { if (arr[j] < arr[j - 1]) { pa = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = pa; } } } // ============================================================================ if (!noPass) { fnWin(arrBlack, "黑棋胜!") //黑胜 } else { fnWin(arrWhite, "白棋胜!") //白胜 } // ============================================================================ function fnWin(arr, a) { //取胜判定函数 if (arr.length >= 5) { for (var j = 0; j < arr.length; j++) { //alert(j) if ((arr[j + 4] - arr[j] == 4) && ((arr[j] + arr[j + 1] + arr[j + 2] + arr[j + 3] + arr[j + 4]) / 5 == arr[j + 2])) { //横 alertWin(a) //判胜 } for (var k = j + 1; k < arr.length; k++) { if (arr[k] - arr[j] === S * W) { //纵 if (S == 4) { alertWin(a) //判胜 S = 1; break; } else { S++ } } if (arr[j] % W >= 4) { //边界判定 if (arr[k] - arr[j] === L * (W - 1)) { //左斜 if (L == 4) { alertWin(a) //判胜 L = 1; break; } else { L++ } } } if (arr[j] % W < 7) { //边界判定 if (arr[k] - arr[j] === R * (W + 1)) { //右斜 if (R == 4) { alertWin(a) //判胜 R = 1; break; } else { R++ } } } } S = L = R = 1; } } } noPass = !noPass; //棋子转换 } } } // ============================================================================ function alertWin(a) { //结束 var cBefore = document.createElement("div"); cBefore.className = "cBefore"; var cButt = document.createElement("div"); cButt.className = "cButt"; for (var i = 0; i < 3; i++) { //按钮 var cButton = document.createElement("input"); cButton.type = "button" cButt.appendChild(cButton) } var oButt = cButt.getElementsByTagName("input"); oButt[0].value = a; oButt[0].style.cssText = "background:none;border:none;" oButt[1].value = "重新开始"; oButt[2].value = "返回游戏"; for (var i = 1; i < 3; i++) { oButt[i].index = i; oButt[i].onclick = function() { if (this.index == 2) { cBefore.removeChild(cButt); cBefore.style.background = "rgba(0,0,0,0)" } else { wasp.removeChild(oBoard); fnGobang() } } } cBefore.appendChild(cButt); oBoard.appendChild(cBefore); } }
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>纯JS简单五子棋-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:一个用JS写的简单五子棋小游戏
一个用JS写的简单五子棋小游戏
幸运抽奖程序
城市定位选择
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
981
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值