숫자야구게임 이정도면 어떤가요?
미련곰탱이
질문 제목 : 질문 내용 : /*
1. 0~9 난수 3개 생성, (순서대로 맞춰야 인정)
2. 난수 3개를 입력 받은 값과 하나씩 비교
3. 판별
*/
#include stdio.h
#include stdlib.h //srand
#include time.h //srand
#include windows.h //sleep
typedef unsigned int unit;
void num_shake(unit *pcom_num); //숫자섞기 함수
void num_result(unit *pcom_num, unit *pyou_num); //숫자판별 함수
void main()
{
unit com_num[3]={0,};
unit *pcom_num=com_num;
unit you_num[3]={0,};
unit *pyou_num=you_num;
unit you_count=0;
unit mode=0;
num_shake(pcom_num);
while(1)
{
printf(\n────────baseball game!──────────\n);
printf(1:게임진행 3:숫자섞기 5:종료\n-);
sleep(500);
scanf(%d, &mode);
/////////////////////////모드////////////////////////////////
if(mode==1)
{
printf(%d 번째 도전중 입니다., you_count);
printf(\n원하는 숫자 입력 예)7 2 5\n);
scanf(%d %d %d,&you_num[0], &you_num[1], &you_num[2]);
puts(컴퓨터 * * *);
printf(당신 %d %d %d, you_num[0], you_num[1], you_num[2]);
//숫자 범위 체크
if(you_num[0] 0 || you_num[0] 9 || you_num[1] 0 || you_num[1] 9 || you_num[2] 0 || you_num[2] 9 )
{puts(\n입력 범위를 초과하였습니다.); continue;}
//판별 함수 호출
num_result(pcom_num, pyou_num);
you_count+=1;
}
else if(mode==3) //숫자 섞기시
{num_shake(pcom_num);you_count=0;}
else if(mode==5) //종료시
{puts(\n종료\n); break;}
else //예외
{puts(\n잘못 입력하였습니다.);continue;}
printf(───────────────────\n);
}
}
//숫자 섞기 함수
void num_shake(unit *pcom_num)
{
puts(\n 숫자를 랜덤하게 변경합니다.);
srand( (unsigned)time(null) );
(*pcom_num)=rand() % 10; //0~9
*pcom_num++;
(*pcom_num)=rand() % 10;
*pcom_num++;
(*pcom_num)=rand() % 10;
}
//숫자 판별 함수
void num_result(unit *pcom_num, unit *pyou_num)
{
//계산방법 서로 스트라이크인지 판별 후 스트라이크가 아닐때만 양쪽 옆 두개와 비교해야 한다
int ball=0, strike=0;
////////////첫번째 숫자 스트라이크인지, 아니면 양쪽 옆 두개와 비교///////////////////
(pcom_num[0])==(pyou_num[0]) ?
strike++ : (pcom_num[0]) == (pyou_num[1]) ?
ball++ : (pcom_num[0]) == (pyou_num[2]) ?
ball++ : null ;
(pcom_num[1])==(pyou_num[1]) ?
strike++ : (pcom_num[1]) == (pyou_num[0]) ?
ball++ : (pcom_num[1]) == (pyou_num[2]) ?
ball++ : null ;
(pcom_num[2])==(pyou_num[2]) ?
strike++ : (pcom_num[2]) == (pyou_num[0]) ?
ball++ : (pcom_num[2]) == (pyou_num[1]) ?
ball++ : (strike == 3) ?
puts(\n모두 맞추었습니다\n) : null;
printf(\n%d 스트라이크 %d 볼!\n, strike, ball);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695766 | 달팽이 배열 어디서 틀렸는지 모르겠습니다ㅠㅠ | 연분홍 | 2025-05-23 |
2695738 | fopen과fclose질문~~ (5) | 희선 | 2025-05-23 |
2695707 | 3의 배수 나타내기. (2) | 수리 | 2025-05-23 |
2695626 | 피보나치수열 과제 때문에 질문 드립니다. (6) | 옆집언니 | 2025-05-22 |
2695595 | 포인트공부중입니다 int형에서 4=1 인가요? (3) | 족장 | 2025-05-22 |
2695567 | 드라이브 고유번호를 가져오는 함수 (2) | 초코맛사탕 | 2025-05-21 |
2695533 | 음수의 산술변환! 질문이요 ㅠㅠ... (4) | 꽃여름 | 2025-05-21 |
2695506 | 구조체 배열 이용 도서목록 출력 프로그램 (1) | 가을귀 | 2025-05-21 |
2695450 | c언어 함수 질문이요.... | 이슬비 | 2025-05-20 |
2695403 | VirtualAlloc함수 및 메모리 질문 | 크리에이터 | 2025-05-20 |
2695355 | c언어 for함수 | 미쿡 | 2025-05-19 |
2695327 | 안녕하세요 제가 이번에 좀 큰 프로그램을.. | 악당 | 2025-05-19 |
2695295 | mutex동기화의 thread기반 채팅 서버소스 질문입니다 | 그루터기 | 2025-05-19 |
2695270 | 질문이요..swap 관한겁니다..ㅠㅠ (3) | 콩알녀 | 2025-05-19 |
2695244 | 노땅초보궁금한게 하나 있는데요..반복문(while문)초보자질문 (6) | 큰꽃늘 | 2025-05-18 |
2695166 | do while 문 어떤것이잘못된건지 모르겠어요 (2) | 아이폰 | 2025-05-18 |
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |