본문 바로가기

--프로그래밍--/C, C++

[C++] 야구 게임

C++ 야구 게임

 

#include "stdafx.h"
#include <cstdlib>
#include <conio.h>
#include <ctime>
#include<iostream>
using namespace std;

#define ARR_TWO 2
#define ARR_ONE 1
#define ARR_SIZE 3

int g_nComNum[ARR_SIZE]={0,0,0};
int g_nUserNum[ARR_SIZE]={0,0,0};
int g_nResultCount = 0;
int g_nResult = 0;

void main()
{
 while(true){
  srand((unsigned int)time(NULL));
  int m_nMakeSuc = 0;
  for(int i=0; i<ARR_SIZE; i++){
   g_nComNum[i] = (rand() % 10) ;
   if(i==ARR_ONE && g_nComNum[i] != g_nComNum[i-ARR_ONE])
    m_nMakeSuc++;
   if((i==ARR_TWO && g_nComNum[i] != g_nComNum[i-ARR_TWO]) && g_nComNum[i] != g_nComNum[i-ARR_ONE] )
    m_nMakeSuc++;
  }
  if(m_nMakeSuc == 2)
   break;
 }
 while(true){
  int m_nStrike = 0;
  int m_nBall = 0;
  g_nResultCount++;
  printf("********** %d 회 **********\n", g_nResultCount);
  while(true){
   int m_nMakeSuc2 = 0; // 중복검사변수
   int m_nThreshold = 0; // 범위검사변수
   for(int j=0; j<ARR_SIZE; j++){
    printf("%d 번 숫자 : ",j);
    cin >> g_nUserNum[j];
    if(j==1 && (g_nUserNum[j] != g_nUserNum[j-1])) //중복검사 1
     m_nMakeSuc2++;
    if((j==2 && g_nUserNum[j] != g_nUserNum[j-ARR_TWO]) && g_nUserNum[j] != g_nUserNum[j-ARR_ONE] ) //중복검사 2
     m_nMakeSuc2++;
    if(j==2 &&  ((0 > g_nUserNum[j-ARR_TWO] || g_nUserNum[j-ARR_TWO] > 9 ) || (0 > g_nUserNum[j-ARR_ONE] || g_nUserNum[j-ARR_ONE] > 9 )
     || (0 > g_nUserNum[j] || g_nUserNum[j] > 9 ))  ) //범위 검사
     m_nThreshold = 1;
   }
   if(m_nMakeSuc2 == 2 && m_nThreshold == 0)
    break;
   if(m_nThreshold != 2)
    printf("오류 ! 숫자 중복 \n"); 
   if(m_nThreshold == 1)
    printf("오류 ! 범위는 0~9 \n ");
  }
  for(int i=0;i<ARR_SIZE;i++){
   for(int j=0; j<ARR_SIZE; j++){
    if(g_nComNum[i] == g_nUserNum[i]){
     m_nStrike++;
     break;
    }else if(g_nComNum[i] == g_nUserNum[j]){
     m_nBall++;
     break;
    }
   }
  }
  printf("스트라이크:%d , 볼:%d \n", m_nStrike, m_nBall);
  if(m_nStrike == 3)
   break;
 }
 printf("\n%d 번 만에 성공!\n", g_nResultCount);
 printf("컴퓨터  유저\n");
 for(int k=0; k < ARR_SIZE; k++){
  printf("  %d",g_nComNum[k]);
  printf("%7.d\n",g_nUserNum[k]);
 }
 getch();
}

 

출력

 

http://loveseulji.tistory.com

'--프로그래밍-- > C, C++' 카테고리의 다른 글