Sleeping war(睡觉战争)

THE SLEEPING WAR

​
#include <bits/stdc++.h>
using namespace std;
bool start;
bool a, b, x, y, z, X, Y, Z, u, t, q, T, Q, B, A, end;
int l, r;
int cq (int l, int r) {
	if (l == 1 && r == 3) return 1;
	else if (l == 2 && r == 1) return 1;
	else if (l == 3 && r == 2) return 1;
	else if (r == 1 && l == 3) return 0;
	else if (r == 3 && l == 2) return 0;
	else if (r == 2 && l == 1) return 0;
	else if (r == l) return 2;
}
void f1 () {
	if (a == 0 && !t) {
		cout << "你打开了门\n";
		a = 1;
	} else if (a == 1 && t == 0) {
		cout << "你进入了房间\n";
		t = 1;
	} else if (a == 1 && t == 1 && T == 0) {
		cout << "你关上了房门\n";
		a = 0;
	} else if (!a && t && !T && !A) {
		cout << "你躺上了床\n";
		A = 1;
	} else if (a == 1 && T == 0 && A) {
		cout << "你下床了\n";
		A = 0;
	} else if (T == 1 && t == 1) {
		cout << "你驱逐了Mike\n";
		T = 0;
	} else if (a == 0 && !T && A && t) {
		cout << "你闭上了眼睛\nYOU WIN!\n";
		end = 1;
	}
}
void f2 () {
	if (a == 0 && !T) {
		cout << "Mike打开了门\n";
		a = 1;
	} else if (a == 1 && T == 0) {
		cout << "Mike进入了房间\n";
		T = 1;
	} else if (a == 1 && T == 1 && t == 0) {
		cout << "Mike关上了房门\n";
		a = 0;
	} else if (!a && T && !t && !B) {
		cout << "Mike躺上了床\n";
		B = 1;
	} else if (a == 1 && t == 0 && B) {
		cout << "Mike下床了\n";
		B = 0;
	} else if (t == 1 && T == 1) {
		cout << "Mike驱逐了你\n";
		t = 0;
	} else if (a == 0 && !t && B && T) {
		cout << "Mike闭上了眼睛\nMIKE WIN!\n";
		end = 1;
	}
}
int main() {
	cout << setw(60) << "THE SLEEPING WAR\n";
	cout << "是否开启睡觉战争,是请输入1,否请输入0\n";
	while (cin >> start) {
		a = 0, b = 0, x = 0, y = 0, z = 0, X = 0, Y = 0, Z = 0, u = 0, t = 0, q = 0, T = 0, Q = 0, B = 0, A = 0, end = 0;
		while (end == 0) {
			cin >> l;
			r = rand() % 3 + 1;
			cout << r << endl;
			if (cq(l, r) == 2) {
				cout << "平局!\n";
				continue;
			}
			if (cq(l, r) == 1) {
				f2();
			}
			if (cq(l, r) == 0) {
				f1();
			}
		}
		cout << "是否开启睡觉战争,是请输入1,否请输入0\n";
	}
	return 0;
}

​

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值