본문 바로가기
공부

C++ 하이 로우 세븐 게임 연습

by MY블로그 2022. 10. 19.

코드가 생각보다 너무 길어졌습니다.

11,12,13 번의 카드를 알파벳 J , Q , K 으로 만드는데 실패했습니다.

#include <iostream>
#include <time.h>
using namespace std;

int main()
{
	srand(time(NULL));
	int card[52];
	int mymoney = 100000;
	int bet; //배팅 금액
	int select; //게임 진행여부
	int eselect; //게임끝에 진행 여부
	int count = 0; //게임 초기화

	for (int i = 0; i < 52; i++)
	{	
		card[i] = i % 13 + 1; //1 2 3 ... 13 1 2 3 ... 13 
	}
	for (int i = 0; i < 1000; i++) // 셔플
	{
		int sour = rand() % 52;
		int dest = rand() % 52;
		int temp = card[sour];
		card[sour] = card[dest];
		card[dest] = temp;
	}
	cout << "■ 하이 로우 세븐 게임 ■" << endl;
	while (true)
	{
		cout << endl;
		cout << "[ 현재 소지금 : " << mymoney << " ] " << endl;
		cout << "[ 카드공개 :    " << card[0 + count] << "     " << card[1 + count] << "     "
			<< card[2 + count] << "     " << card[3 + count] << "     " << card[4 + count] << "     " << " ??   ] " << endl;
		cout << "얼마를 배팅 하시겠 습니까?" << endl;
		cin >> bet;
		if (bet < 1000)
		{
			cout << "최소 배팅 금액은 1000 입니다." << endl;
			cout << endl;
			continue;
		}
		else if (bet > mymoney)
		{
			cout << "금액이 부족합니다.  " << mymoney << "  입니다." << endl;
			cout << endl;
			continue;
		}
		cout << "선택해 주세요 : 하이[ 1 ]  ●  로우[ 2 ]  ●  세븐[ 3 ]   " << endl;
		cin >> select;
		cout << "히든카드 : " << card[5+ count] << endl;

		if ((select==1) && ((card[5 + count]) > 7))
		{
			cout << "이겼습니다!  "<<"  +  " << bet << " !!! " << endl;
			mymoney+=bet;
			cout << endl;
		}
		else if ((select==1) && ((card[5 + count]) < 7))
		{
			cout << "졌습니다!  " << "  -  " << bet << " !!! " << endl;
			mymoney-=bet;
			cout << endl;
		}
		else if ((select == 1) && ((card[5 + count]) ==7))
		{
			cout << "히든카드가 세븐이었습니다!  " << "  -  " << bet << " !!! " << endl;
			mymoney -= bet;
			cout << endl;
		}
		else if ((select==2) && ((card[5 + count]) < 7))
		{
			cout << "이겼습니다!  " << "  +  " << bet << " !!! " << endl;
			mymoney+=bet;
			cout << endl;
		}
		else if ((select==2) && ((card[5 + count]) > 7))
		{
			cout << "졌습니다! " << "  -  " << bet << " !!! " << endl;
			mymoney-=bet;
			cout << endl;
		}
		else if ((select == 2) && ((card[5 + count]) == 7))
		{
			cout << "히든카드가 세븐이었습니다!  " << "  -  " << bet << " !!! " << endl;
			mymoney -= bet;
			cout << endl;
		}
		else if ((select==3) && ((card[5 + count]) == 7))
		{
			cout << "★ 세븐을 맞추셨습니다! 배팅금액7배! ★ " << "  +  " << bet*7 << " !!!!!!! " << endl;
			mymoney+=bet * 7;
			cout << endl;
		}
		else if ((select == 3) && ((card[5 + count]) != 7))
		{
			cout << "세븐이면 좋았을텐데~틀렸습니다.배팅금액의 2배를 잃었습니다! " << "  -  " << bet * 2 << " !!!!!!! " << endl;
			mymoney -= bet * 2;
			cout << endl;
		}

		if (select == 0)
		{
			cout << " 1 / 2 / 3 번으로만 선택해 주세요." << endl;
			cout << endl;
			continue;
		}
		else if (select > 3)
		{
			cout << " 1 / 2 / 3 번으로만 선택해 주세요." << endl;
			cout << endl;
			continue;
		}
		count += 6;
		int eselect = 0;
		if (mymoney < 1000 || count > 48)
		{
			cout << "게임이 끝났습니다. 새로운 게임을 진행 하시겠습니까? 예[ 1 ] / 아니오 [ 2 ]" << endl;
			cin >> eselect;
			cout << endl;
		}
		else if (eselect == 1)
		{
			cout << "새로운 게임을 진행 합니다." << endl;
			count == 0;
			mymoney += 10000;
		}
		else if (eselect == 2)
		{
			cout << "게임을 종료 합니다." << endl;
		}
	}

	system("pause");
	return 0;
}

'공부' 카테고리의 다른 글

숫자 슬라이드 퍼즐 게임  (0) 2022.10.23
아스키코드 참고자료  (0) 2022.10.20
DAY6 과제2.숫자야구게임  (0) 2022.10.17
DAY6 과제1.C++ 점찍기  (0) 2022.10.17
레지스트(registry)  (0) 2022.10.11

댓글