C 언어 는 간단 한 숫자 맞 추기 게임 을 실현 한다.

머리말
c 언어 초보 자 에 게 c 언어 로 디지털 게임 을 실현 하 는 것 은 기본 적 인 문제 이 고 이 글 은 코드 로 디지털 게임 을 어떻게 실현 하 는 지 상세 하 게 설명 할 것 이다.독자 들 이 본 블 로 그 를 읽 기 전에 분기 와 순환,그리고 가장 기본 적 인 c 언어 문법 지식 을 배우 기 를 바 랍 니 다.
제시:다음은 본 글 의 본문 내용 이 고 다음 사례 는 참고 할 수 있 습 니 다.
1.디지털 게임 의 기능 을 실현 할 것 으로 예상 합 니 다.
1:숫자 맞 추기 게임 이란 무엇 인가
숫자 맞 히 기 게임 은 말 그대로 컴퓨터 가 랜 덤 으로 숫자 를 만들어 게이머 들 이 맞 히 게 하 는 것 이다.만약 에 맞 히 지 못 하면 컴퓨터 는 게이머 들 이 크게 맞 혔 는 지 작 게 맞 혔 는 지 알려 줄 것 이다.게이머 들 은 여러 번 시도 할 수 있 고 게이머 들 이 이번 게임 을 맞 히 면 끝 날 때 까지 할 수 있다.
2:기대 효과
숫자 맞 히 기 를 실현 하 는 토대 에서 게이머 들 이 중독 되 지 않 으 면 다시 한 번 선택 할 수 있 고 질 리 면 게임 에서 탈퇴 할 수도 있다.
2.구체 적 인 사고 설명
1.전체적인 사고방식
게임 의 기본 기능 을 실현 하기 위해 우 리 는 게임 메뉴 가 있어 야 한다.메뉴 를 통 해 게이머 들 은 게임 에 들 어 갈 지 탈퇴 할 지 선택 할 수 있 고 이 게임 을 반복 할 수 있 도록 이 과정 은 하나의 순환 이 어야 한다.게임 을 탈퇴 할 때 이 순환 을 깨 뜨 려 야 한다.코드 가 이성 을 가지 도록 하기 위해 서 우 리 는 유일한 주 함 수 를 정의 한 다음 에 기능 에 따라 서브 함 수 를 써 서 모든 하위 함수 가 의 미 를 가지 게 합 니 다.메뉴 모듈 의 하위 함수 와 게임 실현(컴퓨터 생 성 난수 와 게이머 가 여러 번 숫자 를 맞 출 수 있 는 기능 포함)을 인쇄 해 야 하 는 하위 함 수 를 종합해 서 게임 에 들 어 갈 지 여 부 를 주 함수 에 두 는 것 도 좋 습 니 다.
2.메뉴 기능 의 실현
우 리 는 선택 과정 을 주 함수 에 넣 기 때문에 메뉴 기능 이 매우 간단 하 다.코드 예제 는 다음 과 같다.

void menu()
{ 
 printf("*****         *****
"); printf("********1: *********
"); printf("********0: *********
"); printf("****************************
"); }
3.주 함수 부분의 실현
프로그램 이 주 함수 에서 시작 하여 주 함수 가 끝 날 때 까지 실행 되 기 때문에 주 함 수 는 전체 게임 기본 프레임 워 크 를 구축 하 는 기능 을 해 야 합 니 다.주 함수 가 게임 에 들 어 갈 지 여 부 를 실현 하려 면 menu()와 game()를 합 리 적 으로 인용 하여 전체 프로그램 이 유기적인 전 체 를 형성 해 야 합 니 다.

int main()
{
 srand((unsigned)time(NULL));//         ,             ,             
 
 int input = 0;
 do
 {
  menu();
  printf("       :");
  scanf("%d",&input);
  if (input == 1)
  {
   game();//        game()           
  }
  else if (input == 0)
  {
   printf("      ");
   break;//  while    ,       
  }
  else
  {
   printf("         ,     
");// 1 0 , , } } while (input != 0); return 0; }
4.게임 game()함수 의 코드 구현
game()에서 우 리 는 두 가지 기능 을 실현 해 야 한다.2:게이머 들 이 디지털 게임 을 하 는데 그 중에서 c 언어 는 랜 덤 수 를 생 성 하 는 원리 가 복잡 하 다.먼저 랜 덤 수 생 성 출발점 을 정의 한 다음 에 rand()함수 로 랜 덤 수 를 생 성 해 야 한다.
코드 는 다음 과 같 습 니 다:

void game()
{
 //1:  1-100         
 int random_num = rand()%100+1;//rand()            srand((unsigned)time(NULL))  
 //2:         
 while (1)
 {
  int guess = 0;//guess            
  printf("        :");
  scanf("%d", &guess);
  if (guess < random_num)
   printf("   
"); else if (guess > random_num) printf("
"); else { printf("
"); break;// , } } }
그 중에서 game 에서 인용 해 야 할 헤더 파일 은\#include입 니 다.
srand(unsigned)time(NULL)에서 인용 할 헤더 파일 은\#include입 니 다.
5.총 프로그램 코드
다음 과 같다.

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//    
//1:        1-100     
//2:                               
//3:       ,                      
void menu()
{ 
 int input = 0;
 printf("*****         *****
"); printf("********1: *********
"); printf("********0: *********
"); printf("****************************
"); } void game() { //1: 1-100 int random_num = rand()%100+1;//rand() srand((unsigned)time(NULL)) //2: while (1) { int guess = 0;//guess printf(" :"); scanf("%d", &guess); if (guess < random_num) printf("
"); else if (guess > random_num) printf("
"); else { printf("
"); break;// , } } } int main() { srand((unsigned)time(NULL)); int input = 0; do { menu(); printf(" :"); scanf("%d",&input); if (input == 1) { game(); } else if (input == 0) { printf(" "); break; } else { printf(" ,
"); } } while (input != 0); return 0; }
흔히 볼 수 있 는 잘못
1.재 game()에서 난수 문 구 를 while 순환 에 두 면 게임 과정 에서 한 번 맞 힐 때마다 난수 가 한 번 씩 바 뀌 어 첫 번 째 맞 히 지 못 하면 계속 맞 히 지 못 한다.
2.game()에서 매번 숫자 를 맞 춘 후 if 판단 조건 을 잘못 쓰 면 원래 크게 맞 추 면 컴퓨터 가 작 게 맞 히 고 원래 작 게 맞 추 면 크게 맞 추 게 됩 니 다.이렇게 하면 처음 맞 히 지 않 으 면 영원히 틀 릴 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기