阅读背景:

【汇智学堂】-JS菜鸟版过河小游戏(之八---补充返程判断)_雷玉广的博客

来源:互联网 

修改moveship.js:

var shipposition1=0;//代表船上的位置1没人,1代表有人,2代表是爸爸妈妈或警察
var shipposition2=0;//代表船上的位置2没人
var arr = [1,1,1,1,1,1,1,1];//初始化左侧位置,1代表有人。每个位置对应一人。

var div01;//位置1上的人
var div02;//位置2上的人

var moveToRight=0;

//右侧上船位置状态指定“3”
	function state3(div11){
		if(div11=="div1"){		  	
		  	arr[0]=3;	  	
	    }
		else if(div11=="div2"){		  	
		  	arr[1]=3;	  
	    }
		
		else if(div11=="div3"){		  	
		  	arr[2]=3;	  
	    }
		
		else if(div11=="div4"){		  	
		  	arr[3]=3;	  
	    }
		
		else if(div11=="div5"){		  	
		  	arr[4]=3;	  
	    }
		
		else if(div11=="div6"){		  	
		  	arr[5]=3;	  
	    }
		
		else if(div11=="div7"){		  	
		  	arr[6]=3;	  
	    }
		
		else if(div11=="div8"){		  	
		  	arr[7]=3;	  
	   }
	}
	
//左侧上船位置状态指定“0”
	function state0(div11){
		if(div11=="div1"){		  	
		  	arr[0]=0;	  	
	    }
		else if(div11=="div2"){		  	
		  	arr[1]=0;	  
	    }
		
		else if(div11=="div3"){		  	
		  	arr[2]=0;	  
	    }
		
		else if(div11=="div4"){		  	
		  	arr[3]=0;	  
	    }
		
		else if(div11=="div5"){		  	
		  	arr[4]=0;	  
	    }
		
		else if(div11=="div6"){		  	
		  	arr[5]=0;	  
	    }
		
		else if(div11=="div7"){		  	
		  	arr[6]=0;	  
	    }
		
		else if(div11=="div8"){		  	
		  	arr[7]=0;	  
	   }
	}

//妈妈不在,爸爸打儿子

function judge(){
	
	if(shipposition1!=2&&shipposition2!=2){
		alert("只有爸爸妈妈警察能开船!");
		return 1;//提示不能开船
	}
	
	if(arr[1]==0 && arr[0]==1&& arr[2]==1){
		alert("妈妈不在,爸爸打儿子!");
		return 1;
	}
	else if(arr[1]==0&&arr[0]==1&&arr[3]==1){
		alert("妈妈不在,爸爸打儿子!");
		return 1;
	}
	
	else if(arr[0]==0 && arr[1]==1&& arr[4]==1){
		alert("爸爸不在,妈妈打女儿!");
		return 1;
		
	}
	else if(arr[0]==0&&arr[1]==1&&arr[5]==1){
		alert("爸爸不在,妈妈打女儿!");
		return 1;
	}
	
	else if(arr[6]==0 && arr[7]==1){
		
		if(arr[0]==1||arr[1]==1||arr[2]==1||arr[3]==1||arr[4]==1||arr[5]==1){
			alert("警察不在,匪徒杀人!");
			return 1;
		}
		else{
			return 0;
		}
		
	}
}

function judge2(){
	
	console.log(arr[6]);
	console.log(arr[7]);
	
	if(shipposition1!=2&&shipposition2!=2){
		alert("只有爸爸妈妈警察能开船!");
		return 1;//提示不能开船
	}
	
	if(arr[1]==3 && arr[0]==2&& arr[2]==2){
		alert("妈妈不在,爸爸打儿子!");
		return 1;
	}
	else if(arr[1]==3&&arr[0]==2&&arr[3]==2){
		alert("妈妈不在,爸爸打儿子!");
		return 1;
	}
	
	else if(arr[0]==3 && arr[1]==2&& arr[4]==2){
		alert("爸爸不在,妈妈打女儿!");
		return 1;
		
	}
	else if(arr[0]==3&&arr[1]==2&&arr[5]==2){
		alert("爸爸不在,妈妈打女儿!");
		return 1;
	}
	
		
	else if(arr[6]==3 && arr[7]==2){
		if(arr[0]==2||arr[1]==2||arr[2]==2||arr[3]==2||arr[4]==2||arr[5]==2){
			alert("警察不在,匪徒杀人!");
			return 1;
		}
		else{
			return 0;
		}	
	}
}
   
<!--上船/下船-->

function upship(div11){
	
	//左侧上船
	var div1=document.getElementById(div11);
	
	if(div1.style.marginLeft=="0px"||div1.style.marginLeft==""){
		
		if(shipposition1!=0&shipposition2!=0){
			return alert("船上人已满!");
		}
		
		if(shipposition1==0){
		
			if(div1.style.marginTop=="0px"||div1.style.marginTop=="100px"||div1.style.marginTop=="600px"||div1.style.marginTop==""){
				shipposition1=2;
			}
			else{
				shipposition1=1;	
			}
			  	 div1.style.marginLeft="210px";		  	 
			  	 div01=div11;
	   }
		
		else if(shipposition2==0){
			if(div1.style.marginTop=="0px"||div1.style.marginTop=="100px"||div1.style.marginTop=="600px"||div1.style.marginTop==""){
				shipposition2=2;
			}
			else{
				shipposition2=1;	
			}
			 div1.style.marginLeft="110px";			 
			 div02=div11;
	   }
		
		if(div11=="div1"){		  	
		  	arr[0]=0;
	  	//alert(arr[0]);
	    }
		else if(div11=="div2"){		  	
		  	arr[1]=0;	  
	    }
		
		else if(div11=="div3"){		  	
		  	arr[2]=0;	  
	    }
		
		else if(div11=="div4"){		  	
		  	arr[3]=0;	  
	    }
		
		else if(div11=="div5"){		  	
		  	arr[4]=0;	  
	    }
		
		else if(div11=="div6"){		  	
		  	arr[5]=0;	  
	    }
		
		else if(div11=="div7"){		  	
		  	arr[6]=0;	  
	    }
		
		else if(div11=="div8"){		  	
		  	arr[7]=0;	  
	  }				
		div1.style.marginTop="600px"; 		
    }

	
	//左侧下船
	
	else if(div1.style.marginLeft=="210px"||div1.style.marginLeft=="110px"){	  
	  
	  if(div1.style.marginLeft=="210px"){
	  	shipposition1=0;
	  	div01="";
	  }
	  else if(div1.style.marginLeft=="110px"){
	  	shipposition2=0;
	  	div02="";
	  }	 
	  
	  if(div11=="div1"){
	  	div1.style.marginTop=0;	
	  	arr[0]=1;
	  	//alert(arr[0]);
	  }
	  
	  else if(div11=="div2"){	 	
	  	div1.style.marginTop="100px";
	  	arr[1]=1;
	  } 
	  
	  else if(div11=="div3"){	 	
	  	div1.style.marginTop="200px";
	  	arr[2]=1;
	  } 
	  
	   else if(div11=="div4"){	 	
	  	div1.style.marginTop="300px";
	  	arr[3]=1;
	  } 
	  
	  else if(div11=="div5"){
	  	div1.style.marginTop="400px";
	  	arr[4]=1;
	  }
	  
	  else if(div11=="div6"){	 	
	  	div1.style.marginTop="500px";
	  	arr[5]=1;
	  } 
	  
	  else if(div11=="div7"){	 	
	  	div1.style.marginTop="600px";
	  	arr[6]=1;
	  } 
	  
	   else if(div11=="div8"){	 	
	  	div1.style.marginTop="700px";
	  	arr[7]=1;
	  }	  
	  div1.style.marginLeft=0;
 	}
	
	//右侧上船
	
	if(div1.style.marginLeft=="650px"){
		
		//alert("已进入右侧上船");
		
		if(shipposition1==1&shipposition2==1){
			return alert("船上人已满!");
		}
	
		if(shipposition1==0){
			if(div1.style.marginTop=="0px"||div1.style.marginTop=="100px"||div1.style.marginTop=="600px"||div1.style.marginTop==""){
				shipposition1=2;
			}
			else{
				shipposition1=1;	
			}
	  	 div1.style.marginLeft="550px";		  	
	  	 div01=div11;
	   }
		
		else if(shipposition2==0){
			if(div1.style.marginTop=="0px"||div1.style.marginTop=="100px"||div1.style.marginTop=="600px"||div1.style.marginTop==""){
				shipposition2=2;
			}
			else{
				shipposition2=1;	
			}
		 div1.style.marginLeft="450px";		
		 div02=div11;
	  }	
	  
	  div1.style.marginTop="600px";
	  state3(div11);	  
	  
    }
	
	//右侧下船
	
	else if(div1.style.marginLeft=="450px"||div1.style.marginLeft=="550px"){	  
	  
	  if(div1.style.marginLeft=="550px"){
	  	shipposition1=0;
	  	div01="";
	  }
	  else if(div1.style.marginLeft=="450px"){
	  	shipposition2=0;
	  	div02="";
	  }	 
	  
	  if(div11=="div1"){
	  	div1.style.marginTop=0;	  	
	  	arr[0]=2;
	  }
	  
	  else if(div11=="div2"){	 	
	  	div1.style.marginTop="100px";
	  	arr[1]=2;
	  } 
	  
	  else if(div11=="div3"){	 	
	  	div1.style.marginTop="200px";
	  	arr[2]=2;
	  } 
	  
	   else if(div11=="div4"){	 	
	  	div1.style.marginTop="300px";
	  	arr[3]=2;
	  } 
	  
	  else if(div11=="div5"){
	  	div1.style.marginTop="400px";
	  	arr[4]=2;
	  }
	  
	  else if(div11=="div6"){	 	
	  	div1.style.marginTop="500px";
	  	arr[5]=2;
	  } 
	  
	  else if(div11=="div7"){	 	
	  	div1.style.marginTop="600px";
	  	arr[6]=2;
	  } 
	  
	  else if(div11=="div8"){	 	
	  	div1.style.marginTop="700px";
	  	arr[7]=2;
	  	//alert(arr[7]);
	  } 
	  
	  div1.style.marginLeft="650px"; 
  }	
}

<!--爸爸上船-->

function fathermove1(){
	upship("div1");
	//whichChoose(0);	;
}
<!--妈妈上船-->
function mothermove1(){
	upship("div2");
	//whichChoose(1);	
}

<!--儿子一上船-->
function son1move(){
	upship("div3");
	//whichChoose(2);	
}

<!--儿子二上船-->
function son2move(){
	upship("div4");
	//whichChoose(3);	
}

<!--女儿一上船-->
function daughter1move(){
	upship("div5");
	//whichChoose(4);	
}

<!--女儿二上船-->
function daughter2move(){
	upship("div6");
	//whichChoose(5);	
}

<!--警察上船-->
function policemanmove(){
	upship("div7");     	
	//whichChoose(6);	
}

<!--匪徒上船-->
function banditmove(){
	upship("div8");
	//whichChoose(7);	
}

function moveship(){	
	
	if(moveToRight==0){
	
		if(judge()==1)
		{
			return;
		}
	
		else{
		var div10=document.getElementById("div10");
		var div9=document.getElementById("div9");
		if(div01!=""){
			var div1=document.getElementById(div01);
		}
		if(div02!=""){
		var div2=document.getElementById(div02);
		}
			    	
			div9.style.marginLeft="400px";
			div10.style.marginLeft="400px";
			if(div01!=""){
				div1.style.marginLeft="550px";
				state3(div01);
			}
			if(div02!=""){
				div2.style.marginLeft="450px";	
				state3(div02);
			}	      	
	  }		
		moveToRight=1;
		return;
	}
	
	else{	
				
		if(judge2()==1)
		{
			return;
		}
		
		else{
		var div10=document.getElementById("div10");
		var div9=document.getElementById("div9");
			if(div01!=""){
			  var div1=document.getElementById(div01);
			}
			if(div02!=""){
			  var div2=document.getElementById(div02);
			}		
		
			div9.style.marginLeft="100px";
			div10.style.marginLeft="120px";
			if(div01!=""){
			   div1.style.marginLeft="210px";
			   state0(div01);
			}
			if(div02!=""){
			   div2.style.marginLeft="110px";
			   state0(div02);
			}   
 	 }		
		moveToRight=0;		
		return;
	}
}

var shipposition1=0;//代



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: