本篇文章实现的是双人对战模式,主要是实现除人机AI算法和判断输赢之外的其他功能,下一篇将会发布AI
框架搭建
<!Doctype html> <html> <head> <!-- 百度爬虫优化 --> <meta http-equiv="author" content="成兮,缘分五月" /> <meta http-equiv="Keywords" cotent="五子棋,人机大战,单人游戏,双人游戏,小游戏" /> <meta Charset="utf-8" /> <title>爱淘宝-五子棋</title> <style> #chess { display: block; margin: 50px auto; box-shadow: -2px -2px 2px #efefef , 5px 5px 5px #b9b9b9; } #chess:hover{ cursor: pointer; } </style> <script> window.onload = function() { } ; </script> </head> <body> <!-- 棋盘 --> <canvas id="chess" width="450px" height="450px"></canvas> </body> </html>
定义一些需要用到的全局变量
<script> //获取棋盘canvas var chess = document.getElementById("chess"); //获取2d画布 var context = chess.getContext('2d'); //指定当前是否黑色下,只在UI中使用 var me = true; //指定当前位置是否下了其,1代表黑,2代表白,0代表空 var curIndex = []; for(var i =0; i <15; i++) { curIndex[i] = []; for(var j =0; j <15; j++) curIndex[i][j] = 0; } </script>
使用canvas绘制棋盘
<script> function drawtable() { //我们设置棋盘总共15根横线15根总线,左右上下都有15px的边距,其中每个棋子相距30px,因此绘制棋盘从15px开始 for(var i =0; i <15; i++) for(var j =0; j <15; j++) { //绘制横线 context.moveTo(15, 15 +j *30); context.lineTo(435, 15 +j *30); //绘制竖线 context.moveTo(15 +j *30, 15); context.lineTo(15 +j *30, 435); //使用灰色描边 context.strokeStyle = "#bfbfbf"; context.stroke(); } }; drawtable(); </script>
棋盘的onclick事件:在该位置上绘制一个棋子,每次点击黑白相间
<script> chess.onclick = function(event) { //获取要下的棋子的位置 var x = Math.floor(event.offsetX /30); var y = Math.floor(event.offsetY /30); //判断该点是否已被下了 if(curIndex[x][y] != 0) return; //开始绘制 context.beginPath(); //绘制指定圆 context.arc(15 +x *30, 15 +y *30, 15, 0, 2 *Math.PI); //进行填充 if(me) { context.fillStyle = "#636766"; curIndex[x][y] = 1; me = false; } else { context.fillStyle = "#b9b9b9"; curIndex[x][y] = 2; me = true; } context.fill(); //结束绘制 context.closePath(); }; </script>
最终效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2025年01月09日
2025年01月09日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]