{{{
미완성. 일단 올려놓고 나중에 고칠게요.
#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>
#include <time.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()
{
if(trans[1][0]=='O' && trans[2][0]=='O' && trans[0][0]=='O')
{
printf("플레이어가 이김");
return 0;
}
if(trans[1][1]=='O' && trans[2][1]=='O' && trans[0][1]=='O')
{
printf("플레이어가 이김");
return 0;
}
if(trans[1][2]=='O' && trans[2][2]=='O' && trans[0][2]=='O')
{
printf("플레이어가 이김");
return 0;
}
if(trans[1][1]=='O' && trans[2][2]=='O' && trans[0][0]=='O')
{
printf("플레이어가 이김\n");
return 0;
}
if(trans[1][0]=='X' && trans[2][0]=='X' && trans[0][0]=='X')
{
printf("컴퓨터가 이김\n");
return 0;
}
if(trans[1][1]=='X' && trans[2][1]=='X' && trans[0][1]=='X')
{
printf("컴퓨터가 이김\n");
return 0;
}
if(trans[1][2]=='X' && trans[2][2]=='X' && trans[0][2]=='X')
{
printf("컴퓨터가 이김\n");
return 0;
}
if(trans[1][1]=='X' && trans[2][2]=='X' && trans[0][0]=='X')
{
printf("컴퓨터가 이김\n");
return 0;
}
trans[num1-1][num2-1]='O';
times++;
srand((unsigned)time(NULL));
com1=rand()%3;
com2=rand()%3;
printf("%d %d\n",com1,com2);
if(trans[com1][com2]!='/0')
{
while(trans[com1][com2]!=0)
{
com1=rand()%3;
com2=rand()%3;
}
trans[com1][com2]='X';
}
else
trans[com1][com2]='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;
1번코드 특별과제
#include <stdio.h>
int main()
{
int number[100][100];
int i=0,j;
int matrix_size;
for(i=0;i<10000;i++) number[0][i]=i;
printf("n*n행렬의 크기(행&열의 갯수)를 입력해주세요. : ");
scanf("%d",&matrix_size);
printf("한자리 숫자를 %d*%d형태의 행렬로 입력해주세요.\n",matrix_size,matrix_size);
printf("\n");
for(i=0;i<matrix_size;i++)
{
for(j=0;j<matrix_size;j++)
{
scanf("%d",&number[i][j]);//행렬의 크기만큼 입력받도록
}
}
printf("\n\n");
for(i=0;i<=matrix_size/2;i++) printf(" ");
printf("│\n");
for(i=0;i<=matrix_size/2;i++) printf(" ");
printf("│ transpose\n");
for(i=0;i<=matrix_size/2;i++) printf(" ");
printf("▼\n\n");
for(i=0;i<matrix_size;i++)
{
for(j=0;j<matrix_size;j++) printf("%2d",number[j][i]);
printf("\n");
}
printf("\n");
return 0;
}
2번 코드-A.I.포함
#include <stdio.h>
#include <Windows.h>
#include <time.h>
void UserTurn();
void ComputerTurn_Easy();
void ComputerTurn_Hard();
int o_x[3][3];
int main()
{
int i,finish_game,mode_select,turn_select,total_count=0;
for(i=0;i<9;i++) o_x[0][i]=0;
printf("tic-tac-toe\n");
printf("모드를 선택해주세요.(쉬움 : 1,어려움 : 2) : ");
scanf("%d",&mode_select);
printf("어느쪽이 먼저 시작하시겠습니까?(1. 당신,2. 컴퓨터)");
scanf("%d",&turn_select);
if(mode_select==1) printf("쉬움을 선택하셨습니다.\n");
else if(mode_select==2) printf("어려움을 선택하셨습니다.\n");
else
{
printf("이상한 선택을 하셨습니다.\n3초후 게임이 꺼집니다.\n");
Sleep(3000);
return 0;
}
if(turn_select==1) printf("먼저 시작합니다.\n");
else if(turn_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)//게임 한판
{
printf("tic-tac-toe\n");
if(turn_select==1)
{
UserTurn();
total_count++;
turn_select=2;
}
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_count==9)
{
printf("무승부입니다. 수고하셨습니다.\n");
break;
}
if(turn_select==2)
{
if(mode_select==1) ComputerTurn_Easy();
else if(mode_select==2) ComputerTurn_Hard();
total_count++;
turn_select=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");
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_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;
total_count=0;
printf("모드를 선택해주세요.(쉬움 : 1,어려움 : 2) : ");
scanf("%d",&mode_select);
printf("어느쪽이 먼저 시작하시겠습니까?(1. 당신,2. 컴퓨터)");
scanf("%d",&turn_select);
if(mode_select==1) printf("쉬움을 선택하셨습니다.\n");
else if(mode_select==2) printf("어려움을 선택하셨습니다.\n");
else
{
printf("이상한 선택을 하셨습니다.\n3초후 게임이 꺼집니다.\n");
Sleep(3000);
return 0;
}
if(turn_select==1) printf("먼저 시작합니다.\n");
else if(turn_select==2) printf("컴퓨터가 먼저 시작합니다.\n");
else
{
printf("이상한 선택을 하셨습니다.\n3초후 게임이 꺼집니다.\n");
Sleep(3000);
return 0;
}
}
else break;
turn_select=0;
}
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,loop_out=1;
select_check=0;
if(o_x[1][1]==0) o_x[1][1]='x';
else
{
for(i=0;i<3;i++)
{
if(loop_out==0) break;
for(j=0;j<3;j++)
{
if(o_x[i][j]=='x'&&o_x[(i+1)%3][j]=='x')//열
{
if(o_x[(i+2)%3][j]==0) o_x[(i+2)%3][j]='x';
else continue;
select_check++;
loop_out=0;
break;
}
else if(o_x[i][j]=='x'&&o_x[i][(j+1)%3]=='x')//행
{
if(o_x[i][(j+2)%3]==0) o_x[i][(j+2)%3]='x';
else continue;
select_check++;
loop_out=0;
break;
}
else if(o_x[i][j]=='x'&&o_x[(i+1)%3][(j+1)%3]=='x')//대각선
{
if(o_x[(i+2)%3][(j+2)%3]==0) o_x[(i+2)%3][(j+2)%3]='x';
else continue;
select_check++;
loop_out=0;
break;
}
else if(o_x[i][j]=='o'&&o_x[(i+1)%3][j]=='o')//열
{
if(o_x[(i+2)%3][j]==0) o_x[(i+2)%3][j]='x';
else continue;
select_check++;
loop_out=0;
break;
}
else if(o_x[i][j]=='o'&&o_x[i][(j+1)%3]=='o')//행
{
if(o_x[i][(j+2)%3]==0) o_x[i][(j+2)%3]='x';
else continue;
select_check++;
loop_out=0;
break;
}
else if(o_x[i][j]=='o'&&o_x[(i+1)%3][(j+1)%3]=='o')//대각선
{
if(o_x[(i+2)%3][(j+2)%3]==0) o_x[(i+2)%3][(j+2)%3]='x';
else continue;
select_check++;
loop_out=0;
break;
}
}
}
if(select_check==0)//아무것도 아닐때
{
ComputerTurn_Easy();
}
}
}
}}}
== 문태현 ==
{{{
}}}
= 후기 =
* 아무 생각 없이 두번째 코드를 짰는데 뭔 문제점이 7개나 튀어나와... 코드 밀기도 힘들고. NXT 하고 과제 하고 어쩌고 하면 시간이 빠듯하다 ㅠㅠ [유재범]
-----
[:새싹교실/2014/속도위반 속도위반]