반응형
제가 대학교 1학년때 만들었던 지뢰찾기네요~ 기억이 새록새록
그때 이거만들고 엄청 좋아했었는데 ㅎㅎ
복붙 no! 직접써가며 코드를 이해해보아요~ 실력이 금방늘꺼에요
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 86 87 88 89 90 91 92 93 94 95 96 97 98 | #include <stdio.h> #include <stdlib.h> #include <time.h> #include <Windows.h> void draw(int a[30][30]) { for (int i = 0; i < 30; i++) { for (int j = 0; j < 30; j++) { if (a[i][j] == 0)//아직안열림 printf("■"); else if (a[i][j] == 1)//지뢰임 printf("※"); else if (a[i][j] == 2)//맞음 printf("●"); } printf("\n"); } } int main() { int map[30][30]; int hide[30][30]; srand((unsigned)time(NULL)); int a, b, c, d, k; for (int i = 0; i < 30; i++)//배열 모든값 0으로 해줌 { for (int j = 0; j < 30; j++) { map[i][j] = 0; hide[i][j] = 0; } } printf("생성할 지뢰개수를 입력해주세요(30x30)\n"); scanf_s("%d", &k); for (int i = 0; i < k; i++)//지뢰생성 { while (1) { a = rand() % 30; b = rand() % 30; if (map[a][b] == 1) ; else { map[a][b] = 1; break; } } map[a][b] = 1; } while (1) { draw(hide); printf("x좌표입력: "); scanf_s("%d", &c); printf("y좌표입력: "); scanf_s("%d", &d); c--; d--; if (c >= 30 || d >= 30 || c < 0 || d < 0) { printf("범위안의 숫자를입력해주세요\n"); Sleep(1000); } else if (map[c][d] == 1) { hide[c][d] = 1; system("cls"); draw(hide); printf("꽝입니다~ㅠㅠ\n"); Sleep(2000); break; } else if (hide[c][d] == 2) { printf("이미 방문했습니다^^\n"); } else if (map[c][d] == 0) { printf("맞았습니다~^^\n"); hide[c][d] = 2; } Sleep(1000); system("cls"); } printf("지뢰위치\n"); draw(map);//게임 끝난후 지뢰위치 보여줌 } |
반응형
'Coding Challenge' 카테고리의 다른 글
[소스공유] C++로 엘리베이터 구현하기 (0) | 2017.05.27 |
---|---|
[소스공유/JAVA] KBO야구경기 시뮬레이션 (0) | 2017.04.29 |
[소스공유/c언어] 후위연산자 계산기 (2) | 2017.04.29 |
[소스공유/C언어] 다항식 연산 프로그램 (1) | 2017.04.29 |
프로그래밍 공부법 (코딩 실력 늘리기) (9) | 2017.04.29 |