현재 위치 - 주공해몽공식사이트 - 랜덤 번호 뽑기 점술 - C 언어의 추측 게임 논문, 1000 자 정도 ~! ! ! 급히 필요하다. 。 여러분들이 도와주실 수 있기를 바랍니다.

C 언어의 추측 게임 논문, 1000 자 정도 ~! ! ! 급히 필요하다. 。 여러분들이 도와주실 수 있기를 바랍니다.

게임을 만들어 봅시다. ...

게임 규칙은 문곡성의 추측 수치를 참고한다.

공백으로 구분된 네 개의 고유한 숫자를 입력하고 < Enter > 키를 누르면 결과가 뒤에 표시됩니다.

"양식은 무엇입니까? 대답? B ",네 개의 숫자 중 위치와 수는 모두 A 이고, 숫자의 같은 위치는 B 입니다.

4 A 0 B 가 맞으면 이닝 당 8 번의 기회가 있습니다.

예를 들어, 원래 네 개의 숫자가 1234 인 경우

1234 4 A 0 B

5678 개의 0 A 0 B 가 모두 잘못되었습니다.

1243 2 a 2 b 3,4 가 맞지만 위치가 잘못되었습니다.

규칙을 이해하면 쉽게 시작할 수 있다. 아마 너는 아직 갈피를 잡지 못했을 것이다. 괜찮아, 차근차근.

1. 우선, 당신의 게임에서 무엇을 하고 싶습니까?

플레이어가 네 개의 숫자를 입력하여 이 네 개의 숫자가 정답과의 관계를 검증하고' X A X B' 를 제공한다.

플레이어에게 힌트를 주고 ... 플레이어가 맞히거나 여덟 번 도달할 때까지.

게임에 필요한 자원은 무엇입니까?

이 게임에는 특별한 것이 필요하지 않습니다. printf 와 scanf 만 있으면 입력을 받을 수 있습니다.

그래서 프로그램이 시작되었을 때:

# include & ltstdio.h & gt

표준 입력 출력과 함께, 이 터보 C 는 printf 와 scanf 가 어디서 왔는지 알 수 없다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 표준명언)

자, 프로그래밍이 시작됩니다. ...

메인 () {

}

먼저 이 함수를 기록해 두십시오. 이 함수를 주 함수라고 하며, 프로그램 입력 함수라고도 하는 프로그램이 하나뿐입니다.

이것은 프로그램이 실행되기 시작하는 곳입니다. ) 을 참조하십시오

(다음 작업은 모두 main () 에 있습니다.)

정답을 저장하기 위해 네 개의 변수를 설정합니다. (초기 값을 얻을 수도 있습니다.)

Int a 1, a2, a3, a4;

그런 다음 플레이어의 입력을 저장할 네 가지 변수를 설정합니다.

Int b 1, B2, B3, B4;

변수의 추측 횟수를 설정하고 초기 값을 지정합니다.

Int n = 0;;

결과 a 와 b 의 수량을 저장하는 두 가지 변수를 설정합니다.

Int cA, CB;

준비가 완료되면 정답을 설정합니다.

A1= 3;

A2 = 5;;

A3 = 9;;

A4 = 7;;

물론, 당신은 정답이 고정되어 있다고 불평할 것이다. 괜찮아요. 다음은 임의 효과를 생성하는 방법입니다. 천천히 하세요.

전체 게임 과정을 자세히 생각해 보세요. ...

아마 이렇습니다.

반복 실행:

입력;

정답을 비교하다

출력 프롬프트

자신이 맞는지 판단하다.

예: 승리를 보여주고, 순환을 그만두고, 아니오: 무시합니다.

승수1;

횟수가 초과되었는지 여부를 판단하다.

예: 실패를 표시하고 루프를 종료합니다.

주기가 끝나다

그래서, 더 쉽게 이해하기 위해서, 우리는 무한 루프를 사용했지만, 우리는 한 가지 주의해야 한다: 루프를 끝내는 문이 있어야 한다!

깨뜨리다 이것은 성명이다.

그래서:

While( 1){

...

깨뜨리다

...

}

적어두면 됩니다. 그리고 (XX){YYYY} 는 이렇게 작동합니다.

XX 가 0 (참) 인지 여부

아니요:

YYYY 를 실행합니다

예: 루프를 종료합니다

XX 가 0 이 아닌지 다시 한 번 확인합니다.

...

그러나 당신은 분명해야합니다: 깨진; 너를 이 서클에서 물러나게 할 것이다.

좋아, 그게 다야

Printf("\n\t 숫자 추측! \ n \ n "); /* 몇 가지 힌트 인쇄 */

While( 1){ /* 사용자 입력 및 프로그램 출력 시작 */

Printf("%d: ",n+1); /* 현재 입력된 수량 인쇄 */

Scanf("%d %d %d %d ",& ampb 1. B2 및 ampb3 및 ampb3);

/* 왜 b 1 앞에&B2 를 추가해야 하는지 모르겠어요. , 먼저 생각해 봐, scanf 는 이렇게 될거야 */

CA = 0;;

CB = 0;; /* 비교가 곧 시작되므로 결과를 0*/

/* 비교 시작 부분에서 우리는 우리를 위해 일하는 if 더미를 사용했습니다 */

/* 이것은 좀 번거롭지만 누가 우리에게 초보자라고 말합니까? 하지만, 이 표현의 효율이 가장 높다는 것을 알려드립니다. */

If (a1= = b1) ca++;

If (a2 = = B2) ca++;

If (a3 = = B3) ca++;

If (a4 = = B4) ca++; /* 추가된 수량을 하나씩 확인 */

If (a1= = B2 | | a1= = B3 | | a1= = B4) c b+;

If (a2 = = b1| | a2 = = B3 | | a2 = = B4) c b++;

If (a3 = = b1| | a3 = = B2 | | a3 = = B4) c b++;

If (a4 = = b1| | a4 = = B2 | | a4 = = B3) c b++;

/* 철저한 검사를 통해 얻은 b 의 수 */

/* 물론 플레이어가 다른 것을 입력하는지 확인해야 합니다. 그렇지 않으면 농담이 생길 수 있습니다. */

/* 검사 및 비교 종료 */

/* 인쇄 팁 */

Printf("\t\t%d A %d B\n ",cA, CB);

/* 승리 여부를 판단하다 */

If(cA == 4){

Printf(" \ n \ t 완료! \ n ");

Getch (); /*getch () 는 문자를 입력하는 데 사용되며, 입력할 필요가 없고 화면에 표시되지 않습니다 */

/* 일반적으로 프로그램을 일시 중지하는 데 사용됩니다 */

깨뜨리다 /* 루프 종료 */

}

/* 횟수에 1 을 더하다 */

N++;+;

/* 판결 수 */