C 언어 판 숫자 맞 추기 미니 게임
8841 단어 C 언어숫자 를 알아맞히다
목 표를 명확 하 게 실현 하 다.
어떤 작은 프로젝트 를 하기 전에 우 리 는 먼저 자신 이 실현 하고 자 하 는 목 표를 명 확 히 해 야 한다.
그래서 디지털 게임 의 실현 목 표 는 무엇 일 까요?
컴퓨터 는 무 작위 로 목표 숫자 를 제시 하고 게이머 들 은 추측 을 한다컴퓨터 는 게이머 들 이 추측 하 는 숫자 에 따라 크게 맞 혔 는 지 작 았 는 지 알려 준다.
4.567917.맞 힐 때 까지 한 라운드 게임 이 끝 납 니 다.4.567918.
4.567917.게임 이 끝나 면 계속 하 는 지 물 어 볼 것 이다.1 대 표 는 계속 하 는 지,0 대 표 는 계속 하지 않 는 다.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 에서 업 데 이 트 됩 니 다.그러면 이 기능 을 어떻게 실현 합 니까?
여러분 에 게 생각 을 남 겨 두 겠 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.