<?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%9E%AC%EB%8B%88</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%9E%AC%EB%8B%88"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Omok/%EC%9E%AC%EB%8B%88&amp;action=history"/>
	<updated>2026-05-14T16:47:29Z</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%9E%AC%EB%8B%88&amp;diff=36859&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%9E%AC%EB%8B%88&amp;diff=36859&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:53Z</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;
02 장재니 [[Genie]]&lt;br /&gt;
&lt;br /&gt;
= 소스 =&lt;br /&gt;
== Turbo C ==&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;
 void board_display();&lt;br /&gt;
 void put();&lt;br /&gt;
 void check();&lt;br /&gt;
 &lt;br /&gt;
 char board[19][19];&lt;br /&gt;
 int key, x = 9, y = 9;&lt;br /&gt;
 char turn = &amp;#039;@&amp;#039;;&lt;br /&gt;
 int winner = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	board_display();&lt;br /&gt;
 	gotoxy(x*3+1, y+1);&lt;br /&gt;
 	while(winner == 0)&lt;br /&gt;
 	{&lt;br /&gt;
 		gotoxy(x*3+1, y+1);&lt;br /&gt;
 		key = getch();&lt;br /&gt;
 		if (key == 0x20)&lt;br /&gt;
 			if (board[x][y] == &amp;#039;+&amp;#039;)&lt;br /&gt;
 			{&lt;br /&gt;
 				put();&lt;br /&gt;
 				check();&lt;br /&gt;
 				if (winner != 0)&lt;br /&gt;
 					break;&lt;br /&gt;
 			}&lt;br /&gt;
 		if (key == 0x1b)&lt;br /&gt;
 			return 0;&lt;br /&gt;
 		if(key == 0x00)&lt;br /&gt;
 		{&lt;br /&gt;
 			key = getch();&lt;br /&gt;
 			if (key == 0x48)&lt;br /&gt;
 				if (y != 0)&lt;br /&gt;
 					y--;&lt;br /&gt;
 			if (key == 0x50)&lt;br /&gt;
 				if (y != 18)&lt;br /&gt;
 					y++;&lt;br /&gt;
 			if (key == 0x4b)&lt;br /&gt;
 				if (x != 0)&lt;br /&gt;
 					x--;&lt;br /&gt;
 			if (key == 0x4d)&lt;br /&gt;
 				if (x != 18)&lt;br /&gt;
 					x++;&lt;br /&gt;
 			continue;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	gotoxy(1,20);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Winner is &amp;quot;;&lt;br /&gt;
 	if(winner == 1)&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Black!n&amp;quot;;&lt;br /&gt;
 	else if(winner == 2)&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;White!n&amp;quot;;&lt;br /&gt;
 	getch();&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void board_display()&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++)&lt;br /&gt;
 		{&lt;br /&gt;
 			board[i][j] = &amp;#039;+&amp;#039;;&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; board[i][j] &amp;amp;lt;&amp;amp;lt; &amp;quot;  &amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put()&lt;br /&gt;
 {&lt;br /&gt;
 	board[x][y] = turn;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; board[x][y];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void check()&lt;br /&gt;
 {&lt;br /&gt;
 	int cx, cy, num;&lt;br /&gt;
 	num = 0;&lt;br /&gt;
 	cx = x, cy = y;&lt;br /&gt;
 	while (board[cx-1][cy] == turn)&lt;br /&gt;
 		cx--;&lt;br /&gt;
 	while (board[cx+1][cy] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cx++;&lt;br /&gt;
 		num++;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (num &amp;amp;lt; 4)&lt;br /&gt;
 	{&lt;br /&gt;
 		num = 0;&lt;br /&gt;
 		cx = x, cy = y;&lt;br /&gt;
 	}&lt;br /&gt;
 	while (board[cx][cy-1] == turn)&lt;br /&gt;
 		cy--;&lt;br /&gt;
 	while (board[cx][cy+1] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cy++;&lt;br /&gt;
 		num++;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (num &amp;amp;lt; 4)&lt;br /&gt;
 	{&lt;br /&gt;
 		num = 0;&lt;br /&gt;
 		cx=x, cy=y;&lt;br /&gt;
 	}&lt;br /&gt;
 	while (board[cx-1][cy-1] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cx--, cy--;&lt;br /&gt;
 	}&lt;br /&gt;
 	while (board[cx+1][cy+1] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cx++, cy++;&lt;br /&gt;
 		num++;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (num &amp;amp;lt; 4)&lt;br /&gt;
 	{&lt;br /&gt;
 		num = 0;&lt;br /&gt;
 		cx=x, cy=y;&lt;br /&gt;
 	}&lt;br /&gt;
 	while (board[cx+1][cy-1] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cx++;&lt;br /&gt;
 		cy--;&lt;br /&gt;
 	}&lt;br /&gt;
 	while (board[cx-1][cy+1] == turn)&lt;br /&gt;
 	{&lt;br /&gt;
 		cx--;&lt;br /&gt;
 		cy++;&lt;br /&gt;
 		num++;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (turn == &amp;#039;@&amp;#039;)&lt;br /&gt;
 		turn = &amp;#039;O&amp;#039;;&lt;br /&gt;
 	else&lt;br /&gt;
 		turn = &amp;#039;@&amp;#039;;&lt;br /&gt;
 	if (num == 4)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (turn == &amp;#039;@&amp;#039;)&lt;br /&gt;
 			winner = 2;&lt;br /&gt;
 		if (turn == &amp;#039;O&amp;#039;)&lt;br /&gt;
 			winner = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	winner == 0;&lt;br /&gt;
 }&lt;br /&gt;
== C++ ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 class Board{&lt;br /&gt;
 private:&lt;br /&gt;
 	int m_Board[19][19];&lt;br /&gt;
 	int turn;&lt;br /&gt;
 	int x, y;&lt;br /&gt;
 	int countStone;&lt;br /&gt;
 	int check_X, check_Y;&lt;br /&gt;
 public:&lt;br /&gt;
 	Board(){&lt;br /&gt;
 		turn = 0;&lt;br /&gt;
 		for (int i = 0 ; i &amp;amp;lt; 19 ; i++)&lt;br /&gt;
 			for (int j = 0 ; j &amp;amp;lt; 19 ; j++)&lt;br /&gt;
 				m_Board[i][j] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	void showBoard(){&lt;br /&gt;
 		system(&amp;quot;cls&amp;quot;);&lt;br /&gt;
 		for (int i = 0 ; i &amp;amp;lt; 19 ; i++){&lt;br /&gt;
 			for (int j = 0 ; j &amp;amp;lt; 19 ; j++)&lt;br /&gt;
 				cout &amp;amp;lt;&amp;amp;lt; m_Board[i][j] &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;
 	void inputPosition(){&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Input the position (x, y) : &amp;quot;;&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; x &amp;amp;gt;&amp;amp;gt; y;&lt;br /&gt;
 		if (x &amp;amp;lt; 0 || x &amp;amp;gt;= 19 || y &amp;amp;lt; 0 || y &amp;amp;gt;= 19){&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;잘못 입력하셨습니다.\n&amp;quot;;&lt;br /&gt;
 			system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		else if (m_Board[x][y] != 0){&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;이미 놓은 자리입니다.\n&amp;quot;;&lt;br /&gt;
 			system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		else {&lt;br /&gt;
 			m_Board[x][y] = (turn % 2) + 1;&lt;br /&gt;
 			turn++;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	bool checkOmok(){&lt;br /&gt;
 		int checkDirection[4][2] = {{1,1},{1,0},{0,1},{-1,1}};&lt;br /&gt;
 		for (int i = 0 ; i &amp;amp;lt; 4 ; i++){&lt;br /&gt;
 			countStone = 0;&lt;br /&gt;
 			for (int j = 0 ; j &amp;amp;lt; 2 ; j++){&lt;br /&gt;
 				checkDirection[i][0] *= -1, checkDirection[i][1] *= -1;&lt;br /&gt;
 				check_X = x + checkDirection[i][0];&lt;br /&gt;
 				check_Y = y + checkDirection[i][1];&lt;br /&gt;
 				while (m_Board[check_X][check_Y] == (turn % 2)){&lt;br /&gt;
 					countStone++;&lt;br /&gt;
 					check_X += checkDirection[i][0];&lt;br /&gt;
 					check_Y += checkDirection[i][1];&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (countStone == 4)&lt;br /&gt;
 				return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		return false;&lt;br /&gt;
 	}&lt;br /&gt;
 	void showEndMsg(){&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; turn % 2 &amp;amp;lt;&amp;amp;lt; &amp;quot; 승리.\n&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	Board bd;&lt;br /&gt;
 	while (!bd.checkOmok()){&lt;br /&gt;
 		bd.showBoard();&lt;br /&gt;
 		bd.inputPosition();&lt;br /&gt;
 	}&lt;br /&gt;
 	bd.showBoard();&lt;br /&gt;
 	bd.showEndMsg();&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
----&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>