グーチョキパーに数値を割り当てて比較するだけ。
実行結果
じゃんけん! 0:グー 1:チョキ 2:パー
数値を入力 -> 3
もう一度数を入力 ->2
player ->パー
CPU ->パー
引き分け
ソースコード
#include <iostream>
#include <time.h>
#include <vector>
int main() {
int player;
std::cout << "じゃんけん! 0:グー 1:チョキ 2:パー " << std::endl;
std::cout << "数値を入力 -> ";
while (1) {
std::cin >> player;
if ((std::cin.good() != 0) && player >= 0 && player < 3) {
break;
}
std::cin.clear();
std::cin.ignore(256, '\n');
std::cout << "もう一度数を入力 ->";
}
std::cout << std::endl;;
const int N = 3;
int r;
srand((int)time(0));
int cpu = rand() % N;
if (player == cpu) {
r = 0;
}
else if (
player == 0 && cpu == 1 ||
player == 1 && cpu == 2 ||
player == 2 && cpu == 0
) {
r = 1;
}
else {
r = 2;
}
std::cout << "player ->";
if (player == 0) {
std::cout << "グー" << std::endl;
}
else if (player == 1) {
std::cout << "チョキ" << std::endl;;
}
else if (player == 2) {
std::cout << "パー" << std::endl;;
}
std::cout << "CPU ->";
if (cpu == 0) {
std::cout << "グー" << std::endl;;
}
else if (cpu == 1) {
std::cout << "チョキ" << std::endl;;
}
else if (cpu == 2) {
std::cout << "パー" << std::endl;;
}
std::cout << std::endl;;
if (r == 0) {
std::cout << "引き分け";
}
else if (r == 1) {
std::cout << "あなたの勝ち";
}
else {
std::cout << "あなたの負け";
}
return(0);
}
コメント