인생마린
어떤 공부 블로거의 금서목록
인생마린
전체 방문자
오늘
어제
  • 전체 (155)
    • C언어 (19)
    • Python (14)
      • Flask (0)
    • Coding Challenge (11)
      • Code Clone & Review (0)
      • Toy Project (0)
      • 오늘의 코드 (5)
    • Algorithm (6)
    • JAVA (8)
    • 웹 (8)
      • Javascript (3)
    • 정보보안 (19)
    • 기타 (21)
    • 일기는일기장에 (2)
    • 리눅스 (4)
    • 철학 (1)
    • 주식 (14)
    • AI (2)
    • 독후감 (13)
    • 프로그래밍 (4)
    • 게임 (1)
    • Devops (2)
      • CI_CD (2)
      • AWS (0)
    • Flutter (3)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • Regex
  • 가상화폐
  • Sphinx
  • Bitcoin
  • turtle
  • 백테스팅
  • 주식 #배당주
  • 주식 #ETF
  • Flutter
  • Python
  • 코인
  • best of best
  • 폭락
  • Regular Expression
  • 퀴즈봇
  • TFT
  • 정규표현식
  • 해커톤
  • flask
  • 주린이 #주식
  • smtplib
  • vpn
  • Java
  • 테라
  • 우영우 #패러디논란
  • c언어
  • python #eval #dictionary
  • 불편한사회
  • 카카오톡봇
  • 비트코인

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
인생마린

어떤 공부 블로거의 금서목록

[소스공유] C언어로 만든 지뢰찾기
Coding Challenge

[소스공유] C언어로 만든 지뢰찾기

2017. 5. 24. 20:02
반응형

제가 대학교 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
    'Coding Challenge' 카테고리의 다른 글
    • [소스공유] C++로 엘리베이터 구현하기
    • [소스공유/JAVA] KBO야구경기 시뮬레이션
    • [소스공유/c언어] 후위연산자 계산기
    • [소스공유/C언어] 다항식 연산 프로그램
    인생마린
    인생마린
    즐거운 프로그래밍~♬

    티스토리툴바