게임 규칙은 문곡성의 추측 수치를 참고한다.
공백으로 구분된 네 개의 고유한 숫자를 입력하고 < 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++;+;
/* 판결 수 */