c++의 if()문을 이용한 정말 간단한 가위바위보 게임 입니다.
코드를 치기전에 먼저
어떤식으로 작동할지를 간단하게 생각해봅시다
1.사용자가 가위,바위,보 중에 어떤것을 낼지 입력해야합니다.
2.컴퓨터가 낼 값과 그의 결과값을 하나하나 입력해야합니다
위에처럼 아주 간단하게 생각할 수 있겠죠
이젠 코드를 보시죠
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
//사용자가 낼 수를 입력하기(가위or바위or보 중 택1)
string player;//플레이어 수를 저장함
cout << "무엇을 내시겠습니까? : \n";
cin >> player;
cout << "플레이어는 " << player << "를 냈습니다.\n";
string computer;//컴퓨터의 수를 저장함
cout << computer;
cin >> computer;
//컴퓨터의 낼 수와 사용자가 낼 수의 경우와 결과를 전부 입력후
if (player == "가위") {
if (computer == "바위") {
cout << "컴퓨터는 바위를 냈습니다.\n";
cout << "=============플레이어는 졌습니다.============";
}
else if (computer == "가위") {
cout << "컴퓨터는 가위를 냈습니다.\n";
cout << "=============플레이어는 비겼습니다.============";
}
else if (computer == "보") {
cout << "컴퓨터는 보를 냈습니다.\n";
cout << "=============플레이어는 이겼습니다.============";
}
}
else if (player == "바위") {
if (computer == "바위") {
cout << "컴퓨터는 바위를 냈습니다.\n";
cout << "=============플레이어는 비겼습니다.============";
}
else if (computer == "가위") {
cout << "컴퓨터는 가위를 냈습니다.\n";
cout << "=============플레이어는 이겼습니다.============";
}
else if (computer == "보") {
cout << "컴퓨터는 보를 냈습니다.\n";
cout << "=============플레이어는 졌습니다.============";
}
}
else if (player == "보") {
if (computer == "바위") {
cout << "컴퓨터는 바위를 냈습니다.\n";
cout << "=============플레이어는 이겼습니다.============";
}
else if (computer == "가위") {
cout << "컴퓨터는 가위를 냈습니다.\n";
cout << "=============플레이어는 졌습니다.============";
}
else if (computer == "보") {
cout << "컴퓨터는 보를 냈습니다.\n";
cout << "=============플레이어는 비겼습니다.============";
}
}
//사용자가 낼 수를 입력하면 컴퓨터의 수를 랜덤으로 출력해서 결과를 출력함
}
이렇게 간단하게 만들 수 있습니다
그냥 플레이어의 수를 입력하면
입력에 따라 컴퓨터가 낼 수와 승리,패배,비김을 출력하게 만드는것 입니다
별거 아니지만 이렇게 어떻게 짤지 생각해보고 집접 코드를 짜보는 습관이 중요한거 같아요
=====================추가========================
이번엔 if,switch,while를 다 활용해서 써 보겠습니다
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
int player, ai;
string a;//플레이의 선택한 수를 문자로 보여주기 위함
while (true)
{
cout << "0. 가위" << endl;
a = "가위";
cout << "1. 바위" << endl;
a = "바위";
cout << "2. 보" << endl;
a = "보";
cout << "4. 종료" << endl;
cout << "선택 하시오" << endl;
cin >> player;
switch (player)
{
case 0:
cout << "플레이어 >> 가위" << endl;
break;
case 1:
cout << "플레이어 >> 바위" << endl;
break;
case 2:
cout << "플레이어 >> 보" << endl;
break;
}
if (player < 1 || player > 4) // 1~4번 외 다른 입력을 했을 경우
{
cout << "잘못 입력 했습니다." << endl;
system("pause");//일지정지
continue; //반복문의 시작점으로 이동 시켜주는 기능
}
else if (player == 4)
{
break;//반복문에서 빠져나감 즉 종료
}
ai = rand() % 3;//로봇이 선택한 수
switch (ai)
{
case 0:
cout << "컴퓨터 >> 가위" << endl;
break;
case 1:
cout << "컴퓨터 >> 바위" << endl;
break;
case 2:
cout << "컴퓨터 >> 보" << endl;
break;
}
int win = player - ai;
if (win == 1 || win == -2) //플레이어의 값과 컴퓨터의 값을 뻈을떄 1이나 -2가 나왔을 경우 플레이어 승리
cout << "player 승리!" << endl;
else if (win == 0) //플레이어의 값과 컴퓨터의 값을 뻈을떄 0이 나왔을 경우 플레이어 승리
cout << "비겼음!" << endl;
else //0 ~ -2 외에 값이 나왔을 경우 ai 승리
cout << "ai 승리!" << endl;
//예) 플레이어가 1(바위)냈을떄 ai가 1를 냈다고 하면 1-1 이니까 결과값은 0이고 0의 조건 결과값인 비겼음이 출력됨
//예) 플레이어가 1(바위)냈을떄 ai가 2를 냈다고 하면 1-2 이니까 결과값은 -1이고 -1은 else의 조건 결과값인 ai승리가 출력됨
//예) 플레이어가 1(바위)냈을떄 ai가 0를 냈다고 하면 1-0 이니까 결과값은 1이고 1의 조건 결과값인 플레이어 승리가 출력됨
system("pause");
}
}
'c++ 공부기록' 카테고리의 다른 글
c++ 로또 만들기(배열) (0) | 2019.12.01 |
---|---|
c++ 야구게임 만들기(따라만들기)(배열이용) (0) | 2019.12.01 |
c++ 반복문의 꽃 별찍기 연습(피라미드,다이아) (0) | 2019.11.30 |
c++ 간단한 구구단 만들기(이중 반복문) (0) | 2019.11.28 |
0.입출력 기초 (0) | 2019.11.18 |