抓住神经猫,抓住神经猫的学习与实践
其实抓住神经猫的问题并不复杂,但是又很多的朋友都不太了解抓住神经猫的学习与实践,因此呢,今天小编就来为大家分享抓住神经猫的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
最近学习了一款html小游戏叫抓住神经猫:
利用了createjsapi以及简单的游戏逻辑完成的
<title>围住神经猫</title>
<scriptsrc=\"https://code.createjs.com/easeljs-0.7.1.min.js\"></script>
<scriptsrc=\"../js/circle.js\"></script>
<center><canvaswidth=\"800px\"height=\"800px\"id=\"gameView\"></canvas></center>
<scriptsrc=\"../js/myCat.js\"></script>
<buttononclick=\"javascript:window.location.reload()\">再来一次</button>
this.setCircleType=function(type){
this.setColor=function(colorString){
this.graphics.beginFill(colorString);
this.graphics.drawCircle(0,0,25);
this.getCircleType=function(){
circle.prototype=newcreatejs.Shape();
varstage=newcreatejs.Stage(\"gameView\");
createjs.Ticker.setFPS(100);//设置帧数
createjs.Ticker.addEventListener(\"tick\",stage);//添加监听事件
vargameView=newcreatejs.Container();
varcircleArr=[[],[],[],[],[],[],[],[],[]];
varMOVE_NONE=-1,MOVE_LEFT=0,MOVE_UP_LEFT=1,MOVE_UP_RIGHT=2,MOVE_RIGHT=3,MOVE_DOWN_RIGHT=4,MOVE_DOWN_LEFT=5;
functiongetMoveDir(cat){//方向
for(varx=cat.indexX;x>=0;x--){
if(circleArr[x][cat.indexY].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_LEFT]=cat.indexX-x;//左边可以动区域
if(circleArr[x][y].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_UP_LEFT]=can.indexY-y;
if(circleArr[x][y].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_UP_RIGHT]=can.indexY-y;
for(varx=cat.indexX;x<9;x++){
if(circleArr[x][cat.indexY].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_RIGHT]=x-cat.indexX;
if(circleArr[x][y].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_DOWN_RIGHT]=cat.indexY;
if(circleArr[x][y].getCircleType()==circle.TYPE_SELECTED){
distanceMap[MOVE_DOWN_LEFT]=y-cat.indexY;
for(vardir=0;dir<distanceMap.length;dir++){
if(distanceMap[dir]>maxValue){//还有路可走
if(e.target.getCircleType()==circle.TYPE_UNSELECTED){//空的点
e.target.setCircleType(circle.TYPE_SELECTED);
return;//不再运行,等待下次点击
if(currentCat.indexX==0||currentCat.indexX==8||currentCat.indexY==0||currentCat.indexY==8){//边界
vardir=getMoveDir(currentCat);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexX-1][currentCat.indexY];
currentCat.setCircleType(circle.TYPE_CAT);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexY%2?currentCat.indexX:currentCat.indexX-1][currentCat.indexY-1];
currentCat.setCircleType(circle.TYPE_CAT);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexY%2?currentCat.indexX+1:currentCat.indexX][currentCat.indexY-1];
currentCat.setCircleType(circle.TYPE_CAT);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexX+1][currentCat.indexY];
currentCat.setCircleType(circle.TYPE_CAT);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexY%2?currentCat.indexX+1:currentCat.indexX][currentCat.indexY+1];
currentCat.setCircleType(circle.TYPE_CAT);
currentCat.setCircleType(circle.TYPE_UNSELECTED);
currentCat=circleArr[currentCat.indexY%2?currentCat.indexX:currentCat.indexX-1][currentCat.indexY+1];
currentCat.setCircleType(circle.TYPE_CAT);
varleftCircle=circleArr[currentCat.indexX-1][currentCat.indexY];//左
varrightCircle=circleArr[currentCat.indexX+1][currentCat.indexY];//右
varleftTopCircle=circleArr[currentCat.indexX-1][currentCat.indexY-1];//左上
varrightTopCircle=circleArr[currentCat.indexX][currentCat.indexY-1];//右上
varleftBottomCircle=circleArr[currentCat.indexX-1][currentCat.indexY+1];//左下
varrightBottomCircle=circleArr[currentCat.indexX][currentCat.indexY+1];//右下
if(leftCircle.getCircleType()==1){
}elseif(rightCircle.getCircleType()==1){
}elseif(leftTopCircle.getCircleType()==1){
leftTopCircle.setCircleType(3);
}elseif(rightTopCircle.getCircleType()==1){
rightTopCircle.setCircleType(3);
}elseif(leftBottomCircle.getCircleType()==1){
leftBottomCircle.setCircleType(3);
}elseif(rightBottomCircle.getCircleType()==1){
rightBottomCircle.setCircleType(3);
for(varindexY=0;indexY<9;indexY++){
for(varindexX=0;indexX<9;indexX++){
c.x=indexY%2?indexX*55+25:indexX*55;
if(indexX===4&&indexY===4){
c.setCircleType(circle.TYPE_CAT);
}elseif(Math.random()<0.1){
c.setCircleType(circle.TYPE_SELECTED);
c.addEventListener(\"click\",circleClicked);
抓住神经猫和抓住神经猫的学习与实践的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!