【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队:洛谷813622(Igallta) 989571(_ayaka_)

Mod:_ayaka_

双人模式:Igallta

公告:

原先的9.8改名为 Alpha 1.0,以后每次更新都增加 0.1。
Alpha 1.11 改为 Beta 1.0。
手铐机制:朝自己开枪也算一个回合,例如:

上手铐+朝自己开枪 -> 朝对面开枪 -> 对面回合

Data:

Data 9.3:新增设定:对方死了之后对方的手铐也会解掉。
Data Alpha 1.1 :为防止有人钻牛角尖,大部分改为 string 类型。
Data Alpha 1.2 :为防止有些人数道具是第几号数大脑过载数晕过去了,显示道具时会增加编号。
Data Alpha 1.3 :不能命名为上帝、God…不然就会&%#@&)DHD*#。
Data Alpha 1.4 :游戏结束后并不会立刻窗口结束,而是会等三秒后按任意键结束。
Data Alpha 1.5 :增加等待时间,让你反应过来(原来只有 100ms,现在改为 500ms)。
Data Alpha 1.6 :缩短代码长度,没错,仅此而已。
Data Alpha 1.7 :增加如果射出的是实弹那么窗口就会抖动、每次获得的道具从固定4个改为 1~4 随机。以及优化游玩体验。
Data Alpha 1.8 :经讨论,认为道具设置为 1~5 个/次更为合适。
Data Alpha 1.9 :优化玩家体验。
Data Alpha 1.10 :修复关于输入无限循环的 bug。
Data Beta 1.0 :删除死亡后手铐解除的机制。
Data Beta 1.1 :修复在开发手铐时不小心让p1直接获得12个手铐的bug(汗),优化玩家体验。
Date Beta 1.2:大大缩短代码长度(目前有 bug 无法游玩)

/*
作者:洛谷813622、989571 csdn:luogu_Igallta
严禁搬迁
这个版本是Beta 1.1版本
*/
#include<bits/stdc++.h>
#include<windows.h>
#define clr system("cls")
#define int long long
using namespace std;
string dj[] = {
   
   "放大镜", "华子", "小刀", "饮料", "手铐"}, zd[] = {
   
   "空弹", "实弹"}, pl1, pl2;
bool is1 = 1, sk, zs; //sk:手铐 zs:打自己
int yu, kb, sd, b1 = 2, win1,win2,b2 = 2, ls = 1, hit = 1, mxb = 2, jl; //jl:记录被挂手铐后局数
vector<int>dj1, dj2;
queue<int>g;//枪械装弹
inline void dist(int atime, int st = 20) {
   
   
    int shake_distance = 10, x, y, width, height;
    int counts = atime / st / 2;
    RECT rect;
    HWND window = NULL, oldwindow = NULL;
    for (int i = 1; i <= counts; i++) {
   
   
        window = GetForegroundWindow();
        if (window != oldwindow) {
   
   
            GetWindowRect(window, &rect);
            x = rect.left;
            y = rect.top;
            width = rect.right - x;
            height = rect.bottom - y;
            oldwindow = window;
        }
        MoveWindow(window, x - shake_distance, y, width, height, TRUE);
        Sleep(st);
        MoveWindow(window, x + shake_distance, y, width, height, TRUE);
        Sleep(st);
    }
}
inline void split() {
   
   
    clr;
    int shake_time = 20, shake_distance = 10, x, y, width, height;
    RECT rect;
    HWND window = NULL, oldwindow = NULL;
    clr;
    for (int i = 1; i <= 300; i++) {
   
   
        window = GetForegroundWindow();
        if (window != oldwindow) {
   
   
            GetWindowRect(window, &rect);
            x = rect.left;
            y = rect.top;
            width = rect.right - x;
            height = rect.bottom - y;
            oldwindow = window;
        }
        MoveWindow(window, x - shake_distance, y, width, height, TRUE);
        Sleep(shake_time);
        MoveWindow(window, x + shake_distance, y, width, height, TRUE);
        Sleep(shake_time);
        if (i == 1)cout << "你";
        else if (i == 20)cout << "怎";
        else if (i == 40)cout << "么";
        else if (i == 60)cout << "这";
        else if (i == 80)cout << "么";
        else if (i == 100)cout << "不";
        else if (i == 120)cout << "听";
        else if (i == 140)cout << "话";
        else if (i == 160)cout << "呢";
        else if (i == 170)cout << "?";
        else if (i == 180)cout << "你";
        else if (i == 200)cout << "让";
        else if (i == 220)cout << "我";
        else if (i == 240)cout << "要";
        else if (i == 260)cout << "消";
        else if (i == 280)cout << "失";
        else if (i == 300)cout << "了";
    }
    int t = 250;
    while (t--) {
   
   
        cout << "ERROR ";
        Sleep(3);
    }
    t = 20;
    while (t--)system("start cmd");
    t = 20;
    while (t--) {
   
   
        MessageBox(NULL, "E
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值