하이 로우 세븐 게임



int main()
{
srand(time(NULL));

int choice = 0;
cout << "게임을 선택 하세요" << endl;
cout << "1. 하이로우7" << endl;
cout << "2. 하이로우7(함수 사용)" << endl;
cin >> choice;



cout << endl << "1. 하이로우7 시작 합니다.----------------------------------------" << endl;
int count = 0; //게임 횟수
int bet = 0; //베팅 금액
int highlow = 0;
int money = 10000; //초기 소지금

int card[52];
for (int i = 0; i < 52; i++) card[i] = i; //52장 카드 만들기

for (int i = 0; i < 10000; i++) //카드 섞기
{
int index1 = rand() % 52;
int index2 = rand() % 52;
int temp;
temp = card[index1];
card[index1] = card[index2];
card[index2] = temp;
}

while (true) //무한반복
{
cout << endl << count + 1 << "회차" << endl;
cout << "소지금: " << money << endl;
if (money < 100) //파산 예외 처리
{
cout << "error. 소지금이 100원 이하 입니다. 파산하였습니다. ㅠㅠ" << endl;
break;
}

for (int i = count; i < 6 + count; i++) //다섯장을 오픈 + 1장 나중 오픈
{

if (i == count + 5)//6번째 카드 히든 + 배팅
{
cout << endl << "1. bet on High" << endl << "2. bet on Seven" << endl << "3. bet on Low" << endl;
cin >> highlow;
if (highlow == 1 || highlow == 2 || highlow == 3) //베팅 넘버 예외처리
{
cout << "금액 배팅 하세요 (베팅 가능 범위: 100 ~ 소지금): ";
cin >> bet;
if (bet < 100 || bet > money)  //베팅 금액 예외처리
{
cout << "error. 잘못된 입력입니다." << endl;
count--;
break;
}
}
else
{
cout << "error. 1,2,3 중 하나를 입력 하세요" << endl;
count--;
break;
}
}

switch (card[i] / 13) //카드 모양 만들기 + 모양 출력
{
case 0: //♠
cout << "♠";
break;
case 1: //◆
cout << "◆";
break;
case 2: //♥
cout << "♥";
break;
case 3: //♣
cout << "♣";
break;
}

switch (card[i] % 13) //카드 숫자 만들기 + 숫자 출력
{
case 0: //K
cout << "K\t";
break;
case 1: //A
cout << "A\t";
break;
case 11: //J
cout << "J\t";
break;
case 12: //Q
cout << "Q\t";
break;
default: //숫자
cout << (card[i] % 13) << "\t";
break;
}

if (i == count + 5) //여섯째 카드 승패 처리
{
int result = card[i] % 13; //card[4] > card[5]
if (result == 0) result = 13;
switch (highlow)
{
case 1: //high 에 걸었을 떄
if (result > 7)
{
cout << "이겼습니다." << endl;
money += bet;
}
else //패배
{
cout << "틀렸습니다." << endl;
money -= bet;
}
break;
case 2: //7에 걸었을 때
if (result == 7)
{
cout << "777 젝팟!!" << endl;
money = money + bet * 13;
}
else
{
cout << "틀렸습니다." << endl;
money -= bet;
}
break;
case 3: //low에 걸었을 때
if (result < 7)
{
cout << "이겼습니다." << endl;
money += bet;
}
else //패배
{
cout << "틀렸습니다." << endl;
money -= bet;
}
break;
}//end of switch (highlow)
}
}// end of for (int i = count; i < 5; i++)
count++;

if (count > 46)
{
cout << endl << "카드를 모두 소진 하였습니다." << endl;
cout << "게임 종료" << endl << endl;
break;
}
}//end of while (true)
}//1.기존 하이로우7

댓글