[[TableOfContents]] = ì§„í–‰ì‚¬í• = * ì°¸ì—¬ìž || 튜터 || [최다ì¸] || ì°¸ì„ || || 튜티 || [ìœ ìž¬ë²”] || ì°¸ì„ || || || [오ì˜ì€] || ì°¸ì„ || || || [장우진] || ì°¸ì„ || || || [문태현] || 불참 || * ë°°ì—´ì˜ ì‘ìš© * ë‹¤ìŒ ìˆ˜ì—… : 5ì›” 23ì¼ ê¸ˆìš”ì¼ ì˜¤í›„ 6시 = ê³¼ì œ = * 1. í–‰ë ¬ A를 ìž…ë ¥ë°›ì•„ A^T(transpose)를 ì¶œë ¥í•˜ëŠ” í”„ë¡œê·¸ëž¨ì„ ë§Œë“œì‹œì˜¤. * 기본ì 으로 í–‰ë ¬ A는 5X5 í–‰ë ¬. * ì²˜ìŒ ì‹¤í–‰ì‹œ í–‰ë ¬ì˜ í¬ê¸°ë„ ìž…ë ¥ë°›ê²Œ 해서 만들어 본다면 ìƒì„ 줄게요. * 2. Tic-Tac-Toe 게임 * 3X3 í–‰ë ¬ì—서 ë¨¼ì € 한 ì¤„ì„ ë³¸ì¸ì˜ ë§ë¡œ 완성하면 ì´ê¸°ëŠ” 게임 * 기본ì 으로 rand함수를 ì´ìš©í•´ ì»´í“¨í„°ì˜ ë§ì˜ 위치를 ì„ íƒ * ì»´í“¨í„°ì— AI를 내장한다면 ìƒì„ 줄게요. == ìœ ìž¬ë²” == {{{1번 코드 #include <stdio.h> #pragma warning(disable:4996) int arr; int array[1000][1000] = {'\0', }; void Array(int); void Change(int); int main(void) { int count=0, select; while(1) { if(count==0) { Array(5); count++; } else { printf("몇 ê°œì˜ ì´ì°¨ì› ë°°ì—´ì„ transposeí•˜ì‹œê² ìŠµë‹ˆê¹Œ?"); scanf("%d", &arr); Array(arr); count++; } printf("ë” í•˜ì‹œê² ìŠµë‹ˆê¹Œ? (Yes : 1, No : 2)"); scanf("%d", &select); if(select==1) continue; else break; } return 0; } void Array(int arr) { int i=0, j=0; for(i=0; i!=arr; i++) { for(j=0; j!=arr; j++) array[i][j] = (arr*i) + j+1; } for(i=0; i!=arr; i++) { for(j=0; j!=arr; j++) printf("%3d", array[i][j]); printf("\n"); } printf("\n\n\n"); Change(arr); } void Change(int arr) { int save, i, j; for(i=0; i!=arr; i++) { for(j=0; j!=arr; j++) array[j][i] = (j*arr)+i+1; } for(i=0; i!=arr; i++) { for(j=0; j!=arr; j++) printf("%3d", array[j][i]); printf("\n"); } printf("\n\n\n\n\n\n"); } 2번 코드 }}} * 1ë²ˆì€ ì¹´ìš´íŠ¸ë¥¼ 받아 처ìŒì—는 5개가 ì¶œë ¥ë˜ê³ ê·¸ 다ìŒì—는 사용ìžê°€ ì›í•˜ëŠ”ëŒ€ë¡œ ì¶œë ¥í•˜ê²Œ ì„¤ì •í•˜ì˜€ìŠµë‹ˆë‹¤. * 2ë²ˆë„ ë¹ ë¥¸ ì‹œì¼ ë‚´ì— ì˜¬ë¦¬ê² ìŠµë‹ˆë‹¤. == 오ì˜ì€ == {{{ 미완성. ì¼ë‹¨ ì˜¬ë ¤ë†“ê³ ë‚˜ì¤‘ì— ê³ ì¹ ê²Œìš”. #include<stdio.h> #pragma warning(disable:4996) int trans[5][5]={0, }; int num1=0, num2=0; int main() { printf(" 1 2 3 4 5 \n"); printf(" ┌─┬─┬─┬─┬─â”\n"); printf("1│ │★│ │ │ │\n"); printf(" ├─┼─┼─┼─┼─┤\n"); printf("2│ │ │ │ │ │\n"); printf(" ├─┼─┼─┼─┼─┤\n"); printf("3│ │ │ │ │ │\n"); printf(" ├─┼─┼─┼─┼─┤\n"); printf("4│ │ │ │ │ │\n"); printf(" ├─┼─┼─┼─┼─┤\n"); printf("5│ │ │ │ │ │\n"); printf(" └─┴─┴─┴─┴─┘\n\n"); printf("í‘œì˜ â˜…ëŠ” (1,2)좌표를 나타내는 것입니다.\n\n"); for(num1=0;num1<5;num1++) { for(num2=0;num2<5;num2++) { printf("(%d,%d)ì˜ ìˆ«ìžë¥¼ ìž…ë ¥í•˜ì„¸ìš”.\n", num1+1, num2+1); scanf("%d", &trans[num1][num2]); } } system("pause"); system("cls"); printf(" 1 2 3 4 5 \n"); printf(" ┌─┬─┬─┬─┬─â”\n1│"); for(num2=0;num2<5;num2++) { num1=0; printf("%2d│", trans[num1][num2]); } for(num1=1;num1<5;num1++) { if(num2=4) { printf("\n ├─┼─┼─┼─┼─┤\n%d│", num1+1); } for(num2=0;num2<5;num2++) { printf("%2d│", trans[num1][num2]); } } printf("\n └─┴─┴─┴─┴─┘\n\n"); printf(" ↓\n\n"); printf(" 1 2 3 4 5 \n"); printf(" ┌─┬─┬─┬─┬─â”\n1│"); for(num2=0;num2<5;num2++) { num1=0; printf("%2d│", trans[num2][num1]); } for(num1=1;num1<5;num1++) { if(num2=4) { printf("\n ├─┼─┼─┼─┼─┤\n%d│", num1+1); } for(num2=0;num2<5;num2++) { printf("%2d│", trans[num2][num1]); } } printf("\n └─┴─┴─┴─┴─┘\n\n\n"); system("pause"); return 0; } #include<stdio.h> #pragma warning(disable:4996) #include <windows.h> char trans[3][3]={0, }; int num1=0, num2=0, com1=0, com2=0, times=0; void gotoxy(int x, int y) { COORD Cur; Cur.X=x; Cur.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur); } char ttt(); int main() { printf("Tic-Tac-Toe 게임\n\n"); printf(" 1 2 3 \n"); printf(" ┌─┬─┬─â”\n"); printf("1│ │★│ │\n"); printf(" ├─┼─┼─┤\n"); printf("2│ │ │ │\n"); printf(" ├─┼─┼─┤\n"); printf("3│ │ │ │\n"); printf(" └─┴─┴─┘\n"); printf("í‘œì˜ â˜…ëŠ” (1,2)좌표를 나타내는 것입니다.\n\n"); system("pause"); system("cls"); printf(" 1 2 3 \n"); printf(" ┌─┬─┬─â”\n"); printf("1│%2c│%2c│%2c│\n", trans[0][0], trans[0][1], trans[0][2]); printf(" ├─┼─┼─┤\n"); printf("2│%2c│%2c│%2c│\n", trans[1][0], trans[1][1], trans[1][2]); printf(" ├─┼─┼─┤\n"); printf("3│%2c│%2c│%2c│\n", trans[2][0], trans[2][1], trans[2][2]); printf(" └─┴─┴─┘\n\n"); printf("ì›í•˜ì‹œëŠ” 좌표를 ìž…ë ¥í•˜ì„¸ìš”. : ( , )"); gotoxy(31,9); scanf("%d", &num1); gotoxy(33,9); scanf("%d", &num2); while(times<9) { ttt(); } system("pause"); } char ttt() { trans[num2-1][num1-1]='O'; times++; srand((unsigned)time(NULL)); com1=rand()%3; com2=rand()%3; if(trans[com2][com1]!='/0') { while(trans[com2][com1]=='/0') { com1=rand()%3; com2=rand()%3; } trans[com2][com1]='X'; } times++; system("cls"); printf(" 1 2 3 \n"); printf(" ┌─┬─┬─â”\n"); printf("1│%2c│%2c│%2c│\n", trans[0][0], trans[0][1], trans[0][2]); printf(" ├─┼─┼─┤\n"); printf("2│%2c│%2c│%2c│\n", trans[1][0], trans[1][1], trans[1][2]); printf(" ├─┼─┼─┤\n"); printf("3│%2c│%2c│%2c│\n", trans[2][0], trans[2][1], trans[2][2]); printf(" └─┴─┴─┘\n\n"); printf("ì›í•˜ì‹œëŠ” 좌표를 ìž…ë ¥í•˜ì„¸ìš”. : ( , )"); gotoxy(31,9); scanf("%d", &num1); gotoxy(33,9); scanf("%d", &num2); } }}} == 장우진 == {{{ 1번 코드 #include <stdio.h> int main() { int number[5][10]; int i=0,j; for(i=0;i<50;i++) number[0][i]=i; printf("한ìžë¦¬ 숫ìžë¥¼ 아래와 ê°™ì€ í˜•íƒœë¡œ ìž…ë ¥í•´ 주세요.\n"); printf("o o o o o\no o o o o\no o o o o\no o o o o\no o o o o\n"); printf("\n"); for(i=0;i<5;i++) scanf("%d %d %d %d %d",&number[i][0],&number[i][1],&number[i][2],&number[i][3],&number[i][4]); printf("\n\n"); printf(" │\n │ transpose\n â–¼\n\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%2d",number[j][i]); printf("\n"); } printf("\n"); return 0; } 2번 코드 #include <stdio.h> #include <Windows.h> #include <time.h> void UserTurn(); void ComputerTurn_Easy(); void ComputerTurn_Hard(); int o_x[3][3],total_select_count; int main() { int i,finish_game,mode_select; for(i=0;i<9;i++) o_x[0][i]=0; printf("tic-tac-toe\n"); printf("모드를 ì„ íƒí•´ì£¼ì„¸ìš”.(쉬움 : 1,ì–´ë ¤ì›€ : 2) : "); scanf("%d",&mode_select); if(mode_select==1) printf("ì‰¬ì›€ì„ ì„ íƒí•˜ì…¨ìŠµë‹ˆë‹¤.\n"); else if(mode_select==2) printf("ì–´ë ¤ì›€ì„ ì„ íƒí•˜ì…¨ìŠµë‹ˆë‹¤.\n"); else { printf("ì´ìƒí•œ ì„ íƒì„ 하셨습니다.\n3초후 ê²Œìž„ì´ êº¼ì§‘ë‹ˆë‹¤.\n"); Sleep(3000); return 0; } printf("3ì´ˆí›„ì— ê²Œìž„ 시작합니다.\n"); printf("3\n"); Sleep(1000); printf("2\n"); Sleep(1000); printf("1\n"); Sleep(1000); printf("start~!"); while(1)//ê²Œìž„ì˜ ì§€ì†ì—¬ë¶€ { system("cls"); printf("┌─┬─┬─â”\n"); printf("│%c │%c │%c │\n",o_x[0][0],o_x[0][1],o_x[0][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[1][0],o_x[1][1],o_x[1][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[2][0],o_x[2][1],o_x[2][2]); printf("└─┴─┴─┘\n"); while(1)//게임 í•œíŒ { UserTurn(); total_select_count++; system("cls"); printf("┌─┬─┬─â”\n"); printf("│%c │%c │%c │\n",o_x[0][0],o_x[0][1],o_x[0][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[1][0],o_x[1][1],o_x[1][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[2][0],o_x[2][1],o_x[2][2]); printf("└─┴─┴─┘\n"); if((o_x[0][0]=='o'&&o_x[0][1]=='o'&&o_x[0][2]=='o')||(o_x[1][0]=='o'&&o_x[1][1]=='o'&&o_x[1][2]=='o')||(o_x[2][0]=='o'&&o_x[2][1]=='o'&&o_x[2][2]=='o')||(o_x[0][0]=='o'&&o_x[1][0]=='o'&&o_x[2][0]=='o')||(o_x[0][1]=='o'&&o_x[1][1]=='o'&&o_x[2][1]=='o')||(o_x[0][2]=='o'&&o_x[1][2]=='o'&&o_x[2][2]=='o')||(o_x[0][0]=='o'&&o_x[1][1]=='o'&&o_x[2][2]=='o')||(o_x[2][0]=='o'&&o_x[1][1]=='o'&&o_x[0][2]=='o')) { printf("ë‹¹ì‹ ì´ ì´ê²¼ìŠµë‹ˆë‹¤. 축하드립니다.\n"); break; } else if(total_select_count==9) { printf("무승부입니다. ìˆ˜ê³ í•˜ì…¨ìŠµë‹ˆë‹¤.\n"); break; } if(mode_select==1) ComputerTurn_Easy(); else if(mode_select==2) ComputerTurn_Hard(); total_select_count++; system("cls"); printf("┌─┬─┬─â”\n"); printf("│%c │%c │%c │\n",o_x[0][0],o_x[0][1],o_x[0][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[1][0],o_x[1][1],o_x[1][2]); printf("├─┼─┼─┤\n"); printf("│%c │%c │%c │\n",o_x[2][0],o_x[2][1],o_x[2][2]); printf("└─┴─┴─┘\n"); if((o_x[0][0]=='x'&&o_x[0][1]=='x'&&o_x[0][2]=='x')||(o_x[1][0]=='x'&&o_x[1][1]=='x'&&o_x[1][2]=='x')||(o_x[2][0]=='x'&&o_x[2][1]=='x'&&o_x[2][2]=='x')||(o_x[0][0]=='x'&&o_x[1][0]=='x'&&o_x[2][0]=='x')||(o_x[0][1]=='x'&&o_x[1][1]=='x'&&o_x[2][1]=='x')||(o_x[0][2]=='x'&&o_x[1][2]=='x'&&o_x[2][2]=='x')||(o_x[0][0]=='x'&&o_x[1][1]=='x'&&o_x[2][2]=='x')||(o_x[2][0]=='x'&&o_x[1][1]=='x'&&o_x[0][2]=='x')) { printf("컴퓨터가 ë‹¹ì‹ ì„ ì´ê²¼ìŠµë‹ˆë‹¤. 분발하시기바ëžë‹ˆë‹¤.\n"); break; } else if(total_select_count==9) { printf("무승부입니다. ìˆ˜ê³ í•˜ì…¨ìŠµë‹ˆë‹¤.\n"); break; } } printf("ê²Œìž„ì„ ê³„ì† í•˜ì‹œë ¤ë©´ 1,그만ë‘ì‹œë ¤ë©´ 0ì„ ìž…ë ¥í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤. : "); scanf("%d",&finish_game); if(finish_game==1) { for(i=0;i<9;i++) o_x[0][i]=0; printf("모드를 ì„ íƒí•´ì£¼ì„¸ìš”.(쉬움 : 1,ì–´ë ¤ì›€ : 2) : "); scanf("%d",&mode_select); if(mode_select==1) printf("ì‰¬ì›€ì„ ì„ íƒí•˜ì…¨ìŠµë‹ˆë‹¤.\n"); else if(mode_select==2) printf("ì–´ë ¤ì›€ì„ ì„ íƒí•˜ì…¨ìŠµë‹ˆë‹¤.\n"); else { printf("ì´ìƒí•œ ì„ íƒì„ 하셨습니다.\n3초후 ê²Œìž„ì´ êº¼ì§‘ë‹ˆë‹¤.\n"); Sleep(3000); return 0; } } else break; } printf("ê²Œìž„ì„ ì¢…ë£Œí•©ë‹ˆë‹¤.\n"); Sleep(2000); return 0; } void UserTurn() { int row_number,column_number,select_check; printf("ë‹¹ì‹ ì˜ ì°¨ë¡€ìž…ë‹ˆë‹¤. 행과 ì—´ì„ ì„ íƒí•´ì£¼ì„¸ìš”.\n"); printf("í–‰ì„ ì„ íƒí•´ì£¼ì„¸ìš”.(1~3í–‰) : "); scanf("%d",&row_number); printf("ì—´ì„ ì„ íƒí•´ì£¼ì„¸ìš”.(1~3ì—´) : "); scanf("%d",&column_number); printf("ì„ íƒí•˜ì‹ ê³³ì´ %dí–‰ %dì—´ì´ ë§žìŠµë‹ˆê¹Œ?\n맞으면 1, 틀리면 0ì„ ì„ íƒí•´ì£¼ì„¸ìš”. : ",row_number,column_number); scanf("%d",&select_check); row_number-=1; column_number-=1; if(select_check==1) { if(o_x[row_number][column_number]=='x'||o_x[row_number][column_number]=='o') { printf("빈 ê³µê°„ì´ ì•„ë‹™ë‹ˆë‹¤. ë‹¤ì‹œì„ íƒí•´ì£¼ì„¸ìš”\n"); UserTurn(); } else o_x[row_number][column_number]='o'; } else if(select_check==0) UserTurn(); } void ComputerTurn_Easy() { int row_number,column_number; srand(time(NULL)); row_number=rand(); column_number=rand(); row_number%=3; column_number%=3; Sleep(50); if(o_x[row_number][column_number]=='x'||o_x[row_number][column_number]=='o') ComputerTurn_Easy(); else o_x[row_number][column_number]='x'; } void ComputerTurn_Hard() { int i,j,select_check; select_check=0; if(o_x[1][1]!=0) o_x[1][1]='o'; else { for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(o_x[i][j]==o_x[(i+1)%3][j]) { if(o_x[(i+2)%3][j]==0) o_x[(i+2)%3][j]='x'; else continue; select_check++; break; } else if(o_x[i][j]==o_x[i][(j+1)%3]) { if(o_x[i][(j+2)%3]==0) o_x[i][(j+2)%3]='x'; else continue; select_check++; break; } } } if(select_check==0) { ComputerTurn_Easy(); } } } *1번째 코드 íŠ¹ë³„ê³¼ì œëŠ” 나중ì—... *2번째 코드ì—서 ì–´ë ¤ì›€ëª¨ë“œ(A.I.는 ì´ìƒí•˜ê²Œ ëŒì•„ê°ìœ¼ë¡œ ê³ ì³ì„œ ìˆ˜ì •í• ê»˜ìš”) }}} == 문태현 == {{{ }}} = 후기 = ----- [:새싹êµì‹¤/2014/ì†ë„위반 ì†ë„위반]