⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function.c

📁 比较流行的下游戏推箱子用单片机源程序及PROTUES仿真
💻 C
📖 第 1 页 / 共 2 页
字号:
						  level_temp[curx][cury-1]=5;
						  printc(curx,cury-1,5);
						  pass();
					  }

				  }

				  else if(level_temp[curx][cury-1]==5){

				      if(level_temp[curx][cury-2]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
						  cury=cury-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury-1]=3;
						  printc(curx,cury-1,3);
						      
					  }
					  else if(level_temp[curx][cury-2]==4){

					      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
					      
						  cury=cury-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury-1]=5;
						  printc(curx,cury-1,5);
						  pass();
					  }
					  pass();
				  }
				  while((P1&0x01)==0);
				  break;
		case 0x1d:	   /*下 cury < 7 && */
				  if(level_temp[curx][cury+1]==0||level_temp[curx][cury+1]==4){

				      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					      level_temp[curx][cury]=4;
				          printc(curx,cury,4);
					  }
					  else{
					      level_temp[curx][cury]=0;
				          printc(curx,cury,0);
					  }

				      cury=cury+1;
					  level_temp[curx][cury]=1;
				      printc(curx,cury,1);
				  }

				  else if(level_temp[curx][cury+1]==3){

				      if(level_temp[curx][cury+2]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  cury=cury+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury+1]=3;
						  printc(curx,cury+1,3);
					  }

					  else if(level_temp[curx][cury+2]==4){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  cury=cury+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury+1]=5;
						  printc(curx,cury+1,5);
						  pass();
					  }

				  }

				  else if(level_temp[curx][cury+1]==5){

				      if(level_temp[curx][cury+2]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
						  cury=cury+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury+1]=3;
						  printc(curx,cury+1,3);
						      
					  }
					  else if(level_temp[curx][cury+2]==4){

					      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
					      
						  cury=cury+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx][cury+1]=5;
						  printc(curx,cury+1,5);
						  pass();
					  }
					  pass();
				  }
				  while((P1&0x02)==0);
				  break;
		case 0x1b:	   /*左 curx > 0 && */
				  if(level_temp[curx-1][cury]==0||level_temp[curx-1][cury]==4){

				      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					      level_temp[curx][cury]=4;
				          printc(curx,cury,4);
					  }
					  else{
					      level_temp[curx][cury]=0;
				          printc(curx,cury,0);
					  }

				      curx=curx-1;
					  level_temp[curx][cury]=1;
				      printc(curx,cury,1);
				  }

				  else if(level_temp[curx-1][cury]==3){

				      if(level_temp[curx-2][cury]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  curx=curx-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx-1][cury]=3;
						  printc(curx-1,cury,3);
					  }

					  else if(level_temp[curx-2][cury]==4){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  curx=curx-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx-1][cury]=5;
						  printc(curx-1,cury,5);
						  pass();
					  }

				  }

				  else if(level_temp[curx-1][cury]==5){

				      if(level_temp[curx-2][cury]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
						  curx=curx-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx-1][cury]=3;
						  printc(curx-1,cury,3);
						      
					  }
					  else if(level_temp[curx-2][cury]==4){

					      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
					      
						  curx=curx-1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx-1][cury]=5;
						  printc(curx-1,cury,5);
						  pass();
					  }
					  pass();
				  }
				  while((P1&0x04)==0);
				  break;
		case 0x17:	   /*右 curx < 9 && */
				  if(level_temp[curx+1][cury]==0||level_temp[curx+1][cury]==4){

				      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					      level_temp[curx][cury]=4;
				          printc(curx,cury,4);
					  }
					  else{
					      level_temp[curx][cury]=0;
				          printc(curx,cury,0);
					  }

				      curx=curx+1;
					  level_temp[curx][cury]=1;
				      printc(curx,cury,1);
				  }

				  else if(level_temp[curx+1][cury]==3){

				      if(level_temp[curx+2][cury]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  curx=curx+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx+1][cury]=3;
						  printc(curx+1,cury,3);
					  }

					  else if(level_temp[curx+2][cury]==4){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }

						  curx=curx+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx+1][cury]=5;
						  printc(curx+1,cury,5);
						  pass();
					  }

				  }

				  else if(level_temp[curx+1][cury]==5){

				      if(level_temp[curx+2][cury]==0){

				          if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
						  curx=curx+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx+1][cury]=3;
						  printc(curx+1,cury,3);
						      
					  }
					  else if(level_temp[curx+2][cury]==4){

					      if(level[g][cury][curx]==4||level[g][cury][curx]==5){
					          level_temp[curx][cury]=4;
				              printc(curx,cury,4);
					      }
						  else{
					          level_temp[curx][cury]=0;
				              printc(curx,cury,0);
					      }
					      
						  curx=curx+1;
						  level_temp[curx][cury]=1;
						  printc(curx,cury,1);
						  level_temp[curx+1][cury]=5;
						  printc(curx+1,cury,5);
						  pass();
					  }
					  pass();
				  }
				  while((P1&0x08)==0);
				  break;
	    case 0x0f:	   /*确定*/
				  break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -