C 언어 는 간단 한 숫자 맞 추기 게임 을 실현 한다.
5159 단어 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 에서 인용 해 야 할 헤더 파일 은\#includesrand(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 판단 조건 을 잘못 쓰 면 원래 크게 맞 추 면 컴퓨터 가 작 게 맞 히 고 원래 작 게 맞 추 면 크게 맞 추 게 됩 니 다.이렇게 하면 처음 맞 히 지 않 으 면 영원히 틀 릴 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.