小菜鸟一枚 发表于 2020-2-19 16:58

再来一枚简单的CM,欢迎大家回帖交流!

亲爱的坛友们:
我这只小菜鸟又回来了,昨天的CM被你们破了:https://www.52pojie.cn/thread-1109222-1-1.html

我觉得上一个CM,程序都在一个cpp文件里面,是我设计上的缺陷,于今日苦思冥想,把这些天学习的C++知识都用上了,
,分为了好几个.cpp文件,又弄出了一个CM,还是C语言和C++混着用,vs 2010编译器编写的,欢迎坛友们再来分析交流!

前言:病毒日渐肆掠,现在在农村都戒严了,天天查体温,不能出去了,遂写此CM,期待战胜疫情。

游戏规则:
你输入1,2,3,4来应对病毒,措施对了,病毒数量消灭一个,如果输入错了,生命值-1,病毒数量+1。
提醒:不要修改游戏数据哈,我做了一个messageBOX弹窗会提醒你的!
胜利:boss生命值为0,且你的生命值不为0。

CM下载地址:

破解成功:游戏胜利得到解压密码,成功解压源码压缩包!
源码下载地址:https://www.lanzouj.com/i9hl9cd
欢迎回帖分析交流,大佬可以尝试追算法!!!

PS:源代码比较乱,但是都有注释,不许笑我哈,才接触编程没两个月,断断续续自学的点c语言和c++知识都用上了!

涛之雨 发表于 2020-2-19 17:56

int sub_401100()
{
int v0; // eax
int result; // eax
bool v2; // zf
int choice; //

v0 = sub_4012C0(std::cout, "请输入你的抗击病毒选择:");
std::basic_ostream<char,std::char_traits<char>>::operator<<(v0, std::endl);
std::basic_istream<char,std::char_traits<char>>::operator>>(std::cin, &choice);
result = choice - 1;
if ( (choice - 1) > 3 )
    return result;
result = anti_blood;
if ( choice - 1 != anti_blood % 4 )//正确的选项
{
    if ( my_blood == my_blood_cheek )
      --my_blood;
    if ( anti_blood != anti_blood_cheek )
      goto LABEL_10;
    result = anti_blood + 1;
    goto LABEL_9;
}
if ( anti_blood == anti_blood_cheek )
{
    result = anti_blood - 1;
LABEL_9:
    anti_blood = result;
}
LABEL_10:
v2 = result == 0;
if ( result < 0 )
{
    MessageBoxW(0, &Text, &Caption, 0);
    result = anti_blood;
    v2 = anti_blood == 0;
}
if ( v2 && anti_blood_cheek == 1 )
    return printf("%d%d解压密码是", 0, 1);
if ( (my_blood - 1) <= 2 )
{
    anti_blood_cheek = result;
    my_blood_cheek = my_blood;
    system("cls");
    printf("====================《抗击疫情》游戏====================\n");
    printf("游戏介绍");
    result = sub_401000();//打印游戏界面
}
return result;
}
大概重命名了一下变量,正确答案反正是求4的模
还是ce最快233333

涛之雨 发表于 2020-2-19 17:38

本帖最后由 涛之雨 于 2020-2-19 17:40 编辑

改数据路过。截个图打个码

接着去看看怎么搞个算法23333

crack5 发表于 2020-2-19 17:43

01pojie1432顺序

海细123 发表于 2020-2-19 17:44

感谢分享。

小菜鸟一枚 发表于 2020-2-19 17:45

crack5 发表于 2020-2-19 17:43
01pojie1432顺序

厉害厉害,欢迎分析交流!{:1_893:}

上将无双 发表于 2020-2-19 17:49

14321432....1432循环五次
方法:反 复 尝 试{:1_918:}

chaizy1 发表于 2020-2-19 18:08


感谢分享

roders 发表于 2020-2-19 18:16

谢谢分享

玖公子 发表于 2020-2-19 18:21

上将无双 发表于 2020-2-19 17:49
14321432....1432循环五次
方法:反 复 尝 试

厉害了,是个游戏高手,直接通关了!{:301_974:}
页: [1] 2
查看完整版本: 再来一枚简单的CM,欢迎大家回帖交流!