1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <stdio.h> void thinking(int *); void decision(int *, int*, int *, int*); int main(void) { int n, strike, ball, computer[4], gameuser[4]; printf("*----------------------------------------------*\n"); printf(" ¾ß±¸°ÔÀÓ \n"); printf("*----------------------------------------------*\n"); printf(" 1) ÄÄÇ»ÅÍ°¡ 4°³ÀÇ ÇÑÀÚ¸® ¼ö¸¦ »ý°¢ÇÕ´Ï´Ù.\n"); printf(" 2) »ç¿ëÀÚ°¡ 4°³ÀÇ ¼ýÀÚ¸¦ ÀÔ·ÂÇÕ´Ï´Ù. \n"); printf(" 3) ¼ýÀÚ°¡ °°°í À§Ä¡°¡ °°À¸¸é ½ºÆ®¶óÀÌÅ©ÀÔ´Ï´Ù.\n"); printf(" 4) ¼ýÀÚ°¡ °°À¸³ª À§Ä¡°¡ ´Ù¸£¸é º¼ÀÔ´Ï´Ù.\n"); printf(" *) ¼ýÀÚ´Â ¶ç¾î¼ ÀÔ·ÂÇϼ¼¿ä. (¿¹: 1 4 5 7) \n"); printf("*----------------------------------------------*\n"); srand(time(NULL)); while (1) { printf("»õ °ÔÀÓÀÔ´Ï´Ù \n"); thinking(computer); for (n = 1;; n++) { printf("(%d)> ", n); scanf("%d %d %d %d", &gameuser[0], &gameuser[1], &gameuser[2], &gameuser[3]); strike = ball = 0; decision(computer, gameuser, &strike, &ball); if (strike == 4) { printf("ÃàÇÏÇÕ´Ï´Ù. %d step ¸¸¿¡ ¸ÂÃß¾ú½À´Ï´Ù !!! \n", n); break; } else printf("\t\t(%d ½ºÆ®¶óÀÌÅ© %d º¼)\n", strike, ball); } } } void thinking(int computer[]) { int i, j, n; for (i = 0; i < 4; i++) { computer[i] = rand() % 10; for (j = 0; j < i; j++) { if (computer[i] == computer[j]) { i--; break; } } } } void decision(int computer[], int gameuser[], int *strike, int *ball) { int i, j; for (i = 0; i < 4; i++) { if (gameuser[i] == computer[i]) (*strike)++; else { for (j = 0; j < 4; j++) { if (gameuser[i] == computer[j]) (*ball)++; } } } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #include <stdio.h> void thinking(int *); void decision(int *, int*, int *, int*); int main(void) { int n, strike, ball, computer[4], gameuser[4]; printf("*----------------------------------------------*\n"); printf(" ¾ß±¸°ÔÀÓ \n"); printf("*----------------------------------------------*\n"); printf(" 1) ÄÄÇ»ÅÍ°¡ 4°³ÀÇ ÇÑÀÚ¸® ¼ö¸¦ »ý°¢ÇÕ´Ï´Ù.\n"); printf(" 2) »ç¿ëÀÚ°¡ 4°³ÀÇ ¼ýÀÚ¸¦ ÀÔ·ÂÇÕ´Ï´Ù. \n"); printf(" 3) ¼ýÀÚ°¡ °°°í À§Ä¡°¡ °°À¸¸é ½ºÆ®¶óÀÌÅ©ÀÔ´Ï´Ù.\n"); printf(" 4) ¼ýÀÚ°¡ °°À¸³ª À§Ä¡°¡ ´Ù¸£¸é º¼ÀÔ´Ï´Ù.\n"); printf(" *) ¼ýÀÚ´Â ¶ç¾î¼ ÀÔ·ÂÇϼ¼¿ä. (¿¹: 1 4 5 7) \n"); printf("*----------------------------------------------*\n"); srand(time(NULL)); while (1) { printf("»õ °ÔÀÓÀÔ´Ï´Ù \n"); thinking(computer); for (n = 1;; n++) { printf("(%d)> ", n); scanf("%d %d %d %d", &gameuser[0], &gameuser[1], &gameuser[2], &gameuser[3]); strike = ball = 0; decision(computer, gameuser, &strike, &ball); if (strike == 4) { printf("ÃàÇÏÇÕ´Ï´Ù. %d step ¸¸¿¡ ¸ÂÃß¾ú½À´Ï´Ù !!! \n", n); break; } else printf("\t\t(%d ½ºÆ®¶óÀÌÅ© %d º¼)\n", strike, ball); } } } int num_one(int comp[]) { int i, count=0; for (i = 0; i < 10; i++) { if (comp[i] == 1) count++; } return count; } void thinking(int computer[]) { int i, j, n, num; int comp[10] = { 0 }; do { num = rand() % 10; comp[num] = 1; n = num_one(comp); if (n == 4) break; } while (1); for (i = 0, j = 0; i < 10; i++) { if (comp[i] == 1) computer[j++] = i; } for (i = 0, j = 0; i < 10; i++) { int tmp; j = rand() % 3 + 1; tmp = computer[j]; computer[j] = computer[0]; computer[0] = tmp; } } void decision(int computer[], int gameuser[], int *strike, int *ball) { int i, j; for (i = 0; i < 4; i++) { if (gameuser[i] == computer[i]) (*strike)++; else { for (j = 0; j < 4; j++) { if (gameuser[i] == computer[j]) (*ball)++; } } } } | cs |