C 언어 판 숫자 맞 추기 미니 게임

본 논문 의 사례 는 여러분 에 게 C 언어 판 에서 디지털 게임 을 맞 추 는 구체 적 인 코드 를 공 유 했 습 니 다.여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
목 표를 명확 하 게 실현 하 다.
어떤 작은 프로젝트 를 하기 전에 우 리 는 먼저 자신 이 실현 하고 자 하 는 목 표를 명 확 히 해 야 한다.
그래서 디지털 게임 의 실현 목 표 는 무엇 일 까요?
컴퓨터 는 무 작위 로 목표 숫자 를 제시 하고 게이머 들 은 추측 을 한다컴퓨터 는 게이머 들 이 추측 하 는 숫자 에 따라 크게 맞 혔 는 지 작 았 는 지 알려 준다.
4.567917.맞 힐 때 까지 한 라운드 게임 이 끝 납 니 다.4.567918.
4.567917.게임 이 끝나 면 계속 하 는 지 물 어 볼 것 이다.1 대 표 는 계속 하 는 지,0 대 표 는 계속 하지 않 는 다.4.567918.
  • 게임 모델 은 3 가지(간단,보통,어려움)가 있 는데 대응 하 는 내용 은 각각 25 번,15 번,5 번 이다
  • 4.567917.게임 은 당신 의 전적 을 기록 하고 메뉴 에서 2 를 누 르 면 전적 을 조회 합 니 다.4.567918.
    논리 구 조 를 명확 하 게 하 다.
    실현 하고 자 하 는 목 표를 분명히 알 았 다.그 첫 번 째 단 계 는 논리 구 조 를 구축 하 는 것 이다.
    그래서 논리 구 조 는 무엇 일 까요?
    1 을 누 르 면 게임 을 시작/계속 하 는 메뉴 알림 이 있 습 니 다.2 는 전적 조회,0 은 게임 종료,기타 버튼 알림 입력 오류 입 니 다.
    2 를 입력 하면 메뉴 가 다시 나 옵 니 다.입력 오 류 를 알 리 면 명령 을 다시 입력 할 수 있 습 니 다.
    1 을 입력 하면 게임 모드 를 물 어보 고 시작 합 니 다.
    그래서 논리 구 조 는 다음 과 같다.
    
    #include <stdio.h>
    
    int computer = 0; //     
    int player = 0; //     
    int main()
    {
        int input = 0;//    
        do
        {
            menu();//      ,      
            scanf("%d", &input);  
            switch (input)
            {
                case 0:
                    printf("      
    "); break; case 1: playgame(); // , store(); // break; case 2: query();// , break; } } while (input); return 0; }
    기능 디 테 일 구현
    메뉴 모듈
    목표 요구 에 따라 메뉴 블록 코드 는 다음 과 같 습 니 다.
    
    void menu()
    {
        printf(
               "*******************************************************
    " "******************* 0---- ********************
    " "******************* 1---- ********************
    " "******************* 2---- ********************
    " "*******************************************************
    " ); }
    전적 을 저장 하 다
    이 목 표 는 언제 게임 을 열 어도 전에 했 던 성적 을 기록 하 는 것 이다.
    
    void store()
    {
        FILE* fp = fopen("grade.txt","w+");
        if (fp == NULL)
        {
            exit(-1);
        }
        else
        {
            fprintf(fp,"computer : player = %d : %d
    ",computer,player); } fclose(fp); }
    게임 모듈
    게임 모듈 의 기능 은:
    유저 가 게임 모드 를 선택,
    그리고 컴퓨터 는 먼저 게이머 가 추측 해 야 할 숫자 를 무 작위 로 제시 합 니 다.
    숫자 가 어느 범위 에 있 는 지 대충 알려 주세요.
    유 저 는 추측 하기 시 작 했 습 니 다.그리고 한 번 추측 할 때마다 몇 번 의 기회 가 남 았 다 는 것 을 알려 줍 니 다.
    
    void playgame()
    {
        srand(time(NULL)); //     
        int target = rand() % 1001;//        
    
        int input = 0, num = 0; //input          ,num        
    
        num = mode(); //        ,      
    
        while (1)
        {
            printf("            :
    "); scanf("%d",&input); if (num == 0) { break; } if (input > target) { printf(" ,
    "); } else if (input > target) { printf(" ,
    "); } else { printf(" ,
    "); break; } num--; printf(" %d ~~~~
    ", num); } if (!num) { printf(" ,
    "); computer++; // } else { printf(" ,
    "); player++; } printf(" ?
    ");// . }
    게임 모드 선택
    
    int mode()
    {
        char str[20] = { 0 };
        int num = 0;
        printf("       :          
    :"); scanf("%s", str); if (strcmp(" ", str) == 0) { num = 25; } else if (strcmp(" ", str) == 0) { num = 15; } else { num = 5; } return num; }
    전적 조회
    
    void query()
    {
        FILE* fp = fopen("grade.txt","r");
        int a = 0, b = 0;
        char p[60] = { 0 };
        if (fp == NULL)
        {
            exit(-1);
        }
        else
        {
            fgets(p,60,fp);
            printf("%s
    ",p); } fclose(fp); printf(" ?
    "); }
    완제품 전시
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    int computer = 0; //     
    int player = 0; //     
    
    void menu()
    {
        printf(
               "*******************************************************
    " "******************* 0---- *******************
    " "******************* 1---- *******************
    " "******************* 2---- *******************
    " "*******************************************************
    " ); } int mode() { char str[20] = { 0 }; int num = 0; printf(" :
    :"); scanf("%s", str); if (strcmp(" ", str) == 0) { num = 25; } else if (strcmp(" ", str) == 0) { num = 15; } else { num = 5; } return num; } void playgame() { srand(time(NULL)); // int target = rand() % 1001;// 0-1000 int input = 0, num = 0; //input ,num num = mode(); // while (1) { printf(" (0-1000):
    "); scanf("%d",&input); if (num == 0) { break; } if (input > target) { printf(" ,
    "); } else if (input < target) { printf(" ,
    "); } else { printf(" ,
    "); break; } num--; printf(" %d ~~~~
    ", num); } if (!num) { printf(" ,
    "); computer++; // } else { printf(" ,
    "); player++; } printf(" ?
    ");// . } void query() { FILE* fp = fopen("grade.txt","r"); int a = 0, b = 0; char p[60] = { 0 }; if (fp == NULL) { exit(-1); } else { fgets(p,60,fp); printf("%s
    ",p); } fclose(fp); printf(" ?
    "); } void store() { FILE* fp = fopen("grade.txt","w"); if (fp == NULL) { exit(-1); } else { fprintf(fp,"computer : player = %d : %d
    ",computer,player); } fclose(fp); } int main() { int input = 0;// do { menu();// , scanf("%d", &input); switch (input) { case 0: printf("
    "); break; case 1: playgame(); // , store(); // break; case 2: query();// , break; } } while (input); return 0; }
    팁:
    완제품 중의 전적 조 회 는 실제 적 으로 모든 전적 을 기록 하지 못 했 습 니 다.프로그램 을 시작 할 때마다 전적 이 0:0 에서 업 데 이 트 됩 니 다.그러면 이 기능 을 어떻게 실현 합 니까?
    여러분 에 게 생각 을 남 겨 두 겠 습 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기