|
여기 밑에 프로그램 짠거를요...
#include <condefs.h>이거 안쓰고 하는 방법 없나요??ㅠ
프로그램이 너무 이해하기가 어려워요 ㅠㅠ
단순하게 바꿔주세요 ㅠㅠ
너무 길어서 이해하기도 힘들어요..
최대한 단순하게요
#include <stdio.h>
#include <stdlib.h>
#include <condefs.h>
int cards1[3][10];
int count = 0;
char card[3][10];
int x, y,x1,y1;
void cards(void);
void cardprint(void);
void cardacc(void);
void cardinp(void);
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
cards();
for(int i = 0 ; i < 10 ; i++){ card[1][i] = '?'; }
for(int j = 0 ; j < 10 ; j++){ card[2][j] = '?'; }
do {
x = 0; y = 0; x1 = 0; y1 = 0;
for(int i = 0 ; i < 10 ; i++){
if(cards1[1][i] == -48){ card[1][i] = 0; }
}
for(int i = 0 ; i < 10 ; i++){
if(cards1[2][i] == -48){ card[2][i] = 0; }
}
cardprint();
cardinp();
if(x == x1 && y == y1){ printf("\n\nError!!"); break; }
cardacc();
} while(count != 10);
printf("\n\n\n GameOver!~");
getch();
return 0;
}
//---------------------------------------------------------------------------
void cards(void)
{
int datas[20], tmp;
// 1234....891234....789 이런식의 데이터를 대입
for(int i = 0 ; i < 20 ; i++){ datas[i] = i; }
for(int i = 10 ; i < 20 ; i++){ datas[i] = datas[i] - 10; }
for(int x = 0 ; x < 20 ; x++)
{
for(int y = 0 ; y < 20 ; y++)
{
if(datas[x] < rand() % 20)
{
tmp = datas[x];
datas[x] = datas[y];
datas[y] = tmp;
}
}
}
for(int i = 0 ; i < 10 ; i++){ cards1[1][i] = datas[i]; }
for(int j = 0 ; j < 10 ; j++){ cards1[2][j] = datas[j+10]; }
}
//---------------------------------------------------------------------------
void cardprint(void)
{
for(int i = 0 ; i < 10 ; i++){ printf(" %d",i); }
printf("\n");
printf("1 ");
for(int i = 0 ; i < 10 ; i++){ printf(" %c ",card[1][i]); }
printf("\n2 ");
for(int j = 0 ; j < 10 ; j++){ printf(" %c ",card[2][j]); }
}
//---------------------------------------------------------------------------
void cardacc(void)
{
if(cards1[y][x] == -48)
{
card[y1][x1] = '?';
printf("\n\nError!!");
getch();
}
else if(cards1[y1][x1] == -48)
{
card[y][x] = '?';
printf("\n\nError!!");
getch();
}
else if(card[y][x] == card[y1][x1])
{
card[y][x] = 0;
card[y1][x1] = 0;
cards1[y][x] = -48;
cards1[y1][x1] = -48;
count++;
}
else
{
card[y][x] = '?';
card[y1][x1] = '?';
getch();
}
}
//---------------------------------------------------------------------------
void cardinp(void)
{
printf("\n\n1 가로 : ");
scanf("%d",&x);
printf("\n1 세로 : ");
scanf("%d",&y);
card[y][x] = cards1[y][x] + 48;
cardprint();
printf("\n\n2 가로 : ");
scanf("%d",&x1);
printf("\n2 세로 : ");
scanf("%d",&y1);
card[y1][x1] = cards1[y1][x1] + 48;
cardprint();
}
|