亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? movesbackup.cpp

?? 一個(gè)人工智能的國(guó)際象棋游戲
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
							}
							break;
						}
					}
					for (k=i-1,m=j+1;k>=0 && m<8;k--,m++)
					{
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
							}
							
							break;
						}
					}
					for (k=i+1,m=j+1;k<8 && m<8;k++,m++)
					{
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
							}
							
							break;	
						}
					}
					for (k=i+1,m=j-1;k<8  && m>=0;k++,m--)
					{
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
							}
							break;
						}
					}
				}
			}
		}
		
	}

	void Moves::GenerateRookMoves(int board[8][8],int color)
	{
	
		int piece;int k;
		piece=(color==WHITE?WHITE_ROOK:BLACK_ROOK);
	
		for (int i=0;i<8 ;i++)
		{
			for (int j=0;j<8;j++)
			{
				if (board[i][j]==piece)
				{
					for (k=i-1;k>=0;k--)
					{
						if (board[k][j]==0)
						{
							add(piece,j,i,j,k,0);
							//MessageBox("Rook Move added");
						}
						else 
						{
							if ( cond2(color,board[k][j]))
							{
								add(piece,j,i,j,k,1);
								
							}
							break;
						}
					}
					for (k=i+1;k<8;k++)
					{
						if (board[k][j]==0)
						{
							add(piece,j,i,j,k,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if (cond2(color,board[k][j]))
							{
								add(piece,j,i,j,k,1);
								
							}
							break;
						}
					}
					for (k=j+1;k<8;k++)
					{
						if (board[i][k]==0)
						{
							add(piece,j,i,k,i,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if (cond2(color,board[i][k]))
							{
								add(piece,j,i,k,i,1);
								break;
							}
							break;
						}
					}
					for (k=j-1;k>=0;k--)
					{
						if (board[i][k]==0 )
						{
							add(piece,j,i,k,i,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if (cond2(color,board[i][k]))
							{
								add(piece,j,i,k,i,1);
								
							}
							break;
						}
					}
				}
			}
			
		}
		

	}
	
	void Moves::GenerateQueenMoves(int board[8][8],int color)
	{
		int piece; int k;
		piece=(color==WHITE?WHITE_QUEEN:BLACK_QUEEN);
		
		for (int i=0;i<8;i++)  
		{
			for (int j=0;j<8;j++)
			{
				if (board[i][j]==piece)
				{
					
					//Search moves straight, up,left,right and down
					for (k=i-1;k>=0;k--)
					{
						if (board[k][j]==0 )
						{
							add(piece,j,i,j,k,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if ( cond2(color,board[k][j]))
							{
								add(piece,j,i,j,k,1);
								
							}
							
							break;
						}
						
						
					}
					for (k=i+1;k<8;k++)
					{
						if (board[k][j]==0)
						{
							add(piece,j,i,j,k,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if (cond2(color,board[k][j]))
							{
								add(piece,j,i,j,k,1);
								
							}
							break;
						}
					}
					for (k=j+1;k<8;k++)
					{
						if (board[i][k]==0 )
						{
							add(piece,j,i,k,i,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if ( cond2(color,board[i][k]))
							{
								add(piece,j,i,k,i,1);
								
							}
							break;
						}
					}
					for (k=j-1;k>=0;k--)
					{
						if (board[i][k]==0)
						{
							add(piece,j,i,k,i,0);
							//MessageBox("Rook Move added");
						}
						else
						{
							if (cond2(color,board[i][k]))
							{
								add(piece,j,i,k,i,1);
								
							}
							break;
						}
						
					}
					
					int m;
					//Now search diagnols. Could have put this in a function (Bishop needs it too)
					for (k=i-1,m=j-1;k>=0 && m>=0;k--,m--)
					{
						if (board[k][m]==0 )
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
								
							}
							break;
						}
					}
					for (k=i-1,m=j+1;k>=0 && m<8;k--,m++)
					{
						if (board[k][m]==0 )
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
								
							}
							break;
						}
					}
					for (k=i+1,m=j+1;k<8 && m<8;k++,m++)
					{
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
								
							}
							break;
						}
						
					}
					for (k=i+1,m=j-1;k<8 && m>=0;k++,m--)
					{
						if (board[k][m]==0)
						{
							add(piece,j,i,m,k,0);
						}
						else
						{
							if (cond2(color,board[k][m]))
							{
								add(piece,j,i,m,k,1);
								break;
							}
							break;
						}
					}
				}
					
			}
				
		}
			
	}

	void Moves::GenerateKingMoves(int board[8][8],int color)
	{
		int i,j;
		int found=0;
		int piece;
		piece=(color==WHITE?WHITE_KING:BLACK_KING);
		for (i=0;i<8 && !found;i++)
		{
			for (j=0;j<8;j++)
			{
				if (board[i][j]==piece)
				{
					found=1;
					break;
				}
			}
		}
		i--;
		
		if (found)
		{
			//MessageBox("King found at "+(CString)(itoa(posnx,buf,10))+","+(CString)(itoa(posny,buf,10)));
			//MessageBox(board[0][3]==WHITE_KING?"True":"False");
			if (i<7 && (gencond(color,board[i+1][j])))
			{
				
				//MessageBox("Added One King Move");
				add(piece,j,i,j,i+1,0);
			}
			if (i>0 && (gencond(color,board[i-1][j])))
			{
				//char buf[255];
				//MessageBox("Added One King Move, piece Follows");
				//MessageBox(itoa(board[i-1][j],buf,10));
				
				add(piece,j,i,j,i-1,0);
				//MessageBox("Added One King Move");
			}
			if (j<7 && (gencond(color,board[i][j+1])))
			{
				add(piece,j,i,j+1,i,0);
				
			}
			if (j>0 && (gencond(color,board[i][j-1])))
			{
				
				add(piece,j,i,j-1,i,0);
				//MessageBox("Added One King Move");
			}
			if (i<7 && j<7 && (gencond(color,board[i+1][j+1])))
			{
				add(piece,j,i,j+1,i+1,0);
				//MessageBox("Added One King Move");
			}
			if (i<7 && j>0 && (gencond(color,board[i+1][j-1])))
			{
				add(piece,j,i,j-1,i+1,0);
				//MessageBox("Added One King Move");
			}
			if (i>0 && j<7 && (gencond(color,board[i-1][j+1])))
			{
				add(piece,j,i,j+1,i-1,0);
				//MessageBox("Added One King Move");
			}
			if (i>0 && j>0 && (gencond(color,board[i-1][j-1])))
			{
				add(piece,j,i,j-1,i-1,0);
				//MessageBox("Added One King Move");
			}
			
		}
		

	}

	int Moves::GenerateAllMoves(int board[8][8],int color,int depth,int check_for_mate)
	{

	//char buf[255];
	
	//int check=0;
	
	/*TransTableEntry entry=table.LookUp(board);
	if (entry.valid && ((color==WHITE && entry.move.piece<10 && entry.move.piece>0) || (color==BLACK && entry.move.piece>10 && entry.move.piece<17)))
	{
		add(entry.move.piece,entry.move.sourcex,entry.move.sourcey,entry.move.destx,entry.move.desty,1);
	}*/
	
	
	//if ((color==WHITE && WHITE_BASE==0) || (color==BLACK && BLACK_BASE==0))
	
		if (search_firsttime==0)
		{
			if (movecount<80)
			{
				
				GenerateKnightMoves(board,color);
				
				GenerateBishopMoves(board,color);
				
				GeneratePawnMoves(board,color);
				GenerateRookMoves(board,color);
				
				GenerateQueenMoves(board,color);
				
				GenerateKingMoves(board,color);
			}
			else
			{
				GeneratePawnMoves(board,color);
				GenerateRookMoves(board,color);
				
				GenerateQueenMoves(board,color);
				
				
				GenerateKnightMoves(board,color);
				
				GenerateBishopMoves(board,color);
				
				
				GenerateKingMoves(board,color);
			}
			
			
			
			
			combine();
			if (depth<4 && depth>0 && !check_for_mate)
			{
				allmoves=new OneMove[size];
				//memmove(allmoves,head,size*sizeof(OneMove));
				OneMove *temp=head;
				temp=temp->next;
				for (int i=0;i<size;i++)
				{
					allmoves[i]=*temp;
					temp=temp->next;
				}
				movequeue.AddMoveList(allmoves,size);
			}
		}
		else
		{
			if (depth>=2 && !check_for_mate)
			{
				MessageBox(NULL,"Removing Head","",0);
				head=movequeue.RemoveMoveList();

			}
			else
			{

				if (movecount<80)
				{
				
					GenerateKnightMoves(board,color);
					
					GenerateBishopMoves(board,color);
					
					GeneratePawnMoves(board,color);
					GenerateRookMoves(board,color);
					
					GenerateQueenMoves(board,color);
					
					GenerateKingMoves(board,color);
				}
				else
				{
					GeneratePawnMoves(board,color);
					GenerateRookMoves(board,color);
					
					GenerateQueenMoves(board,color);
					
					
					GenerateKnightMoves(board,color);
					
					GenerateBishopMoves(board,color);
					
					
					GenerateKingMoves(board,color);
				}
						
				combine();
				if (depth<4 && !check_for_mate)
				{
					OneMove *allmoves=new OneMove[size];
					memmove(allmoves,head,size*sizeof(OneMove));
					movequeue.AddMoveList(allmoves,size);
				}





			
		
		
		
			}
		}




	return 1;	
	}







?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线不卡视频| 强制捆绑调教一区二区| 91在线视频18| 亚洲免费在线观看视频| 欧美视频一区在线观看| 99re66热这里只有精品3直播 | 亚洲三级免费电影| 91麻豆产精品久久久久久| 亚洲一区二区三区在线| 日韩欧美一级在线播放| 国产精品18久久久久| 国产精品黄色在线观看 | 欧美午夜电影在线播放| 日韩制服丝袜av| 久久久久久久久蜜桃| 99v久久综合狠狠综合久久| 亚洲永久免费av| 日韩精品中文字幕在线不卡尤物| 国内精品在线播放| 亚洲精品免费在线观看| 欧美一区三区二区| 成人国产免费视频| 视频一区欧美日韩| 中文字幕电影一区| 欧美日韩视频不卡| 成人在线一区二区三区| 亚洲尤物在线视频观看| 精品福利av导航| 在线一区二区视频| 国产一区二区三区四| 精品一区二区三区不卡| 国产精品毛片大码女人| 欧美电影在线免费观看| 成人18视频日本| 日韩成人精品在线| 日韩毛片一二三区| 2020日本不卡一区二区视频| 91国偷自产一区二区使用方法| 久久成人18免费观看| 亚洲一区二区三区四区中文字幕| 国产亚洲精久久久久久| 欧美一区二区三区喷汁尤物| 91亚洲精品久久久蜜桃网站| 国产精一品亚洲二区在线视频| 亚洲国产精品一区二区www在线 | 91精品国产综合久久香蕉麻豆| 国产一区二区三区综合| 三级一区在线视频先锋| 亚洲天堂免费在线观看视频| 久久久久久久一区| 日韩精品一区二| 欧美日韩和欧美的一区二区| 91在线国产福利| 国产a视频精品免费观看| 久久国产精品露脸对白| 日韩精品一二三四| 亚洲小说欧美激情另类| 亚洲视频电影在线| 国产精品毛片a∨一区二区三区 | 国产精品久久久久久久久免费丝袜| 91精品久久久久久久久99蜜臂| 欧美在线一二三| 91在线你懂得| 97aⅴ精品视频一二三区| 国产盗摄一区二区| 国产一区二区不卡在线| 免费一区二区视频| 日韩1区2区3区| 日韩精品免费视频人成| 午夜一区二区三区在线观看| 一区二区三区久久| 一区二区日韩av| 亚洲黄一区二区三区| 亚洲女同ⅹxx女同tv| 亚洲另类一区二区| 亚洲精品老司机| 一区二区三区av电影| 一区二区在线观看不卡| 亚洲国产一区二区三区| 丁香婷婷深情五月亚洲| 国产99精品国产| 成人精品gif动图一区| 成人免费看视频| 91年精品国产| 91国模大尺度私拍在线视频| 欧洲一区二区三区在线| 欧美精品黑人性xxxx| 欧美一级在线免费| 日韩精品一区二区三区中文不卡| 欧美大片日本大片免费观看| 日韩精品中文字幕在线不卡尤物| 精品黑人一区二区三区久久| 国产日韩成人精品| 亚洲另类在线一区| 日本不卡的三区四区五区| 激情综合网激情| 成人短视频下载| 欧美午夜精品久久久久久超碰| 69堂亚洲精品首页| 国产午夜一区二区三区| 亚洲日本免费电影| 日本中文字幕一区| 国产精品伊人色| 91福利视频网站| 日韩三级av在线播放| 中文字幕精品一区| 亚洲午夜久久久| 国产在线一区二区| 91色视频在线| 精品久久一区二区三区| 中文字幕制服丝袜成人av| 午夜影视日本亚洲欧洲精品| 国产精品88av| 欧美日韩三级视频| 久久久精品综合| 一区二区激情视频| 国产精品一区专区| 欧美系列在线观看| 国产欧美精品区一区二区三区| 亚洲精品久久久久久国产精华液| 美日韩一区二区| 91国产福利在线| 国产亚洲精久久久久久| 成人av综合一区| 欧美高清精品3d| 中文字幕在线播放不卡一区| 青青草精品视频| 在线视频国内自拍亚洲视频| 精品理论电影在线观看 | 亚洲成av人影院在线观看网| 国产剧情一区二区| 欧美日本韩国一区| 亚洲欧美另类小说视频| 国产一区二区福利视频| 欧美肥胖老妇做爰| 亚洲与欧洲av电影| jvid福利写真一区二区三区| 精品乱人伦一区二区三区| 亚洲h在线观看| 色激情天天射综合网| 国产日产欧美一区二区视频| 免费在线观看不卡| 欧美日韩国产精品成人| 亚洲日本va午夜在线影院| 国产在线精品视频| 日韩三级av在线播放| 性做久久久久久| 欧美日韩一级视频| 亚洲精品视频免费看| 99久久er热在这里只有精品66| 久久综合久久久久88| 乱中年女人伦av一区二区| 9191精品国产综合久久久久久| 亚洲婷婷综合久久一本伊一区| 国产91在线观看| 久久蜜桃av一区精品变态类天堂| 麻豆国产精品官网| 欧美一区二区播放| 美腿丝袜亚洲综合| 亚洲色图视频免费播放| 成人av在线资源网站| 国产亚洲人成网站| 国产精品一区二区果冻传媒| 欧美精品一区二区三区久久久 | 国产精品99久久久久久似苏梦涵| 日韩小视频在线观看专区| 日韩经典一区二区| 欧美丰满一区二区免费视频| 首页亚洲欧美制服丝腿| 欧美日韩国产在线观看| 亚洲va欧美va人人爽午夜| 欧美日韩精品欧美日韩精品| 亚洲国产三级在线| 欧美日韩精品欧美日韩精品一综合| 亚洲成人资源网| 欧美精品777| 紧缚捆绑精品一区二区| 久久精品亚洲精品国产欧美| 高清成人免费视频| 中文字幕制服丝袜一区二区三区 | 欧美videos中文字幕| 美女视频网站黄色亚洲| 精品sm在线观看| 成人免费视频国产在线观看| 亚洲人成网站在线| 欧美日韩国产高清一区二区 | www.日本不卡| 亚洲激情男女视频| 宅男在线国产精品| 激情丁香综合五月| 中文字幕在线播放不卡一区| 在线国产电影不卡| 青青草一区二区三区| 欧美激情在线一区二区| 色88888久久久久久影院按摩| 亚洲成av人片在线| 久久夜色精品国产噜噜av| 91丨porny丨国产入口| 日本免费在线视频不卡一不卡二| 欧美精品一区二区精品网|