宝哥软件园

JavaScript编写棋盘覆盖代码详解

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

一、前言

之前做了一个算法作业,叫做棋盘覆盖,本来需要用c语言来编写的,但是因为我的c语言是半桶水(哈哈),所以索性就把网上的c语言写法改成Java脚本语言写法,并且把它的覆盖效果显示出来

二、关键代码

!DOCTYPE html html health eta http-equiv=' Content-TYPe ' Content=' text/html;charset=utf-8' /title算法作业2/title style type=' text/CSS ' # num { } # chess { margin-top :20 px;}/style/headbody div id='num' p设置棋盘大小:输入类型=' text ' name=' Num ' size=' 4 '/p/p请输入特殊方格的位置:/p p X :输入类型=' text ' name=' X ' size=' 25 '/br/Y :输入类型=' text ' name=' Y ' size=' 25 '/p p输入类型=' button ' value='设置棋盘参数/input type='button' value='生成棋盘//p/div div id=' chess '/div/body/html脚本类型=' text/JavaScript '窗口。onload=function(){//棋盘设置var chess=文档。getelementbyid(' chess ');var输入=文档。getelementsbytagname(' input ')[3];输入。onclick=function(){ var N=document。getelementsbytagname(' input ')[0].价值;var表=文档。创建元素(“表”);chess.appendChild(表);桌子。风格。边框=' 2px实心';桌子。风格。bordercollapse=' collapsefor(var I=0;iN;I){ var tr=文档。创建元素(' tr ');桌子。append child(tr);tr。风格。高度=' 20pxtr.style.border='1px实心# CCC ';for(var j=0;jN;j){ var TD=文档。创建元素(' TD ');tr。appendchild道明。风格。宽度=' 20px道明。风格。边框=' 1px实心# CCC ';} } } var Out=文档。getelementsbytagname(' input ')[4];定义变量矩阵=新数组();for(var I=0;i100i ) { //初始化棋盘矩阵矩阵[i]=新数组();for(var j=0;j 100j){ 0矩阵[I][j]=0;} } Out.onclick=function() { //棋盘生成var r,c;var X=文档。getelementsbytagname(' input ')[1].价值;var Y=文档。getelementsbytagname(' input ')[2].价值;var N=文档。getelementsbytagname(' input ')[0].价值;棋盘(0,0,X-1,Y-1,N);for(r=0;r N;r){ for(c=0;碳氮;c){ var q=Matrix[r][c];var表=文档。getelementsbytagname(' table ')[0];table.rows[r].单元格[c]。风格。背景=' RGB(' 13 * q % 6 ',' 43*q%6 ',' 73 * q % 6 ')';} } } var n count=0;函数棋盘(tr,tc,dr,dc,size) { var s,t;if (size==1)返回;s=大小/2;t=nCountif (dr tr s dc tc s)棋盘(tr、tc、dr、dc、s);else { Matrix[tr s-1][TC s-1]=t;棋盘(tr,tc,tr s-1,tc s-1,s);} if (dr tr s dc=tc s)棋盘(tr、tc、s、dr、dc、s);else { Matrix[tr s-1][TC s]=t;棋盘(tr,tc s,tr s-1,tc s,s);} if (dr=tr s dc tc s)棋盘(tr、tc、dr、dc、s);else { Matrix[tr s][TC s-1]=t;棋盘(tr s,tc,tr s,tc s-1,s);} if (dr=tr s dc=tc s)棋盘(tr s、tc s、dr、dc、s);else { Matrix[tr s][TC s]=t;棋盘(tr s,tc s,tr s,tc s,s);} } }/脚本三、效果

1.4*4棋盘覆盖

2.8*8棋盘覆盖

3.16*16棋盘覆盖

4.32*32棋盘覆盖

四、总结

棋盘覆盖的C语言代码我是参考课本的,为了能够把它用进Java脚本语言里面,突破口就是二维数组矩阵[][],只要能够获得它计算之后整个数组的数据,那么就有思路了。要记住填写进表单里面的数据是在点击按钮之后才获取的,所以获取元素节点的代码要放在onclick里面。

以上是边肖介绍的JavaScript编写板覆盖代码的详细说明,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+