<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CheckTheCheck%2FCelfin</id>
	<title>CheckTheCheck/Celfin - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CheckTheCheck%2FCelfin"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;action=history"/>
	<updated>2026-05-15T21:37:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;diff=84204&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0001 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;diff=84204&amp;oldid=prev"/>
		<updated>2026-03-26T23:56:04Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0001 pages from live compare&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;amp;diff=84204&amp;amp;oldid=30249&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;diff=30249&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CheckTheCheck/Celfin&amp;diff=30249&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 이야기 ==&lt;br /&gt;
체계적인 설계를 하지 않고 짜서 그런지 헷갈리는 부분이 많았다.&lt;br /&gt;
&lt;br /&gt;
== 소스 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 char chess[12][12];&lt;br /&gt;
 int exit_cond;&lt;br /&gt;
 int i, j, m, n;&lt;br /&gt;
 int gameNum=0;&lt;br /&gt;
 bool black, white;&lt;br /&gt;
 &lt;br /&gt;
 bool checkPp(int x, int y, char Pp)&lt;br /&gt;
 {&lt;br /&gt;
 	if(Pp==&amp;#039;P&amp;#039;)&lt;br /&gt;
 		return (chess[x+1][y+1] ==Pp || chess[x-1][y+1]==Pp);&lt;br /&gt;
 	else if(Pp==&amp;#039;p&amp;#039;)&lt;br /&gt;
 		return (chess[x+1][y-1] ==Pp || chess[x-1][y-1]==Pp);&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool checkRr(int x, int y, char Rr)&lt;br /&gt;
 {&lt;br /&gt;
 	for(m=x-1; m&amp;amp;gt;1; m--)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][y]==Rr)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][y]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=x+1; m&amp;amp;lt;10; m++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][y]==Rr)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][y]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=y-1; m&amp;amp;gt;1; m--)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[x][m]==Rr)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[x][m]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=y+1; m&amp;amp;lt;10; m++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[x][m]==Rr)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[x][m]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool checkBb(int x, int y, char Bb)&lt;br /&gt;
 {&lt;br /&gt;
 	for(m=x-1, n=y-1; m&amp;amp;gt;1 &amp;amp;amp;&amp;amp;amp; n&amp;amp;gt;1; m--, n--)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][n]==Bb)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][n]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=x-1, n=y+1; m&amp;amp;gt;1 &amp;amp;amp;&amp;amp;amp; n&amp;amp;lt;10; m--, n++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][n]==Bb)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][n]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=x+1, n=y-1; m&amp;amp;lt;10 &amp;amp;amp;&amp;amp;amp; n&amp;amp;gt;1; m++, n--)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][n]==Bb)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][n]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(m=x+1, n=y+1; m&amp;amp;lt;10 &amp;amp;amp;&amp;amp;amp; n&amp;amp;lt;10; m++, n++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(chess[m][n]==Bb)&lt;br /&gt;
 			return true;&lt;br /&gt;
 		else if(chess[m][n]!=&amp;#039;.&amp;#039;)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool checkQq(int x, int y, char Qq)&lt;br /&gt;
 {&lt;br /&gt;
 	if(checkBb(x,y,Qq) || checkRr(x,y,Qq))&lt;br /&gt;
 		return true;&lt;br /&gt;
 	return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool checkKk(int x, int y, char Kk)&lt;br /&gt;
 {&lt;br /&gt;
 	if(chess[x-1][y-1]==Kk || chess[x][y-1]==Kk || chess[x+1][y-1]==Kk || chess[x+1][y]==Kk || chess[x+1][y+1]==Kk || chess[x][y+1]==Kk || chess[x-1][y+1]==Kk || chess[x-1][y]==Kk)&lt;br /&gt;
 		return true;&lt;br /&gt;
 	else &lt;br /&gt;
 		return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool checkNn(int x, int y, char Nn)&lt;br /&gt;
 {&lt;br /&gt;
 	if(chess[x-1][y-2]==Nn || chess[x+1][y-2]==Nn || chess[x+2][y-1]==Nn || chess[x+2][y+1]==Nn || chess[x+1][y+2]==Nn || chess[x-1][y+2]==Nn || chess[x-2][y+1]==Nn || chess[x-2][y-1]==Nn)&lt;br /&gt;
 		return true;&lt;br /&gt;
 	else &lt;br /&gt;
 		return false;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void check()&lt;br /&gt;
 {&lt;br /&gt;
 	gameNum++;&lt;br /&gt;
 	&lt;br /&gt;
 	black = false;&lt;br /&gt;
 	white = false;&lt;br /&gt;
 &lt;br /&gt;
 	for(i=2; i&amp;amp;lt;10; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(j=2; j&amp;amp;lt;10; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(chess[j][i]==&amp;#039;k&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				if(checkPp(j,i,&amp;#039;P&amp;#039;) || checkRr(j,i,&amp;#039;R&amp;#039;) || checkBb(j,i,&amp;#039;B&amp;#039;) || checkQq(j,i,&amp;#039;Q&amp;#039;) || checkKk(j,i,&amp;#039;K&amp;#039;) || checkNn(j,i,&amp;#039;N&amp;#039;))&lt;br /&gt;
 					black = true;&lt;br /&gt;
 			}&lt;br /&gt;
 			if(chess[j][i]==&amp;#039;K&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				if(checkPp(j,i,&amp;#039;p&amp;#039;) || checkRr(j,i,&amp;#039;r&amp;#039;) || checkBb(j,i,&amp;#039;b&amp;#039;) || checkQq(j,i,&amp;#039;q&amp;#039;) || checkKk(j,i,&amp;#039;k&amp;#039;) || checkNn(j,i,&amp;#039;n&amp;#039;))&lt;br /&gt;
 					white = true;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	if(black)&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Game #&amp;quot; &amp;amp;lt;&amp;amp;lt;gameNum &amp;amp;lt;&amp;amp;lt; &amp;quot;: black king is in check.&amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	else if(white)&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Game #&amp;quot; &amp;amp;lt;&amp;amp;lt;gameNum &amp;amp;lt;&amp;amp;lt; &amp;quot;: white king is in check.&amp;quot;&amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 	else&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Game #&amp;quot; &amp;amp;lt;&amp;amp;lt;gameNum &amp;amp;lt;&amp;amp;lt; &amp;quot;: no king is in check.&amp;quot; &amp;amp;lt;&amp;amp;lt;endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	exit_cond = 0;&lt;br /&gt;
 	while(exit_cond!=64)&lt;br /&gt;
 	{&lt;br /&gt;
 		exit_cond = 0;&lt;br /&gt;
 		for(i=0; i&amp;amp;lt;12; i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			for(j=0; j&amp;amp;lt;12; j++)&lt;br /&gt;
 			{&lt;br /&gt;
 				if(i==0 || j==0 || i==1 || j==1 || i==10 || j==10 || i==11 || j==11)&lt;br /&gt;
 					chess[j][i] = &amp;#039;*&amp;#039;;&lt;br /&gt;
 				else&lt;br /&gt;
 					cin &amp;amp;gt;&amp;amp;gt; chess[j][i];&lt;br /&gt;
 				if(chess[j][i]==&amp;#039;.&amp;#039;)&lt;br /&gt;
 					exit_cond++;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if(exit_cond!=64)&lt;br /&gt;
 			check();&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>