Canvas悟空推箱子

Canvas悟空推箱子

在这里插入图片描述

  “学如逆水行舟,不进则退”,工做之余我总会浏览一些先进前端知识以加强本身的知识储备,偶尔也会试着开发或模仿小游戏、程序、app 。昨天在 站长之家 发现了这个游戏,触动很大,先是玩了一夜,只过了13关,今天把注释写上了,截取了前40关分享给你们,但愿你们在玩耍之余能抽出时间学习或了解前端,前端是门手艺,它会像筷子同样离不开人们的生活。
  我的能力有限,只能解答博友们一些浅显的问题,甚至不如百度百科及时、准确,现在前端就业形式一片大好,在一线城市薪资过万,优秀的前端工程师只须要5年,就能够解决住房问题,让父母老有所依。但愿忙碌的你能够抽出时间多陪伴一下家人,家是本身惟一的港湾,承载着你全部的眷恋。
javascript

<!doctype html>
<html lang="en">
    <head>
    <meta charset="GB2312">
    <title>HTML5 canvas小人推箱子小游戏</title>
    <style> *{ 
    margin:0px; padding:0px; } body{ 
    overflow:hidden; } .game{ 
    position: relative; width:560px; margin:20px auto; } .game #msg{ 
    position: absolute;top:0; font:18px/1 华文楷体,华文琥珀; } .game #btn{ 
    position: absolute;right:0;bottom:4px; } </style>
</head>
<body onkeydown="doKeyDown(event)">
    <div class="game">
        <canvas id="canvas" width="560" height="560"></canvas>
        <div id="msg"></div>
        <div id="btn">
            <input type="button" value="上一关" onClick="NextLevel(-1)">
            <input type="button" value="下一关" onClick="NextLevel(1)">
            <input type="button" value="重玩本关" onClick="NextLevel(0)">
            <input type="button" value="游戏说明" onClick="showHelp()">
        </div>
    </div>
</body> 
<script> var can = document.getElementById("canvas"); var msg = document.getElementById("msg"); var cxt = can.getContext("2d"); var w = 35,h = 35; var curMap;//当前的地图 var curLevel;//当前等级的地图 var curMan;//初始化小人 var iCurlevel = 0;//关卡数 var moveTimes = 0;//移动了多少次 //预加载全部图片 var oImgs = { 
    "block" : "https://img-blog.csdnimg.cn/20200907200323829.gif#pic_center", "wall" : "https://img-blog.csdnimg.cn/20200907200352103.png#pic_center", "box" : "https://img-blog.csdnimg.cn/20200907200329709.png#pic_center", "ball" : "https://img-blog.csdnimg.cn/20200907200309333.png#pic_center", "up" : "https://img-blog.csdnimg.cn/20200907200348854.png#pic_center", "down" : "https://img-blog.csdnimg.cn/20200907200334961.png#pic_center", "left" : "https://img-blog.csdnimg.cn/20200907200340792.png#pic_center", "right" : "https://img-blog.csdnimg.cn/20200907200344452.png#pic_center", } function imgPreload(srcs,callback){ 
    var count = 0,imgNum = 0,images = { 
   }; for(src in srcs){ 
    imgNum++; } for(src in srcs ){ 
    images[src] = new Image(); images[src].onload = function(){ 
    //判断是否全部的图片都预加载完成 if (++count >= imgNum) { 
    callback(images); } } images[src].src = srcs[src]; } } var block,wall,box,ball,up,down,left,right; imgPreload(oImgs,function(images){ 
    //console.log(images.block); block = images.block; wall = images.wall; box = images.box; ball = images.ball; up = images.up; down = images.down; left = images.left; right = images.right; init(); }); //初始化游戏 function init(){ 
    //InitMap(); //DrawMap(levels[0]); initLevel();//初始化对应等级的游戏 showMoveInfo();//初始化对应等级的游戏数据 } //绘制地板 function InitMap(){ 
    for (var i=0;i<16 ;i++ ) { 
    for (var j=0;j<16 ;j++ ) { 
    cxt.drawImage(block,w*j,h*i,w,h); } } } //小人位置坐标 function Point(x,y){ 
    this.x = x; this.y = y; } var perPosition = new Point(5,5);//小人的初始标值 //绘制每一个游戏关卡地图 function DrawMap(level){ 
    for (var i=0;i<level.length ;i++ ) { 
    for (var j=0;j<level[i].length ;j++ ) { 
    var pic = block;//初始图片 switch (level[i][j]) { 
    case 1://绘制墙壁 pic = wall; break; case 2://绘制陷进 pic = ball; break; case 3://绘制箱子 pic = box; break; case 4://绘制小人 pic = curMan;//小人有四个方向 具体显示哪一个图片须要和上下左右方位值关联 //获取小人的坐标位置 perPosition.x = i; perPosition.y = j; break; case 5://绘制箱子及陷进位置 pic = box; break; } //每一个图片不同宽 须要在对应地板的中心绘制地图 cxt.drawImage(pic,w*j-(pic.width-w)/2,h*i-(pic.height-h),pic.width,pic.height) } } } //初始化游戏等级 function initLevel(){ 
    curMap = copyArray(levels[iCurlevel]);//当前移动过的游戏地图 curLevel = levels[iCurlevel];//当前等级的初始地图 curMan = down;//初始化小人 InitMap();//初始化地板 DrawMap(curMap);//绘制出当前等级的地图 } //下一关 function NextLevel(i){ 
    //iCurlevel当前的地图关数 iCurlevel = iCurlevel + i; if (iCurlevel<0) { 
    iCurlevel = 0; return; } var len = levels.length; if (iCurlevel > len-1) { 
    iCurlevel = len-1; } initLevel();//初始当前等级关卡 moveTimes = 0;//游戏关卡移动步数清零 showMoveInfo();//初始化当前关卡数据 } //小人移动 function go(dir){ 
    var p1,p2; switch (dir) { 
    case "up": curMan = up; //获取小人前面的两个坐标位置来进行判断小人是否可以移动 p1 = new Point(perPosition.x-1,perPosition.y); p2 = new Point(perPosition.x-2,perPosition.y); break; case "down": curMan = down; p1 = new Point(perPosition.x+1,perPosition.y); p2 = new Point(perPosition.x+2,perPosition.y); break; case "left": curMan = left; p1 = new Point(perPosition.x,perPosition.y-1); p2 = new Point(perPosition.x,perPosition.y-2); break; case "right": curMan = right; p1 = new Point(perPosition.x,perPosition.y+1); p2 = new Point(perPosition.x,perPosition.y+2); break; } //若果小人可以移动的话,更新游戏数据,并重绘地图 if (Trygo(p1,p2)) { 
    moveTimes ++; showMoveInfo(); } //重绘地板 InitMap(); //重绘当前更新了数据的地图 DrawMap(curMap); //若果移动完成了进入下一关 if (checkFinish()) { 
    alert("恭喜过关!"); NextLevel(1); } } //判断是否推成功 function checkFinish(){ 
    for (var i=0;i<curMap.length ;i++ ) { 
    for (var j=0;j<curMap[i].length ;j++ ) { 
    //当前移动过的地图和初始地图进行比较,若果初始地图上的陷进参数在移动以后不是箱子的话就指代没推成功 if (curLevel[i][j] == 2 && curMap[i][j] != 3 || curLevel[i][j] == 5 && curMap[i][j] != 3) { 
    return false; } } } return true; } //判断小人是否可以移动 function Trygo(p1,p2){ 
    if(p1.x<0) return false;//若果超出地图的上边,不经过 if(p1.y<0) return false;//若果超出地图的左边,不经过 if(p1.x>curMap.length) return false;//若果超出地图的下边,不经过 if(p1.y>curMap[0].length) return false;//若果超出地图的右边,不经过 if(curMap[p1.x][p1.y]==1) return false;//若果前面是墙,不经过 if (curMap[p1.x][p1.y]==3 || curMap[p1.x][p1.y]==5) { 
   //若果小人前面是箱子那就还须要判断箱子前面有没有障碍物(箱子/墙) if (curMap[p2.x][p2.y]==1 || curMap[p2.x][p2.y]==3) { 
    return false; } //若果判断不成功小人前面的箱子前进一步 curMap[p2.x][p2.y] = 3;//更改地图对应坐标点的值 //console.log(curMap[p2.x][p2.y]); } //若果都没判断成功小人前进一步 curMap[p1.x][p1.y] = 4;//更改地图对应坐标点的值 //若果小人前进了一步,小人原来的位置如何显示 var v = curLevel[perPosition.x][perPosition.y]; if (v!=2)//若果刚开始小人位置不是陷进的话 { 
    if (v==5)//多是5 既有箱子又陷进 { 
    v=2;//若果小人自己就在陷进里面的话移开以后仍是显示陷进 }else{ 
    v=0;//小人移开以后以前小人的位置改成地板 } } //重置小人位置的地图参数 curMap[perPosition.x][perPosition.y] = v; //若果判断小人前进了一步,更新坐标值 perPosition = p1; //若果小动了 返回true 指代可以移动小人 return true; } //判断是否推成功 //与键盘上的上下左右键关联 function doKeyDown(event){ 
    switch (event.keyCode) { 
    case 37://左键头 go("left"); break; case 38://上键头 go("up"); break; case 39://右箭头 go("right"); break; case 40://下箭头 go("down"); break; } } //完善关卡数据及游戏说明 function showMoveInfo(){ 
    msg.innerHTML = "第" + (iCurlevel+1) +"关 移动次数: "+ moveTimes; } //游戏说明 var showhelp = false; function showHelp(){ 
    showhelp = !showhelp; if (showhelp) { 
    msg.innerHTML = "用键盘上的上、下、左、右键移动小人,把箱子所有推到小球的位置便可过关。箱子只可向前推,不能日后拉,而且小人一次只能推进一个箱子。"; }else{ 
    showMoveInfo(); } } //克隆二维数组 function copyArray(arr){ 
    var b=[];//每次移动更新地图数据都先清空再添加新的地图 for (var i=0;i<arr.length ;i++ ) { 
    b[i] = arr[i].concat();//连接两个数组 } return b; } //地图,可修改 var levels=[]; levels[0]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,2,1,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0], [0,0,0,0,1,1,1,3,0,3,2,1,0,0,0,0], [0,0,0,0,1,2,0,3,4,1,1,1,0,0,0,0], [0,0,0,0,1,1,1,1,3,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[1]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0], [0,0,0,0,1,4,0,0,1,0,0,0,0,0,0,0], [0,0,0,0,1,0,3,3,1,0,1,1,1,0,0,0], [0,0,0,0,1,0,3,0,1,0,1,2,1,0,0,0], [0,0,0,0,1,1,1,0,1,1,1,2,1,0,0,0], [0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0], [0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0], [0,0,0,0,0,1,0,0,0,1,1,1,1,0,0,0], [0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[2]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0], [0,0,0,1,1,3,1,1,1,0,0,0,1,0,0,0], [0,0,0,1,0,4,0,3,0,0,3,0,1,0,0,0], [0,0,0,1,0,2,2,1,0,3,0,1,1,0,0,0], [0,0,0,1,1,2,2,1,0,0,0,1,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[3]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0], [0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0], [0,0,0,0,1,4,3,0,1,0,0,0,0,0,0,0], [0,0,0,0,1,1,3,0,1,1,0,0,0,0,0,0], [0,0,0,0,1,1,0,3,0,1,0,0,0,0,0,0], [0,0,0,0,1,2,3,0,0,1,0,0,0,0,0,0], [0,0,0,0,1,2,2,5,2,1,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[4]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,1,4,0,1,1,1,0,0,0,0,0], [0,0,0,0,0,1,0,3,0,0,1,0,0,0,0,0], [0,0,0,0,1,1,1,0,1,0,1,1,0,0,0,0], [0,0,0,0,1,2,1,0,1,0,0,1,0,0,0,0], [0,0,0,0,1,2,3,0,0,1,0,1,0,0,0,0], [0,0,0,0,1,2,0,0,0,3,0,1,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[5]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0], [0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0], [0,1,0,0,0,2,1,1,1,0,1,0,0,0,0,0], [0,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0], [0,1,0,1,0,3,0,3,1,2,0,1,0,0,0,0], [0,1,0,1,0,0,5,0,0,1,0,1,0,0,0,0], [0,1,0,2,1,3,0,3,0,1,0,1,0,0,0,0], [0,1,1,0,0,0,0,1,0,1,0,1,1,1,0,0], [0,0,1,0,1,1,1,2,0,0,0,0,4,1,0,0], [0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,0], [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[6]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,1,1,0,0,1,0,4,1,0,0,0], [0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0], [0,0,0,0,0,1,3,0,3,0,3,0,1,0,0,0], [0,0,0,0,0,1,0,3,1,1,0,0,1,0,0,0], [0,0,0,1,1,1,0,3,0,1,0,1,1,0,0,0], [0,0,0,1,2,2,2,2,2,0,0,1,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[7]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0], [0,0,0,1,1,2,0,3,1,1,0,1,1,0,0,0], [0,0,0,1,2,2,3,0,3,0,0,4,1,0,0,0], [0,0,0,1,2,2,0,3,0,3,0,1,1,0,0,0], [0,0,0,1,1,1,1,1,1,0,0,1,0,0,0,0], [0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[8]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0], [0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,0], [0,0,0,1,3,0,1,1,1,0,3,1,0,0,0,0], [0,0,0,1,0,1,2,2,2,1,0,1,0,0,0,0], [0,0,1,1,0,1,2,2,2,1,0,1,1,0,0,0], [0,0,1,0,3,0,0,3,0,0,3,0,1,0,0,0], [0,0,1,0,0,0,0,0,1,0,4,0,1,0,0,0], [0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[9]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0], [0,0,0,0,1,1,1,3,3,3,0,1,0,0,0,0], [0,0,0,0,1,4,0,3,2,2,0,1,0,0,0,0], [0,0,0,0,1,0,3,2,2,2,1,1,0,0,0,0], [0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[10]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0], [0,0,1,1,0,0,1,0,0,1,0,0,0,1,0,0], [0,0,1,0,3,0,1,1,1,1,3,0,0,1,0,0], [0,0,1,0,0,3,2,2,2,2,0,3,0,1,0,0], [0,0,1,1,0,0,0,0,1,0,4,0,1,1,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[11]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,1,1,1,0,0,4,1,0,0,0,0,0], [0,0,0,0,1,0,0,3,2,0,1,1,0,0,0,0], [0,0,0,0,1,0,0,2,3,2,0,1,0,0,0,0], [0,0,0,0,1,1,1,0,5,3,0,1,0,0,0,0], [0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[12]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0], [0,0,0,0,0,1,1,0,2,1,1,0,0,0,0,0], [0,0,0,0,0,1,0,0,3,2,1,0,0,0,0,0], [0,0,0,0,1,1,0,3,0,0,1,1,0,0,0,0], [0,0,0,0,1,0,0,1,3,3,0,1,0,0,0,0], [0,0,0,0,1,0,0,4,0,0,0,1,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[13]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0], [0,0,0,0,1,0,3,2,2,3,0,1,0,0,0,0], [0,0,0,0,1,4,3,2,5,0,1,1,0,0,0,0], [0,0,0,0,1,0,3,2,2,3,0,1,0,0,0,0], [0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[14]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,3,0,3,3,0,1,0,0,0,0], [0,0,0,0,1,2,2,2,2,2,2,1,0,0,0,0], [0,0,0,0,1,0,3,3,0,3,0,1,0,0,0,0], [0,0,0,0,1,1,1,0,4,1,1,1,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[15]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0], [0,0,0,0,1,0,3,0,0,0,0,1,0,0,0,0], [0,0,1,1,1,0,3,0,1,1,0,1,0,0,0,0], [0,0,1,2,2,2,0,3,0,0,0,1,0,0,0,0], [0,0,1,2,2,2,3,1,3,0,1,1,0,0,0,0], [0,0,1,1,1,1,0,1,0,3,0,1,0,0,0,0], [0,0,0,0,0,1,0,0,4,0,0,1,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[16]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0], [0,0,0,1,0,3,3,3,1,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,2,2,1,1,1,0,0,0,0], [0,0,0,1,1,0,0,2,2,3,0,1,0,0,0,0], [0,0,0,0,1,0,4,0,0,0,0,1,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[17]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,1,0,0,0,1,2,0,1,0,0,0], [0,0,0,0,1,1,0,0,3,2,2,2,1,0,0,0], [0,0,0,0,1,0,0,3,0,1,5,2,1,0,0,0], [0,0,0,1,1,0,1,1,3,1,0,1,1,0,0,0], [0,0,0,1,0,0,0,3,0,0,3,0,1,0,0,0], [0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0], [0,0,0,1,1,1,1,1,1,1,4,0,1,0,0,0], [0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[18]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,1,2,2,2,2,0,1,0,0,0,0,0], [0,0,0,1,1,1,2,2,2,3,1,1,1,0,0,0], [0,0,0,1,0,0,3,1,3,0,3,0,1,0,0,0], [0,0,0,1,0,3,3,0,0,1,3,0,1,0,0,0], [0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0], [0,0,0,1,1,1,1,0,4,0,1,1,1,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[19]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,1,2,2,3,2,2,1,0,0,0,0,0], [0,0,0,0,1,2,2,1,2,2,1,0,0,0,0,0], [0,0,0,0,1,0,3,3,3,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,3,0,0,1,0,0,0,0,0], [0,0,0,0,1,0,3,3,3,0,1,0,0,0,0,0], [0,0,0,0,1,0,0,1,4,0,1,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[20]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,1,0,2,2,2,1,0,0,0,0,0], [0,0,1,1,1,1,2,2,2,2,1,0,0,0,0,0], [0,0,1,0,0,1,1,1,3,0,1,1,1,0,0,0], [0,0,1,0,3,0,3,0,0,3,3,0,1,0,0,0], [0,0,1,4,0,3,0,3,0,0,0,0,1,0,0,0], [0,0,1,0,0,0,1,1,1,0,0,0,1,0,0,0], [0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[21]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0], [0,0,0,0,1,0,1,3,3,0,0,1,0,0,0,0], [0,0,0,0,1,0,2,2,2,1,0,1,0,0,0,0], [0,0,0,0,1,1,2,2,2,3,0,1,1,0,0,0], [0,0,0,0,0,1,0,1,1,0,3,0,1,0,0,0], [0,0,0,0,0,1,3,0,0,3,0,0,1,0,0,0], [0,0,0,0,0,1,0,0,1,0,0,4,1,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[22]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0], [0,0,0,1,0,0,0,3,0,3,0,0,1,0,0,0], [0,0,0,1,0,3,0,0,0,3,0,4,1,0,0,0], [0,0,0,1,1,1,3,3,1,1,1,1,1,0,0,0], [0,0,0,0,0,1,0,0,2,2,1,0,0,0,0,0], [0,0,0,0,0,1,2,2,2,2,1,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[23]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0], [0,1,0,0,0,0,1,1,1,0,1,0,0,2,1,0], [0,1,0,0,3,0,3,0,1,0,1,2,2,2,1,0], [0,1,0,1,0,0,3,0,1,1,1,0,0,2,1,0], [0,1,0,0,3,3,3,0,0,0,3,0,4,2,1,0], [0,1,1,1,0,0,3,0,0,3,1,0,0,2,1,0], [0,0,0,1,0,0,3,1,3,0,1,2,2,2,1,0], [0,0,0,1,1,0,0,0,0,0,1,0,0,2,1,0], [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[24]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0], [0,0,0,1,1,1,1,1,2,0,0,0,1,0,0,0], [0,0,0,1,0,0,1,2,2,1,1,0,1,0,0,0], [0,0,0,1,0,0,3,2,2,0,0,0,1,0,0,0], [0,0,0,1,0,0,1,0,2,1,0,1,1,0,0,0], [0,0,1,1,1,0,1,1,3,1,0,0,1,0,0,0], [0,0,1,0,3,0,0,0,0,3,3,0,1,0,0,0], [0,0,1,0,1,3,1,0,0,1,0,0,1,0,0,0], [0,0,1,4,0,0,1,1,1,1,1,1,1,0,0,0], [0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[25]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,1,0,0,1,1,1,1,0], [0,0,0,1,0,3,0,0,0,0,0,0,0,0,1,0], [0,0,0,1,1,3,1,1,1,0,1,1,0,0,1,0], [0,0,0,1,0,0,1,1,0,5,0,1,0,1,1,0], [0,0,0,1,0,3,2,2,2,2,2,2,0,1,0,0], [0,0,1,1,0,1,1,1,0,2,0,1,0,1,0,0], [0,0,1,0,0,0,0,0,3,1,1,1,3,1,0,0], [0,0,1,0,0,0,1,0,0,0,0,3,4,1,0,0], [0,0,1,1,1,1,1,3,1,0,1,1,1,1,0,0], [0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[26]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0], [0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0], [0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0], [0,0,0,0,0,0,1,0,0,3,0,3,1,0,1,0], [1,1,1,1,1,1,1,0,0,0,3,0,0,0,1,0], [1,2,2,1,0,0,1,1,0,3,0,3,1,0,1,0], [1,2,2,0,0,0,1,1,0,3,0,3,0,0,1,0], [1,2,2,1,0,0,1,1,0,1,1,1,1,1,1,0], [1,2,2,1,0,1,0,3,0,3,0,1,0,0,0,0], [1,2,2,0,0,0,0,0,3,0,0,1,0,0,0,0], [1,0,0,1,1,1,0,4,0,1,1,1,0,0,0,0], [1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[27]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0], [1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0], [1,0,0,3,0,3,0,1,0,1,1,1,1,1,1,1], [1,0,0,0,3,0,0,1,0,1,5,2,5,2,5,1], [1,1,0,3,0,3,0,1,1,1,2,5,2,5,2,1], [0,1,3,0,3,0,0,1,0,0,5,2,5,2,5,1], [0,1,4,3,0,3,0,0,0,0,2,5,2,5,1,1], [0,1,3,0,3,0,0,1,0,0,5,2,5,2,5,1], [1,1,0,3,0,3,0,1,1,1,2,5,2,5,2,1], [1,0,0,0,3,0,0,1,0,1,5,2,5,2,5,1], [1,0,0,3,0,3,0,1,0,1,1,1,1,1,1,1], [1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[28]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,1,2,2,2,2,2,2,1,0,0,0,0], [0,0,0,0,1,0,0,3,0,1,0,1,1,0,0,0], [0,0,0,0,1,0,3,0,1,0,3,0,1,0,0,0], [0,0,0,0,1,1,3,0,3,0,3,0,1,0,0,0], [0,0,0,0,0,1,0,0,4,0,0,0,1,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[29]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0], [0,0,1,1,1,0,0,0,2,0,0,0,0,1,0,0], [0,0,1,0,0,0,1,1,3,1,1,0,0,1,0,0], [0,0,1,0,4,3,2,0,2,0,2,3,1,1,0,0], [0,0,1,1,0,3,1,1,3,1,1,0,1,0,0,0], [0,0,0,1,0,0,0,0,2,0,0,0,1,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[30]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0], [0,0,0,0,1,1,1,1,2,0,0,4,1,0,0,0], [0,0,0,0,1,0,0,3,3,3,0,0,1,0,0,0], [0,0,0,0,1,2,1,1,2,1,1,2,1,0,0,0], [0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0], [0,0,0,0,1,0,0,3,2,1,0,1,1,0,0,0], [0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[31]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,1,2,0,2,2,1,0,0,0,0,0,0], [0,0,0,0,1,2,0,3,2,1,0,0,0,0,0,0], [0,0,0,1,1,1,0,0,3,1,1,0,0,0,0,0], [0,0,0,1,0,3,0,0,3,0,1,0,0,0,0,0], [0,0,0,1,0,1,3,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,4,0,0,1,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[32]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0], [0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0], [0,0,0,1,0,0,0,1,3,0,0,0,1,1,1,0], [0,0,0,1,0,0,0,3,0,0,0,3,3,0,1,0], [0,0,0,1,0,3,3,0,1,3,0,0,0,0,1,0], [0,0,0,1,1,0,0,0,3,0,0,0,3,0,1,0], [0,1,1,1,1,1,1,0,1,3,1,1,1,1,1,0], [0,1,2,2,4,0,1,3,0,0,1,0,0,0,0,0], [0,1,2,1,2,2,0,0,3,1,1,0,0,0,0,0], [0,1,2,2,2,2,3,1,0,1,0,0,0,0,0,0], [0,1,2,2,2,2,0,0,0,1,0,0,0,0,0,0], [0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[33]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0], [1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0], [1,0,3,0,1,3,0,1,0,3,1,1,3,0,1,0], [1,0,1,0,0,3,0,1,0,0,0,0,0,0,1,0], [1,0,0,0,1,1,3,1,3,1,1,3,3,0,1,0], [1,0,1,0,1,0,2,2,2,0,1,0,0,0,1,0], [1,0,3,0,0,2,0,1,0,2,3,0,1,0,1,0], [1,0,3,1,4,3,2,2,2,1,0,1,0,0,1,0], [1,0,0,0,0,2,0,1,0,2,0,0,3,0,1,0], [1,0,1,1,2,3,1,1,1,3,2,0,1,0,1,0], [1,0,1,0,3,2,2,2,2,2,0,1,1,0,1,0], [1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0], [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[34]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0], [0,0,0,1,0,1,0,3,0,3,0,1,0,0,0,0], [0,0,0,1,0,0,5,2,1,0,0,1,0,0,0,0], [0,0,0,1,1,0,1,2,4,2,1,1,0,0,0,0], [0,0,0,1,1,3,1,1,1,5,1,1,1,0,0,0], [0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0], [0,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0], [0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,0], [0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[35]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0], [1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0], [1,0,3,3,0,0,0,1,1,1,0,0,0,0,0,0], [1,0,0,3,0,3,3,3,0,1,1,1,1,1,0,0], [1,1,0,1,1,0,2,2,2,0,0,0,0,1,1,0], [0,1,0,1,4,1,2,2,2,1,1,1,3,0,1,0], [0,1,0,1,0,3,2,2,2,0,0,0,0,0,1,0], [1,1,0,1,0,3,2,2,2,3,0,1,0,1,1,0], [1,0,0,1,1,1,1,1,0,1,1,1,0,1,0,0], [1,0,0,0,0,0,0,3,0,0,0,3,0,1,0,0], [1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0], [0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[36]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,1,0,4,0,1,0,0,0,0], [0,0,0,0,0,0,0,1,3,3,3,1,0,0,0,0], [0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0], [0,0,0,0,1,0,0,0,2,1,3,1,1,0,0,0], [0,0,0,0,1,0,3,2,3,2,0,2,1,0,0,0], [0,0,0,0,1,0,0,1,2,1,2,1,1,0,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[37]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0], [0,0,1,2,2,2,0,1,0,0,0,0,0,1,0,0], [0,0,1,2,2,0,0,1,0,1,1,0,0,1,0,0], [0,0,1,2,2,0,0,0,0,0,1,0,0,1,0,0], [0,0,1,2,2,0,0,1,0,3,1,1,0,1,0,0], [0,0,1,2,2,2,0,1,3,0,3,0,0,1,0,0], [0,0,1,1,1,1,1,1,0,0,3,3,0,1,0,0], [0,0,0,1,1,0,0,3,0,3,3,0,0,1,0,0], [0,0,0,1,4,0,3,3,3,0,0,1,0,1,0,0], [0,0,0,1,1,0,3,0,1,1,0,0,0,1,0,0], [0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[38]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0], [0,0,0,1,0,0,3,0,3,0,3,1,0,0,0,0], [0,0,0,1,1,0,1,3,1,1,0,1,0,0,0,0], [0,0,0,0,1,0,2,2,0,2,2,1,1,0,0,0], [0,0,0,0,1,1,2,2,0,2,2,0,1,0,0,0], [0,0,0,0,0,1,0,1,1,3,1,0,1,1,0,0], [0,0,0,0,0,1,3,0,3,0,3,0,0,1,0,0], [0,0,0,0,0,1,0,0,0,0,0,0,4,1,0,0], [0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[39]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0], [1,4,0,0,1,1,1,1,1,1,1,1,0,0,1,0], [1,1,0,3,0,0,0,0,0,0,0,3,0,0,1,0], [0,1,0,1,0,1,0,0,1,1,1,1,0,0,1,0], [0,1,0,0,3,0,0,0,1,1,1,1,3,1,1,0], [0,1,3,0,1,1,0,1,0,3,0,3,0,1,0,0], [1,1,0,3,0,0,3,1,0,0,0,0,0,1,0,0], [1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0], [1,0,0,0,1,1,1,1,1,3,1,1,1,1,0,0], [1,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0], [0,0,0,0,1,2,2,2,0,0,3,0,1,0,0,0], [0,0,0,0,1,2,2,2,2,1,0,0,1,0,0,0], [0,0,0,0,1,2,2,2,2,1,1,1,1,0,0,0], [0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; levels[40]=[ [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0], [0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,0], [0,0,0,0,1,0,2,2,0,3,1,0,1,0,0,0], [0,0,0,0,1,0,1,2,5,0,0,0,1,0,0,0], [0,0,0,1,1,0,5,2,1,3,0,1,1,0,0,0], [0,0,0,1,0,3,0,0,3,0,0,1,0,0,0,0], [0,0,0,1,0,0,0,1,1,0,4,1,0,0,0,0], [0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]; </script>
</html>

  代码开源,但须要有必定JS语音基础方可阅读。我明白“ 授人以鱼不如授人以渔 ”的道理,因此代码中经常只留下自定义注释,方便你们修改,但不能凭此参透其中的奥妙,我并无藏拙,好学的人天然会想办法寻找答案,自学也是人生的一门必修课。


推荐阅读如下内容:css

Canvas线条动画
CSS旋转魔方
JS迷你键盘
CSS逼真小象
html