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

📄 qipan.java

📁 这里面有JAVA和C的骑士问题的一些求解方法 大家可以做为参考 有什么问题可以在这里留言
💻 JAVA
字号:
import java.awt.*;
import java.applet.*;
public class Qipan extends Applet
   {    int zhuangtai[][]=new int[360][360];
        //int fanhui[]=new int[2];
        int aa[]=new int[2];
       
        
        int panduan(int m,int n){
       	int k=0;
       	if(((m+100)<=360)&&((n+50)<=360)&&((zhuangtai[m+100][n+50])==0))
       	k=k+1;
       	
       	if(((m+100)<=360)&&((n-50)<=360)&&((zhuangtai[m+100][n-50])==0)&&((n-50)>=10))
       	k=k+1;
       	
       	if(((m-100)<=360)&&((n-50)<=360)&&((zhuangtai[m-100][n-50])==0)&&((m-100)>=10)&&((n-50)>=10))
       	k=k+1;
       
       	if(((m-100)<=360)&&((n+50)<=360)&&((zhuangtai[m-100][n+50])==0)&&((m-100)>=10))
       	k=k+1;
       	
       	if(((m+50)<=360)&&((n-100)<=360)&&((zhuangtai[m+50][n-100])==0)&&((n-100)>=10))
       	k=k+1;
       
       	if(((m+50)<=360)&&((n+100)<=360)&&((zhuangtai[m+50][n+100])==0))
       	k=k+1;
       
       	if(((m-50)<=360)&&((n-100)<=360)&&((zhuangtai[m-50][n-100])==0)&&((m-50)>=10)&&((n-100)>=10))
       	k=k+1;
       
       	if(((m-50)<=360)&&((n+100)<=360)&&((zhuangtai[m-50][n+100])==0)&&((m-50)>=10))
       	k=k+1;
        return k;
       	}
       	
       	
      void nage(int m,int n)
         
       { 	
         int s1=8,s2=8,s3=8,s4=8,s5=8,s6=8,s7=8,s8=8,p1=0,p2=0;
          int low=0;
      if(((m+100)<=360)&&((n+50)<=360)&&((zhuangtai[m+100][n+50])==0))
       	 {s1=panduan(m+100,n+50);
       	  low=s1;p1=m+100;p2=n+50;
         }
         
     if(((m+100)<=360)&&((n-50)<=360)&&((zhuangtai[m+100][n-50])==0)&&((n-50)>=10))
       	 {s2=panduan(m+100,n-50);
       	  if(s2<low) {low=s2;p1=m+100;p2=n-50;}
       	 }
       	 
    if(((m-100)<=360)&&((n-50)<=360)&&((zhuangtai[m-100][n-50])==0)&&((m-100)>=10)&&((n-50)>=10))
       	{s3=panduan(m-100,n-50);
         if(s3<low) {low=s3;p1=m-100;p2=n-50;}
       	 }
       	
    if(((m-100)<=360)&&((n+50)<=360)&&((zhuangtai[m-100][n+50])==0)&&((m-100)>=10))
       	{s4=panduan(m-100,n+50);
         if(s4<low) {low=s4;p1=m-100;p2=n+50;}
        }
       
    if(((m+50)<=360)&&((n-100)<=360)&&((zhuangtai[m+50][n-100])==0)&&((n-100)>=10))
       	{s5=panduan(m+50,n-100);
         if(s5<low) {low=s5;p1=m+50;p2=n-100;}
        }
       
    if(((m+50)<=360)&&((n+100)<=360)&&((zhuangtai[m+50][n+100])==0))
       	{s6=panduan(m+50,n+100);
         if(s6<low) {low=s6;p1=m+50;p2=n+100;}
        }
       
    if(((m-50)<=360)&&((n-100)<=360)&&((zhuangtai[m-50][n-100])==0)&&((m-50)>=10)&&((n-100)>=10))
       	{s7=panduan(m-50,n-100);
         if(s7<low) {low=s7;p1=m-50;p2=n-100;}
        }
       
    if(((m-50)<=360)&&((n+100)<=360)&&((zhuangtai[m-50][n+100])==0)&&((m-50)>=10))
       	{s8=panduan(m-50,n+100);
       	 if(s8<low) {low=s8;p1=m-50;p2=n+100;}
       	}
       
       	zhuangtai[p1][p2]=8;
       	aa[0]=p1;
       	aa[1]=p2;
      }
 
  
  
  
  
    public void paint(Graphics g)
    {
         int y=10;
    
       for(int i=1;i<9;i++)
         { int x=10;
     
          for(int j=1;j<9;j++)
            { if(  (((i%2)==0)&&((j%2)==0))||(((i%2)!=0)&&((j%2)!=0) ) )
                { g.setColor(Color.red);
		       	  g.fillRect(x,y,50,50);
		       	}
		      else
		      {g.setColor(Color.blue);
		       	  g.fillRect(x,y,50,50);
		      }
			      x+=50;	
         	   
            }	
         	      y+=50;
        }
       
       
       g.setColor(Color.yellow);
       g.fillOval(10,10,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[10][10]=8;
       
       
       
              g.setColor(Color.yellow);
       g.fillOval(110,60,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[110][60]=8;
         
         
                       g.setColor(Color.yellow);
       g.fillOval(10,110,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[10][110]=8;
       
       
                     g.setColor(Color.yellow);
       g.fillOval(60,210,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[60][210]=8;
       
                     g.setColor(Color.yellow);
       g.fillOval(10,310,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[10][310]=8;
       
       
       
                     g.setColor(Color.yellow);
       g.fillOval(110,360,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[110][360]=8;
       
       
       
                     g.setColor(Color.yellow);
       g.fillOval(210,310,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[210][310]=8;
     
     
     
     
                   g.setColor(Color.yellow);
       g.fillOval(310,360,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[310][360]=8;
       
       
       
       
                     g.setColor(Color.yellow);
       g.fillOval(360,260,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[360][260]=8;
       
       
       
                     g.setColor(Color.yellow);
       g.fillOval(310,160,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[310][160]=8;
       
       
                     g.setColor(Color.yellow);
       g.fillOval(260,10,50,50);
       try {Thread.sleep(500);}
       catch(Exception e){return;}
       zhuangtai[260][10]=8;
       
       

       	     int m=260;
             int n=10; 
             nage(m,n);
             g.setColor(Color.yellow);
             g.fillOval(aa[0],aa[1],50,50);
             try {Thread.sleep(500);}
             catch(Exception e){return;}
             
             
             for(int z=0;z<58;z++)
              {
              	nage(aa[0],aa[1]);
              	g.setColor(Color.yellow);
                g.fillOval(aa[0],aa[1],50,50);
                try {Thread.sleep(500);}
                catch(Exception e){return;}
              }
    }  
}
 	

⌨️ 快捷键说明

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