コード例 #1
0
ファイル: PAINT7.CPP プロジェクト: Divyavrat/CppCodes
void save()
{FILE *file;
file=fopen("C:/TC/Pntsav.div","wt");
fseek(file, SEEK_SET, 0);
for(p=0;p<640;p++)
{for(q=0;q<480;q++)
{z=getpixel(p,q);
ntoc();
fwrite(&r,sizeof(r),1,file);
//file<<z;
}}
fclose(file);
}
コード例 #2
0
ファイル: wzq.cpp プロジェクト: piaocoder/Gobang
/*__________________________________________________________________________________________*/
void wzq::get_chess_manual(int nx ,int ny,bool style,bool player,int dir,bool type)
{
	
	bool ok = true;
	int ia,ib;
	int ix,iy;
	int i2i,i2j;
	int tem1,tem2;
	int x;
	int i3;
	int m1,m3;
	int i;
	int wx = nx,wy = ny,tem3 = 0;
	switch (dir)
	{
	case 0:
		i2i = 1,i2j = 0;break;
	case 1:
		i2i = 0,i2j = 1;break;
	case 2:
		i2i = 1,i2j = 1;break;
	case 3:
		i2i = 1,i2j = -1;break;
	}
	unsigned char temp3[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	unsigned char temp4[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	begin:
	if (map[wx][wy] != 0)
		return;
	i3 = 0;
	ix = i2i;
	iy = i2j;
	ia = 1,ib = 1;
	//right==========================================================================================//
		x = map[wx - ix][wy - iy];
		while(!(x != (int)style + 1 || wx - ix < 0 || wy - iy < 0))
		{
			ia++;
			ix += i2i;
			iy += i2j;
			x = map[wx-ix][wy-iy];

		} 
		ix = i2i,iy = i2j;
	//left====================================================================================//
		x = map[wx + ix][wy + iy];
		while(!(x != (int)style + 1|| wx + ix > 14 || wy+iy > 14))
		{
			ib++;
			ix += i2i;
			iy += i2j;	
			x = map[wx + ix][wy + iy];
		} 
	//偏移=======================================================================================//
		if (ib == 1 && ia == 1)
		{
			if (tem3 == 0)
			{
				wx += i2i,wy += i2j;
				tem3 = 1;
				goto begin;
			}
			else
			{
				if (tem3 == 1)
				{
					wx -= i2i * 2,wy -= i2j * 2;
					tem3 = 2;
					goto begin;
				}
				else
				{
					if (tem3 == 2)return;
				}
			}
			
		}
		ix = 0,iy = 0;
		switch (dir)
		{
			case 0:
				{
					m1 = (ia != 1 && ib == 1),m3 = (ib != 1 && ia == 1);
					for(i = 0; i < 1+ia+ib; i++)
					{
							tem1 = wx - ia + ix - m1;
							if (tem1 < 0 || tem1 > 14)
							{ ix += 1; continue; }
							x = map[tem1][wy];
							temp3[i3] = ntoc(x,type,style);
							ix += 1;
							i3++;
					}
					ix = 0,i3 = 0;
					for (i = 0; i < 1+ia+ib; i++)
					{
							tem1 = wx + ib - ix + m3;
							if (tem1 < 0 || tem1 > 14)
							{ ix += 1; continue; }
							x = map[tem1][wy];
							temp4[i3] = ntoc(x,type,style);
							ix+=1;
							i3++;
					}
					break;
				}
			case 1:
				{
					m1 = (ia != 1 && ib == 1), m3 = (ib != 1 && ia == 1);
					for(i = 0; i < 1+ia+ib; i++)
					{
							tem1 = wy-ia+iy-m1;
							if (tem1 < 0 || tem1 > 14)
							{ iy += 1; continue; }
							x = map[wx][tem1];
							temp3[i3] = ntoc(x,type,style);
							iy += 1;
							i3++;
					}
					iy = 0,i3 = 0;
					for (i = 0; i < 1+ia+ib; i++)
					{
							tem1 = wy+ib-iy+m3;
							if ( tem1 < 0 || tem1 > 14)
							{ iy += 1; continue; }
							x = map[wx][tem1];
							temp4[i3] = ntoc(x,type,style);
							iy += 1;
							i3++;
					}
					break;

				}
			break;
			case 2:
				{
					m1 = (ia != 1 && ib == 1),m3 = (ib != 1 && ia == 1);
					for (i = 0; i < 1+ia+ib; i++)
					{
						tem1 = wx-ia+ix-m1;
						tem2 = wy-ia+iy-m1;
						if (tem1 < 0 || tem1 > 14 || tem2 < 0 || tem2 > 14)
						{ ix += 1;iy += 1; continue; }
						x = map[tem1][tem2];
						temp3[i3] = ntoc(x,type,style);
						iy += 1;
						ix += 1;
						i3++;
					}
					iy = 0,ix = 0,i3 = 0;
					for (i = 0; i < 1+ia+ib; i++)
					{
						tem1 = wx+ib-ix+m3;
						tem2 = wy+ib-iy+m3;
						if (tem1 < 0 || tem1 > 14 || tem2 < 0 || tem2 > 14)
						{ ix += 1,iy += 1; continue; }
						x = map[tem1][tem2];
						temp4[i3] = ntoc(x,type,style);
						iy += 1;
						ix += 1;
						i3++;
					}
					
			break;
				}
			case 3:
				{
					m1 = (ia != 1 && ib == 1),m3 = (ib != 1 && ia == 1);
					for (i = 0; i < 1+ia+ib; i++)
					{
						tem1 = wx-ia+ix-m1;
						tem2 = wy+ia+iy+m1;
						if (tem1 < 0 || tem1 > 14 || tem2 < 0 || tem2 > 14)
						{ ix += 1; iy-=1; continue; }
						x = map[tem1][tem2];
						temp3[i3] = ntoc(x,type,style);
						iy -= 1;
						ix += 1;
						i3++;
					}
					iy = 0,ix = 0,i3 = 0;
					for (i = 0; i < 1+ia+ib; i++)
					{
						tem1 = wx+ib-ix+m3;
						tem2 = wy-ib-iy-m3;
						if (tem1 < 0 || tem1 > 14 || tem2 < 0 || tem2 > 14)
						{ ix += 1; iy += 1; continue; }
						x = map[tem1][tem2];
						temp4[i3] = ntoc(x,type,style);
						iy -= 1;
						ix += 1;
						i3++;
					}
					break;
				}
		};
	//tj===================================================//
	if ( (strcmp("00H0",(const char *)&temp3[1]) == 0 || strcmp("00H0",(const char *)&temp4[1]) == 0 || strcmp("00H0",(const char *)&temp3[0]) == 0 || strcmp("00H0",(const char *)&temp4[0]) == 0) && tem3 != 0)
		return;
	if ( (strcmp("00B0",(const char *)&temp3[1]) == 0 || strcmp("00B0",(const char *)&temp4[1]) == 0 || strcmp("00B0",(const char *)&temp3[0]) == 0 || strcmp("00B0",(const char *)&temp4[0]) == 0) && tem3 != 0)
		return;
	if ( (strcmp("00HHHB",(const char *)&temp3[1]) == 0 || strcmp("00HHHB",(const char *)&temp4[1]) == 0 || strcmp("00HHHB",(const char *)&temp3[0]) == 0 || strcmp("00HHHB",(const char *)&temp4[0]) == 0) && tem3 != 0)
		return;

	/*++此处添加更多的屏蔽++*/
	if (tem3 == 0)
	{
		for (i = 0; i <= 61; i++)
		{
			if (strcmp(wds[i],(const char *)&temp3[1]) == 0 || strcmp(wds[i],(const char *)&temp4[1]) == 0 || strcmp(wds[i],(const char *)&temp3[0]) == 0 || strcmp(wds[i],(const char *)&temp4[0]) == 0)
			{
				if (player == false)
				{
					pc[nx][ny][dir]=i;
					return;
				}	
				else
				{
					user[nx][ny][dir]=i;
					return;
				}
			}
		}
	}
	else
	{
		for (i=0 ; i<=61 ; i++)
		{
			if (strcmp(wds[i],(const char *)&temp3[0])==0||strcmp(wds[i],(const char *)&temp4[0])==0)
			{
				if (player==false)
				{
					pc[nx][ny][dir]=i;
					return;
				}	
				else
				{
					user[nx][ny][dir]=i;
					return;
				}
			}
		}
	}
}