三国华容道网页版来了
<html>
<title>三国华容道</title>
<script type="text/javascript">
//0代表空格,1代表4个卒,2黄忠3马超4张飞5赵云,6代表关羽,7代表曹操
//move为单击相关的移动,移动1时有两个选择时,再单击空格,
//2-5上下同时有空偏向单击方向 6左右同时有空偏向单击方向
var h=[[2,7,7,3],[2,7,7,3],[4,6,6,5],[4,1,1,5],[1,0,0,1]];
//有两个0与1相邻移动其一
var r1=-1
var c1=-1
function show_coords(event)
{i=parseInt((event.clientY-64)/95)j=parseInt((event.clientX-65)/95)if(j<0||j>3||i<0||i>4) return;move(h[i][j],i,j);
}
function move(n,i,j)
{ if(n==0){move0(i,j);return;}r1=-1;c1=-1;if(n==1){move1(i,j);return;}if(n>=2&&n<=5){move25(n,i,j);return;}if(n==6){move6(i,j);return;}if(n==7){move7(i,j);return;}
}
function move7(i,j)
{//确认左上坐标,分情况0在上下左右移动i=-1;n=7; for(i1=0;i==-1&&i1<5;i1++)for(j1=0;i==-1&&j1<4;j1++){if(h[i1][j1]==n){i=i1;j=j1;}}//上有两个0左右相连if(i-1>=0&&h[i-1][j]==0&&h[i-1][j+1]==0){h[i-1][j]=n;h[i-1][j+1]=n;h[i+1][j]=0;h[i+1][j+1]=0;}//下有两个0左右相连if(i+2<5&&h[i+2][j]==0&&h[i+2][j+1]==0){h[i+2][j]=n;h[i+2][j+1]=n;h[i][j]=0;h[i][j+1]=0;}//左有两个0上下相连if(j-1>=0&&h[i][j-1]==0&h[i+1][j-1]==0){h[i][j-1]=n;h[i+1][j-1]=n;h[i][j+1]=0;h[i+1][j+1]=0;} //右有两个0上下相连if(j+2<4&&h[i][j+2]==0&h[i+1][j+2]==0){h[i][j+2]=n;h[i+1][j+2]=n;h[i][j]=0;h[i+1][j]=0;}init();
}
function move6(i,j)
{//确认左上坐标,分情况0在上下左右移动i=-1;n=6; j0=j;for(i1=0;i==-1&&i1<5;i1++)for(j1=0;i==-1&&j1<4;j1++){if(h[i1][j1]==n){i=i1;j=j1;}}//左有一个0if(j-1>=0&&h[i][j-1]==0&&j==j0){h[i][j-1]=n;h[i][j+1]=0;}//右有一个0if(j+2<4&&h[i][j+2]==0&&j<j0){h[i][j+2]=n;h[i][j]=0;}//上有两个0左右相连if(i-1>=0&&h[i-1][j]==0&&h[i-1][j+1]==0){h[i-1][j]=n;h[i-1][j+1]=n;h[i][j]=0;h[i][j+1]=0;}//下有两个0左右相连if(i+1<5&&h[i+1][j]==0&&h[i+1][j+1]==0){h[i+1][j]=n;h[i+1][j+1]=n;h[i][j]=0;h[i][j+1]=0;}init();
}
function move25(n,i,j)
{//确认左上坐标,分情况0在上下左右移动i0=i;i=-1; for(i1=0;i==-1&&i1<5;i1++)for(j1=0;i==-1&&j1<4;j1++){if(h[i1][j1]==n){i=i1;j=j1;}}//上有一个0if(i-1>=0&&h[i-1][j]==0&&i==i0){ h[i-1][j]=n;h[i+1][j]=0; }//下有一个0if(i+2<5&&h[i+2][j]==0&&i<i0){ h[i+2][j]=n;h[i][j]=0; }//左有两个0上下相连if(j-1>=0&&h[i][j-1]==0&h[i+1][j-1]==0){h[i][j-1]=nh[i+1][j-1]=nh[i][j]=0h[i+1][j]=0} //右有两个0上下相连if(j+1<4&&h[i][j+1]==0&h[i+1][j+1]==0){h[i][j+1]=nh[i+1][j+1]=nh[i][j]=0h[i+1][j]=0} init();
}
function move1(i,j)
{//4个方向上行列偏移量 上、下、左、右 di4=[[-1,0],[1,0], [0,-1],[0,1]]count0=0;for (x=0;x<4;x++){i1=i+di4[x][0];j1=j+di4[x][1];if(i1>=0&&i1<5&&j1>=0&&j1<4&&h[i1][j1]==0){i0=i1;j0=j1;count0=count0+1;}}//1上下左右有一个0就可以if(count0==1){h[i][j]=0;h[i0][j0]=1;init();}else {r1=i;c1=j;} //2个0时置标记,鼠标二次选0位置移动
}
function move0(i,j)
{//有两个0与1相邻移动其一if(r1>=0&&c1>=0){h[r1][c1]=0;h[i][j]=1;r1=-1;c1=-1init()}
}
function init()
{//显示背景var canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d");imgb = document.createElement("img")imgb.src="b.png"ctx.drawImage(imgb,0,0);init1()
}
function init1()
{//显示成员time为相应成员显示次数,占两个以上格的显示1次var canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d");imgb = document.createElement("img")time=[2,4,1,1,1,1,1,1]for(i=0;i<5;i++)for(j=0;j<4;j++){n=h[i][j]if(time[n]>0){time[n]=time[n]-1imgb.src=n+".png"ctx.drawImage(imgb,63+97*j,64+97*i);}}
}function begin()
{init()
}
function begin1()
{h=[[2,7,7,3],[2,7,7,3],[1,6,6,1],[4,1,1,5],[4,0,0,5]];init()
}
function begin2()
{h=[[0,7,7,0],[2,7,7,3],[2,4,5,3],[1,4,5,1],[6,6,1,1]];init()
}
function begin3()
{h=[[2,7,7,3],[2,7,7,3],[1,1,1,1],[4,6,6,5],[4,0,0,5]];init()
}
function begin4()
{h=[[1,7,7,1],[2,7,7,3],[2,6,6,3],[4,1,1,5],[4,0,0,5]];init()
}
</script>
<body><canvas id="canvas" width="500" height="600" onmousedown="show_coords(event)" style="border:1px solid #d3d3d3;">抱歉,您的浏览器不支持canvas元素</canvas><p><input type="button" value="横刀立马" onClick="begin()"><input type="button" value="指挥若定" onClick="begin1()"> <input type="button" value="将拥曹营" onClick="begin2()"> <input type="button" value="齐头并进" onClick="begin3()"> <input type="button" value="兵分三路" onClick="begin4()">
</body>
</html>
微信视频号
三国华容道网页版来了相关推荐
- 三国杀online网页版服务器更新,《三国杀OL》网页版界面全新大升级
<三国杀OL>的网页版界面完成了一个全新的大升级,届时登录,玩家们将看到的是焕然一新的登录入口.游戏大厅和游戏界面,同时上线的还有备受期待的三国秀形象展示系统.<三国杀OL>项 ...
- 三国杀online网页版服务器更新,[OL][公告] 4月15日《三国杀OL》版本更新公告
亲爱的三国杀Online玩家朋友: <三国杀Online>将于4月15日5:00-12:00对全区服务器进行停机版本更新,届时玩家朋友们将不能正常登录游戏,请大家提前下线以免造成不必要的损 ...
- 能做pc网页吗_梦幻西游网页版:如今还能抽金伙伴吗?玩家亲自验证,感觉还行...
说起"金伙伴",相信各位玩家并不陌生.作为梦幻西游网页版中的强力助手,他们的各方面表现相当优秀,因此不少玩家都想抽到.然而,越珍贵的东西就越难抽出来,想要在荟英楼看到金伙伴,并不是 ...
- 如何打印网页版的发票_梦幻西游网页版:陷入瓶颈期,如何快速提升战力?氪金能解决问题...
在梦幻西游网页版中,战力的高低直接影响着玩家的游戏体验,因此大家都将注意力放到了这上面.然而,提升战力并非易事,随着等级越来越高,难度也会逐渐提升.前不久,就有一位玩家遇到了麻烦,据他描述,目前的战力 ...
- Python 写了一个网页版的「P图软件」,惊呆了!
作者 | 小欣 来源 | Python爱好者集中营 今天是开工第一天,这篇文章可以算作是虎年的第一篇干货技术类文章了,今天小编用Python做了一个网页版的"P图软件",大致的流程 ...
- Facebook的一些基本操作(网页版)
这篇文章主要讲的是利用 JavaScript SDK 进行Facebook的登录,点赞和分享功能. 前期准备 1,注册一次Facebook账号,新建一个应用取到应用id 2,引进Facebook的SD ...
- r语言 服务器网页版ide RStudio Server 简介
目录 介绍 安装R 安装RStudio Server 创建账号 开始使用 注意事项 无法打开登录页 多用户使用 服务卡死 端口占用 外网使用 终端工具推荐 RStudio Server是网页版的RSt ...
- 真香!使用 Goland 网页版实现真正的云开发
云原生玩家往往都是左手 MacBook,右手 Goland,但由于大部分人的 MacBook 硬件资源有限,基本上无法丝滑地使用 Goland.即使你是 8C16G 的高富帅,多开几个 PornHub ...
- vue中进行判断不同字段的判断,主要是区分于微信小程序和网页版之间写法
1 网页版的vue字段的判断的写法如下: v-if="item.scoreItemState == 0" v-if="item.scoreItemState == 1&q ...
最新文章
- matlab语言unique,Matlab的unique函数的C++实现
- Python程序全局观--以温度转换为例
- linux fedora安装simplescreenrecorder
- 3 CSS 高级语法
- RecyclerView复用item导致数据混乱
- pytorch实战案例-手写数字分类-全链接模型——深度AI科普团队
- 多实例linux自动启动,Linux 下自动启动多个oracle实例
- 美国道富java开发面试题_从事Java开发五年,面试9家拿到7家offer,1096面试+67笔试题...
- linux mv复制命令,linux中删除复制移动文件rm,mv,cp命令详解linux操作系统 -电脑资料...
- 微信小程序 生成二维码
- mysql 中用select建表_用 SELECT 的结果创建表
- python实现bm3d图像去噪
- 4.Java数组(一)
- 解决FBX模型导入Unity后没有贴图的问题
- 推荐|45个值得收藏的Python优质资源(附链接)
- 基于python的2048游戏设计_用python写一个2048游戏
- layer的anim动画
- Linux软件包安装与卸载
- java-利用反射做一个将javabean对象转为json的小工具(v1)
- 图像处理专业术语中英文对照