반응형

 

C언어 연습으로 유명한 야구게임이 있다.

랜덤 함수가 필요한데, 이는 time.h 를 통해 srand 함수를 사용해야 함으로 import한다.

반응형

이에 대한 코드

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	int u1, u2, u3;
	int c1, c2, c3;
	int strike = 0, ball = 0; // 초기화
	
	srand((unsigned)time(NULL)); // 랜덤 숫자 생성
	
	do{
		c1 = rand() % 10;
		c2 = rand() % 10;
		c3 = rand() % 10;
	}while(c1 == c2 || c2 == c3 || c1 == c3);
	
	printf("Computer : %d %d %d\n", c1, c2, c3);
	
	do{
		strike = ball = 0;
		
		printf("Input : ");
		scanf("%d%d%d", &u1, &u2, &u3); // 3개의 숫자를 입력 받음
		
		// 랜덤의 숫자와 입력한 숫자가 일치하면 스트라이크 증가 아니면 볼 증가
		if(c1 == u1) strike++;			
		else if(c1 == u2) ball++;
		else if(c1 == u3) ball++;
		
		if(c2 == u2) strike++;
		else if(c2 == u1) ball++;
		else if(c2 == u3) ball++;
		
		if(c3 == u3) strike++;
		else if(c3 == u1) ball++;
		else if(c3 == u2) ball++;
		
		printf("\n%dS %dB\n", strike, ball);		
	}while(strike != 3);
}

컴퓨터가 랜덤으로 낸 숫자와 내가 쓴 숫자가 일치하면 스트라이크이다. 그 외는 볼이다.

원래는 사용자가 먼저 숫자를 쓰고, 랜덤으로 컴퓨터가 숫자를 생성하는게 맞는데

그것은 위 코드를 변형해서 바꿔보도록 한다.

 

 

 

 

반응형

+ Recent posts