// 오목 판정해야하는데 가로 판정에서  7 8 9 10  11 하면 오목으로 인정되어버립니다. 예외처리 소스 좀 알려주세요...ㅠ




#include "mainGame.h"


mainGame::mainGame()
{
 for (int i = 0; i < 100; i++)
 {
  num[i] = i + 1;
 }
 
 while (1)
 {
  system("cls");
  cout << "재밌는 오목 게임 ( 1p : 흑돌, 2p : 백돌 )" << endl;
  cout << endl;


  for (int i = 0; i < 100; i++)
  {

   if (num[i] == 120)
   {
    cout << "○" << "\t";
   }

   else if (num[i] == 121)
   {
    //형변환
    cout << "●" << "\t";
   }

   else
   {
    cout << num[i] << "\t";
   }



   //5개 마다 한칸씩 내려주기
   if ((i + 1) % 10 == 0)
   {
    cout << "\n\n" << endl;
   }
  }

  cout << "돌을 놓을 위치를 입력해라 : ";

  //

  if (turn % 2 == 0)
  {
   cin >> input2;
  }

  if (turn % 2 == 1)
  {
   cin >> input;
  }


  if (input > 100)
  {
   cout << "다시 눌러라" << endl;
   Sleep(500);
   continue;
  }

  for (int i = 0; i < 100; i++)
  {
   if (num[i] == input)
   {
    num[i] = 120;
   }

  }

  for (int i = 0; i < 100; i++)
  {

   if (num[i] == input2)
   {
    num[i] = 121;
   }
  }
   
  for (int i = 0; i < 100; i++)
  {
   if (num[i] == 120 && num[i + 1] == 120 && num[i + 2] == 120 && num[i + 3] == 120 && num[i + 4] == 120) // 가로
   {
    count++;
   }
   if (num[i] == 120 && num[i + 10] == 120 && num[i + 20] == 120 && num[i + 30] == 120 && num[i + 40] == 120) // 세로
   {
    count++;
   }

   if (num[i] == 120 && num[i + 11] == 120 && num[i + 22] == 120 && num[i + 33] == 120 && num[i + 44] == 120) // 왼오 가로
   {
    count++;
   }

   if (num[i] == 120 && num[i + 9] == 120 && num[i + 18] == 120 && num[i + 27] == 120 && num[i + 36] == 120) // 오왼 가로
   {
    count++;
   }
  }
 
  
  
  
  
  
  turn++;

  if (count == 1)
  {
   cout << "흑돌 오목 성공" << endl;
   Sleep(2000);
   break;
  }

  if (count2 == 1)
  {
   cout << "백돌 오목 성공" << endl;
   Sleep(2000);
   break;
  }
 }
}


mainGame::~mainGame()
{
}