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

📄 listpos.h

📁 人工智能对弈黑白棋的源程序! 全部原创 但是对弈时间有点长! 请支持
💻 H
字号:
#define listposfun\
		for(int i=1;i<=boardsize;i++)\
		{\
			int ti=0,tj=0,j=1;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&j<=boardsize;j++);\
					if(j>boardsize)\
						break;\
					else if(datat[i][j]==-side&&j<=boardsize)\
					{\
						ti=i,tj=j-1;\
						for(;datat[i][j]==-side&&j<=boardsize;j++);\
						if(j>boardsize)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=1;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&j<=boardsize;j++);\
					if(j>boardsize)\
						break;\
					else if(datat[i][j]==-side&&j<=boardsize)\
					{\
						for(;datat[i][j]==-side&&j<=boardsize;j++);\
						if(j>boardsize)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=16;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&j<=boardsize;j++);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(j<=boardsize);\
		};\
		for(int n=3;n<=boardsize;n++)\
		{\
			int ti=0,tj=0,i=n,j=1;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&i>=1;i--,j++);\
					if(i<1)\
						break;\
					else if(datat[i][j]==-side&&i>=1)\
					{\
						ti=i+1,tj=j-1;\
						for(;datat[i][j]==-side&&i>=1;i--,j++);\
						if(i<1)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=128;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&i>=1;i--,j++);\
					if(i<1)\
						break;\
					else if(datat[i][j]==-side&&i>=1)\
					{\
						for(;datat[i][j]==-side&&i>=1;i--,j++);\
						if(i<1)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=8;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&i>=1;i--,j++);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(i>=1);\
		}\
		int bs1356=boardsize-2;\
		for(n=2;n<=bs1356;n++)\
		{\
			int ti=0,tj=0,i=boardsize,j=n;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&j<=boardsize;i--,j++);\
					if(j>boardsize)\
						break;\
					else if(datat[i][j]==-side&&j<=boardsize)\
					{\
						ti=i+1,tj=j-1;\
						for(;datat[i][j]==-side&&j<=boardsize;i--,j++);\
						if(j>boardsize)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=128;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&j<=boardsize;i--,j++);\
					if(j>boardsize)\
						break;\
					else if(datat[i][j]==-side&&j<=boardsize)\
					{\
						for(;datat[i][j]==-side&&j<=boardsize;i--,j++);\
						if(j>boardsize)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=8;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&j<=boardsize;i--,j++);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(j<=boardsize);\
		}\
		for(n=3;n<=boardsize;n++)\
		{\
			int ti=0,tj=0,j=n,i=boardsize;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&j>=1;i--,j--);\
					if(j<1)\
						break;\
					else if(datat[i][j]==-side&&j>=1)\
					{\
						ti=i+1,tj=j+1;\
						for(;datat[i][j]==-side&&j>=1;i--,j--);\
						if(j<1)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=32;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&j>=1;i--,j--);\
					if(j<1)\
						break;\
					else if(datat[i][j]==-side&&j>=1)\
					{\
						for(;datat[i][j]==-side&&j>=1;i--,j--);\
						if(j<1)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=2;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&j>=1;i--,j--);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(j>=1);\
		}\
		for(n=boardsize-1;n>=3;n--)\
		{\
			int ti=0,tj=0,i=n,j=boardsize;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&i>=1;i--,j--);\
					if(i<1)\
						break;\
					else if(datat[i][j]==-side&&i>=1)\
					{\
						ti=i+1,tj=j+1;\
						for(;datat[i][j]==-side&&i>=1;i--,j--);\
						if(i<1)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=32;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&i>=1;i--,j--);\
					if(i<1)\
						break;\
					else if(datat[i][j]==-side&&i>=1)\
					{\
						for(;datat[i][j]==-side&&i>=1;i--,j--);\
						if(i<1)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=2;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&i>=1;i--,j--);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(i>=1);\
		}\
		for(int j=1;j<=boardsize;j++)\
		{\
			int ti=0,tj=0,i=1;\
			do{\
				if(datat[i][j]==0)\
				{\
					for(;datat[i][j]==0&&i<=boardsize;i++);\
					if(i>boardsize)\
						break;\
					else if(datat[i][j]==-side&&i<=boardsize)\
					{\
						ti=i-1,tj=j;\
						for(;datat[i][j]==-side&&i<=boardsize;i++);\
						if(i>boardsize)\
							break;\
						else if(datat[i][j]==side)\
						{\
							pos[ti][tj]+=4;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==side)\
				{\
					for(;datat[i][j]==side&&i<=boardsize;i++);\
					if(i>boardsize)\
						break;\
					else if(datat[i][j]==-side&&i<=boardsize)\
					{\
						for(;datat[i][j]==-side&&i<=boardsize;i++);\
						if(i>boardsize)\
							break;\
						else if(datat[i][j]==0)\
						{\
							pos[i][j]+=64;\
						}\
						continue;\
					}\
					else\
						continue;\
				}\
				else if(datat[i][j]==-side)\
				{\
					for(;datat[i][j]==-side&&i<=boardsize;i++);\
				}\
				else \
					cout<<"error in if and else!";\
			}\
			while(i<=boardsize);\
		}

⌨️ 快捷键说明

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