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

📄 class1.cs

📁 我的八数码游戏!! 学人工智能的编写的
💻 CS
字号:
using System;

namespace EightDignialGame
{
	/// <summary>
	/// Class1 的摘要说明。
	/// </summary>
	class Class1
	{
		/// <summary>
		/// 应用程序的主入口点。
		/// </summary>
		private static int noPosition=0;
 
		[STAThread]
		static void Main(string[] args)
		{
			int[,] s={{2,8,3},{1,6 ,4},{7,0,5}};
			int m=Check( ref s);
			Console.WriteLine(m.ToString());
		
			EightNumGame(ref s);
			Console.Read();

		}
		public static int Check(ref int[,] s)
		{
			noPosition=0;
			int[,] t={{1,2,3},{8,0 ,4},{7,6,5}};
			for(int i=0;i<s.GetLength(0);i++)
				for(int j=0;j<s.GetLength(1);j++)
					if(s[i,j]!=t[i,j]&&!(i==1&&j==1))
					{
						noPosition++;
					
					}
		
			
		
			return noPosition;
			

		}
		public static void DisPlayArray(ref int[,] s)
		{
			for(int i=0;i<s.GetLength(0);i++)
			{
				for(int j=0;j<s.GetLength(1);j++)
					Console.Write(s[i,j].ToString()+",");
				Console.WriteLine();

			}
			
		}
public static void EightNumGame(ref int[,] s)
	{ 
	
	
	int[,] myarray={{0,0,0},{0,0,0},{0,0,0}};
 for(int i=0;i<myarray.GetLength(0);i++)
 for(int j=0;j<myarray.GetLength(1);j++)
 { myarray[i,j]=s[i,j];}
	
	int row=-1,col=-1;
	int fs=Check(ref s);

	
 for(int i=0;i<myarray.GetLength(0);i++)
 for(int j=0;j<myarray.GetLength(1);j++)
	if(s[i,j]==0)
	{row=i;col=j;}

		//	向上移动
		if(row-1>=0)
		{  
    
			Console.WriteLine("the orgin");
			DisPlayArray(ref myarray);
			Console.WriteLine("move up");
			myarray[row,col]=myarray[row-1,col];myarray[row-1,col]=0;DisPlayArray(ref myarray);int m=Check(ref myarray);
			Console.WriteLine(m.ToString());
			if(m==0)
			{ Console.WriteLine("sucessful");Console.Read();} 
		
			if (m<=fs)
				EightNumGame(ref myarray);
		         

			for(int i=0;i<myarray.GetLength(0);i++)
				for(int j=0;j<myarray.GetLength(1);j++)
				{myarray[i,j]=s[i,j];}
		}
			  


		//向左移动


		if(col-1>=0)
		{         
			Console.WriteLine("the orgin");
			DisPlayArray(ref myarray);

			Console.WriteLine("move left");
			myarray[row,col]=myarray[row,col-1];myarray[row,col-1]=0;DisPlayArray(ref myarray);int m=Check(ref myarray);
			Console.WriteLine(m.ToString());
			if(m==0)
			{Console.WriteLine("sucessful"); Console.Read();}
			if (m<=fs)
				EightNumGame(ref myarray);
	 
			for(int i=0;i<myarray.GetLength(0);i++)
				for(int j=0;j<myarray.GetLength(1);j++)
				{myarray[i,j]=s[i,j];}

			
		}

				

		//向下移动

		if(row+1<s.GetLength(0))
		{   
			Console.WriteLine("the orgin");
			DisPlayArray(ref myarray);
		
			Console.WriteLine("move down");myarray[row,col]=myarray[row+1,col];myarray[row+1,col]=0;DisPlayArray(ref myarray);int m=Check(ref myarray);
			Console.WriteLine(m.ToString());
			if(m==0)
			{
					Console.WriteLine("sucessful");
			Console.Read();}
			if (m<=fs)
				EightNumGame(ref myarray);
	
			for(int i=0;i<myarray.GetLength(0);i++)
				for(int j=0;j<myarray.GetLength(1);j++)
				{myarray[i,j]=s[i,j];}
			
		}





	

		//向右移动
		if(col+1<s.GetLength(1))
		{
			Console.WriteLine("the orgin");
        DisPlayArray(ref myarray);
			Console.WriteLine("move right");
			;
			myarray[row,col]=s[row,col+1];myarray[row,col+1]=0;DisPlayArray(ref myarray);int m=Check(ref myarray);
			Console.WriteLine(m.ToString());
			if(m==0)
			{ Console.WriteLine("sucessful");Console.Read();}
			if(m<fs)
			{
					EightNumGame(ref myarray);
	
				for(int i=0;i<myarray.GetLength(0);i++)
					for(int j=0;j<myarray.GetLength(1);j++)
					{myarray[i,j]=s[i,j];}
			}
		}
	if(Check(ref s)!=0)
		Console.WriteLine("failure");


	
	
	}
	}
}

⌨️ 快捷键说明

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