<?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=%EC%B5%9C%EB%8B%A4%EC%9D%B8%2FTicTacTok</id>
	<title>최다인/TicTacTok - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%B5%9C%EB%8B%A4%EC%9D%B8%2FTicTacTok"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;action=history"/>
	<updated>2026-05-14T18:36:45Z</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=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82638&amp;oldid=prev</id>
		<title>1.236.163.157 at 03:15, 26 March 2017</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82638&amp;oldid=prev"/>
		<updated>2017-03-26T03:15:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;amp;diff=82638&amp;amp;oldid=82637&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>1.236.163.157</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82637&amp;oldid=prev</id>
		<title>imported&gt;miura0806 at 08:41, 31 March 2014</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82637&amp;oldid=prev"/>
		<updated>2014-03-31T08:41:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:41, 31 March 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l169&quot;&gt;Line 169:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 169:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	return 1;	//승패가 판별되지 않는 경우, 0가 아닌 다른 값으로 return한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	return 1;	//승패가 판별되지 않는 경우, 0가 아닌 다른 값으로 return한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-----&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[최다인]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;miura0806</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82636&amp;oldid=prev</id>
		<title>imported&gt;miura0806 at 08:41, 31 March 2014</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%B5%9C%EB%8B%A4%EC%9D%B8/TicTacTok&amp;diff=82636&amp;oldid=prev"/>
		<updated>2014-03-31T08:41:03Z</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;* 2013년 8월 23일 개발&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt; //srand 사용을 위한 헤더&lt;br /&gt;
 #include &amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;Windows.h&amp;amp;gt; //커서의 위치를 바꾸는 함수를 위한 헤더&lt;br /&gt;
 &lt;br /&gt;
 void gotoxy(int x, int y); //커서의 위치를 바꾸는 함수&lt;br /&gt;
 void tictacMain(char mark[3][3]); //tic-tac-tok 게임의 판을 출력하는 함수&lt;br /&gt;
 void UserInput(char mark[3][3]); //User가 말을 놓을 자리를 입력받는 함수&lt;br /&gt;
 void ComInput(char mark[3][3]); //Computer가 말을 놓는 자리를 결정하는 함수&lt;br /&gt;
 int End(char mark[3][3]); //승패를 판별하는 함수&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char mark[3][3] = {{&amp;#039; &amp;#039;,&amp;#039; &amp;#039;,&amp;#039; &amp;#039;},{&amp;#039; &amp;#039;,&amp;#039; &amp;#039;,&amp;#039; &amp;#039;},{&amp;#039; &amp;#039;,&amp;#039; &amp;#039;,&amp;#039; &amp;#039;}}; //배열을 선언, 초기화&lt;br /&gt;
 	int i;&lt;br /&gt;
 &lt;br /&gt;
 	srand(time(NULL)); //rand함수를 좀 더 완전하게 사용하기 위해 seed 초기화&lt;br /&gt;
 &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;5;i++)  //무승부를 판별하기 위해 유저의 말 입력 횟수를 5번으로 한정&lt;br /&gt;
 	{&lt;br /&gt;
 		gotoxy(1,1); //커서가 처음으로 돌아감&lt;br /&gt;
 		tictacMain(mark);&lt;br /&gt;
 		UserInput(mark);&lt;br /&gt;
 		&lt;br /&gt;
 		if(End(mark)==0)&lt;br /&gt;
 		{&lt;br /&gt;
 			tictacMain(mark);&lt;br /&gt;
 			gotoxy(1,16);&lt;br /&gt;
 			system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}	//승패를 판별하여 게임이 끝난 경우 종료&lt;br /&gt;
 &lt;br /&gt;
 		if(i==4)&lt;br /&gt;
 			break; //유저가 5번째 말을 놓았을 때, 승패가 판별되지 않은 경우 반복문을 빠져나간다.&lt;br /&gt;
 &lt;br /&gt;
 		ComInput(mark);&lt;br /&gt;
 &lt;br /&gt;
 		if(End(mark)==0)&lt;br /&gt;
 		{	&lt;br /&gt;
 			tictacMain(mark);&lt;br /&gt;
 			gotoxy(1,16);&lt;br /&gt;
 			system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}	//승패를 판별하여 게임이 끝난 경우 종료&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	gotoxy(1,13);&lt;br /&gt;
 	printf(&amp;quot;무승부입니다.&amp;quot;);	//반복문에서 빠져나왔을 때 무승부임을 출력한다.&lt;br /&gt;
 &lt;br /&gt;
 	system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void gotoxy(int x, int y)&lt;br /&gt;
 {&lt;br /&gt;
 	COORD Pos = {x-1,y-1};&lt;br /&gt;
 	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);&lt;br /&gt;
 }	//커서의 위치를 옮기는 함수&lt;br /&gt;
 &lt;br /&gt;
 void tictacMain(char mark[3][3])	//각 말의 위치를 저장하는 배열을 입력받아 게임판의 형태로 출력하는 함수&lt;br /&gt;
 {&lt;br /&gt;
 	gotoxy(1,1);&lt;br /&gt;
 	printf(&amp;quot;    1   2   3\n&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;  +---+---+---+\n&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;1 | %c | %c | %c |\n&amp;quot;,mark[0][0],mark[0][1],mark[0][2]);&lt;br /&gt;
 	printf(&amp;quot;  +---+---+---+\n&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;2 | %c | %c | %c |\n&amp;quot;,mark[1][0],mark[1][1],mark[1][2]);&lt;br /&gt;
 	printf(&amp;quot;  +---+---+---+\n&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;3 | %c | %c | %c |\n&amp;quot;,mark[2][0],mark[2][1],mark[2][2]);&lt;br /&gt;
 	printf(&amp;quot;  +---+---+---+\n\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void UserInput(char mark[3][3])&lt;br /&gt;
 {&lt;br /&gt;
 	int row, column;	//행과 열의 변수&lt;br /&gt;
 &lt;br /&gt;
 	gotoxy(1,10);&lt;br /&gt;
 	printf(&amp;quot;                                                     &amp;quot;);&lt;br /&gt;
 	gotoxy(1,10);&lt;br /&gt;
 	printf(&amp;quot;사용자 : (&amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;row);&lt;br /&gt;
 	gotoxy(12,10);&lt;br /&gt;
 	printf(&amp;quot;,&amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;column);&lt;br /&gt;
 	gotoxy(14,10);&lt;br /&gt;
 	printf(&amp;quot;)\n&amp;quot;);	//행과 열을 입력받는다.&lt;br /&gt;
 &lt;br /&gt;
 	if(mark[row-1][column-1]!=&amp;#039; &amp;#039;)&lt;br /&gt;
 		UserInput(mark);	//만약 입력받은 자리가 NULL값이 아니라면(==이미 말이 있다면) 다시 입력받는다.&lt;br /&gt;
 	else if(mark[row-1][column-1]==&amp;#039; &amp;#039;)&lt;br /&gt;
 		mark[row-1][column-1]=&amp;#039;O&amp;#039;;	//입력받은 자리가 NULL값이라면 O를 저장한다.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void ComInput(char mark[3][3])&lt;br /&gt;
 {&lt;br /&gt;
 	int row, column;	//행과 열의 변수&lt;br /&gt;
 &lt;br /&gt;
 	row = rand()%3;		//row변수에 0~2 사이의 랜덤한 값을 저장한다.&lt;br /&gt;
 	column = rand()%3;	//column변수에 0~2 사이의 랜덤한 값을 저장한다.&lt;br /&gt;
 &lt;br /&gt;
 	if(mark[row][column]!=&amp;#039; &amp;#039;)&lt;br /&gt;
 		ComInput(mark);	//만약 저장된 자리가 NULL값이 아니라면(==이미 말이 있다면) 다시 값을 랜덤하게 돌린다.&lt;br /&gt;
 	else if(mark[row][column]==&amp;#039; &amp;#039;)&lt;br /&gt;
 	{&lt;br /&gt;
 		mark[row][column]=&amp;#039;X&amp;#039;;&lt;br /&gt;
 		printf(&amp;quot;컴퓨터 : (%d,%d)\n&amp;quot;,row+1,column+1);	//입력받은 자리가 NULL값이라면 X를 저장한다.&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int End(char mark[3][3])&lt;br /&gt;
 {&lt;br /&gt;
 	int i,k;&lt;br /&gt;
 &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;3;i++)	//세로로 한 줄을 완성한 경우 승패를 판별하기 위해 3번 반복한다.&lt;br /&gt;
 	{&lt;br /&gt;
 		if(mark[0][i]!=&amp;#039; &amp;#039; &amp;amp;amp;&amp;amp;amp; mark[1][i]==mark[0][i] &amp;amp;amp;&amp;amp;amp; mark[2][i]==mark[1][i])	//세로로 한 줄이 전부 같은 문자인 경우,&lt;br /&gt;
 		{&lt;br /&gt;
 			gotoxy(1,13);&lt;br /&gt;
 			&lt;br /&gt;
 			if(mark[0][i]==&amp;#039;O&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;축하합니다! 승리하셨습니다.&amp;quot;);	//그 문자가 O 이면 승리 출력&lt;br /&gt;
 			if(mark[0][i]==&amp;#039;X&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;아쉽습니다, 패배하셨습니다.&amp;quot;);	//그 문자가 X 이면 패배 출력&lt;br /&gt;
 &lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for(k=0;k&amp;amp;lt;3;k++)	//가로로 한 줄을 완성한 경우 승패를 판별하기 위해 3번 반복한다.&lt;br /&gt;
 	{&lt;br /&gt;
 		if(mark[k][0]!=&amp;#039; &amp;#039; &amp;amp;amp;&amp;amp;amp; mark[k][1]==mark[k][0] &amp;amp;amp;&amp;amp;amp; mark[k][2]==mark[k][1])	//가로로 한 줄이 전부 같은 문자인 경우,&lt;br /&gt;
 		{&lt;br /&gt;
 			gotoxy(1,13);&lt;br /&gt;
 			&lt;br /&gt;
 			if(mark[k][0]==&amp;#039;O&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;축하합니다! 승리하셨습니다.&amp;quot;);	//그 문자가 O이면 승리 출력&lt;br /&gt;
 			if(mark[k][0]==&amp;#039;X&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;아쉽습니다, 패배하셨습니다.&amp;quot;);	//그 문자가 X이면 패배 출력&lt;br /&gt;
 &lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	if(mark[0][0]!=&amp;#039; &amp;#039; &amp;amp;amp;&amp;amp;amp; mark[1][1]==mark[0][0] &amp;amp;amp;&amp;amp;amp; mark[2][2]==mark[1][1])	//대각선으로 한 줄을 완성한 경우&lt;br /&gt;
 		{&lt;br /&gt;
 			gotoxy(1,13);&lt;br /&gt;
 			&lt;br /&gt;
 			if(mark[0][0]==&amp;#039;O&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;축하합니다! 승리하셨습니다.&amp;quot;);&lt;br /&gt;
 			if(mark[0][0]==&amp;#039;X&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;아쉽습니다, 패배하셨습니다.&amp;quot;);	//같은 방식으로 승패판별&lt;br /&gt;
 &lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 	if(mark[2][0]!=&amp;#039; &amp;#039; &amp;amp;amp;&amp;amp;amp; mark[1][1]==mark[2][0] &amp;amp;amp;&amp;amp;amp; mark[0][2]==mark[1][1])	//반대쪽 대각선으로 한 줄을 완성한 경우&lt;br /&gt;
 		{&lt;br /&gt;
 			gotoxy(1,13);&lt;br /&gt;
 			&lt;br /&gt;
 			if(mark[2][0]==&amp;#039;O&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;축하합니다! 승리하셨습니다.&amp;quot;);&lt;br /&gt;
 			if(mark[2][0]==&amp;#039;X&amp;#039;)&lt;br /&gt;
 				printf(&amp;quot;아쉽습니다, 패배하셨습니다.&amp;quot;);	//같은 방식으로 승패판별&lt;br /&gt;
 &lt;br /&gt;
 			return 0;&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 	return 1;	//승패가 판별되지 않는 경우, 0가 아닌 다른 값으로 return한다.&lt;br /&gt;
 }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;miura0806</name></author>
	</entry>
</feed>