<?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=Omok%2F%EC%83%81%EA%B7%9C</id>
	<title>Omok/상규 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Omok%2F%EC%83%81%EA%B7%9C"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Omok/%EC%83%81%EA%B7%9C&amp;action=history"/>
	<updated>2026-05-15T05:16:51Z</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=Omok/%EC%83%81%EA%B7%9C&amp;diff=36856&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Omok/%EC%83%81%EA%B7%9C&amp;diff=36856&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:54Z</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;
 #include &amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;conio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #define UP_KEY 0x48&lt;br /&gt;
 #define DOWN_KEY 0x50&lt;br /&gt;
 #define LEFT_KEY 0x4B&lt;br /&gt;
 #define RIGHT_KEY 0x4D&lt;br /&gt;
 #define ESC_KEY 0x1B&lt;br /&gt;
 #define SPACE_KEY 0x20&lt;br /&gt;
 &lt;br /&gt;
 int check(int board[19][19], int x, int y, int n, int skip=-1);&lt;br /&gt;
 int check33(int board[19][19], int x, int y);&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	clrscr();&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;19;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;19;j++) cout &amp;amp;lt;&amp;amp;lt; &amp;quot; +&amp;quot;;&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	int x=0, y=0;&lt;br /&gt;
 	int key;&lt;br /&gt;
 	int player=0;&lt;br /&gt;
 	char playerchar[2]={&amp;#039;@&amp;#039;, &amp;#039;O&amp;#039;};&lt;br /&gt;
 	int board[19][19]={0,};&lt;br /&gt;
 	do {&lt;br /&gt;
 		gotoxy((x+1)*2,y+1);&lt;br /&gt;
 		key=getch();&lt;br /&gt;
 		if(key==NULL)&lt;br /&gt;
 		{&lt;br /&gt;
 			key=getch();&lt;br /&gt;
 			if(key==UP_KEY &amp;amp;amp;&amp;amp;amp; y&amp;amp;gt;0) y--;&lt;br /&gt;
 			else if(key==DOWN_KEY &amp;amp;amp;&amp;amp;amp; y&amp;amp;lt;18) y++;&lt;br /&gt;
 			else if(key==LEFT_KEY &amp;amp;amp;&amp;amp;amp; x&amp;amp;gt;0) x--;&lt;br /&gt;
 			else if(key==RIGHT_KEY &amp;amp;amp;&amp;amp;amp; x&amp;amp;lt;18) x++;&lt;br /&gt;
 		}&lt;br /&gt;
 		else if(key==SPACE_KEY)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(board[x][y]==0)&lt;br /&gt;
 			{&lt;br /&gt;
 				board[x][y]=player+1;&lt;br /&gt;
 				if(check33(board,x,y)) board[x][y]=0;&lt;br /&gt;
 				else&lt;br /&gt;
 				{&lt;br /&gt;
 					cout &amp;amp;lt;&amp;amp;lt; playerchar[player] &amp;amp;lt;&amp;amp;lt; &amp;#039;\b&amp;#039;;&lt;br /&gt;
 					if(check(board,x,y,5))&lt;br /&gt;
 					{&lt;br /&gt;
 						gotoxy(1,21);&lt;br /&gt;
 						cout &amp;amp;lt;&amp;amp;lt; playerchar[player] &amp;amp;lt;&amp;amp;lt; &amp;quot; WIN&amp;quot;;&lt;br /&gt;
 						getch();&lt;br /&gt;
 						return;&lt;br /&gt;
 					}&lt;br /&gt;
 					player=(player==0 ? 1 : 0);&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	} while(key!=ESC_KEY);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int check(int board[19][19], int x, int y, int n, int skip)&lt;br /&gt;
 {&lt;br /&gt;
 	int move[4][2][2]={ { { 1, 0 }, { -1, 0 } },&lt;br /&gt;
 			{ { 0, 1 }, { 0, -1 } },&lt;br /&gt;
 			{ { 1, 1 }, { -1, -1 } },&lt;br /&gt;
 			{ { -1, 1 }, { 1, -1 } } };&lt;br /&gt;
 	int count;&lt;br /&gt;
 	int testx, testy;&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(i==skip) continue;&lt;br /&gt;
 		count=1;&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;2;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			testx=x+move[i][j][0];&lt;br /&gt;
 			testy=y+move[i][j][1];&lt;br /&gt;
 			while(testx&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testx&amp;amp;lt;=18 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;lt;=18&lt;br /&gt;
 				&amp;amp;amp;&amp;amp;amp; board[testx][testy]==board[x][y])&lt;br /&gt;
 			{&lt;br /&gt;
 				count++;&lt;br /&gt;
 				testx+=move[i][j][0];&lt;br /&gt;
 				testy+=move[i][j][1];&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if(count==n) return 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int check33(int board[19][19], int x, int y)&lt;br /&gt;
 {&lt;br /&gt;
 	int move[4][2][2]={ { { 1, 0 }, { -1, 0 } },&lt;br /&gt;
 			{ { 0, 1 }, { 0, -1 } },&lt;br /&gt;
 			{ { 1, 1 }, { -1, -1 } },&lt;br /&gt;
 			{ { -1, 1 }, { 1, -1 } } };&lt;br /&gt;
 	int count;&lt;br /&gt;
 	int testx, testy;&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		count=1;&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;2;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			testx=x+move[i][j][0];&lt;br /&gt;
 			testy=y+move[i][j][1];&lt;br /&gt;
 			while(testx&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testx&amp;amp;lt;=18 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;lt;=18&lt;br /&gt;
 				&amp;amp;amp;&amp;amp;amp; board[testx][testy]==board[x][y])&lt;br /&gt;
 			{&lt;br /&gt;
 				count++;&lt;br /&gt;
 				testx+=move[i][j][0];&lt;br /&gt;
 				testy+=move[i][j][1];&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if(count==3)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(check(board,x,y,3,i)) return 1;&lt;br /&gt;
 			for(int j=0;j&amp;amp;lt;2;j++)&lt;br /&gt;
 			{&lt;br /&gt;
 				testx=x+move[i][j][0];&lt;br /&gt;
 				testy=y+move[i][j][1];&lt;br /&gt;
 				while(testx&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testx&amp;amp;lt;=18 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;gt;=0 &amp;amp;amp;&amp;amp;amp; testy&amp;amp;lt;=18&lt;br /&gt;
 					&amp;amp;amp;&amp;amp;amp; board[testx][testy]==board[x][y])&lt;br /&gt;
 				{&lt;br /&gt;
 					if(check(board,testx,testy,3,i)) return 1;&lt;br /&gt;
 					testx+=move[i][j][0];&lt;br /&gt;
 					testy+=move[i][j][1];&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[Omok]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>