• 个人简介

    int上限:

      ___  __ _  _ ______ _  _   ___ ____    __ _  _ ______ 
     |__ \/_ | || |____  | || | / _ \___ \  / /| || |____  |
        ) || | || |_  / /| || || (_) |__) |/ /_| || |_  / / 
       / / | |__   _|/ / |__   _> _ <|__ <| '_ \__   _|/ /  
      / /_ | |  | | / /     | || (_) |__) | (_) | | | / /   
     |____||_|  |_|/_/      |_| \___/____/ \___/  |_|/_/    
                                                            
                                                            
    

    哲学:

    1:只要话语不带主语,别人就很难知道你想说什么……

    2:选择自由,当然,其实并没有那么自由就是了,给你选择A、B,但是你又没有选择C的机会。

    3:听说有些人会进行控分的操作,将自己隐藏于大众之中,不显山,不显水。

    4:其做出了决断,可是代价却不由其自己承担,那么,结果会如何呢?

    5:如果你难以表达全部的内容,可能只是因为你还没有想明白要具体表达什么。

    6:固定,永恒的存在于此处,形态却万变,这是什么? 其乃思维。

    7:你只可以到此,不可逾越。 此望存边界,阻隔断吾侪。

    8:唯偏见常存。 己好非其所愿,故怨。

    9:美景只消如此见,纵使万物焚作灰。

    10:吾亦纵若美 尚焚弃可景 亦于置得永 求焱万见不 之焰物影现(美景永不现)

    11:我们难以想象未曾见过,听闻过的事物,神明百面,所谓的信仰也是基于自身所见闻而因此为设定。我们难以构造出未存在的事物,因此有这样的一个故事:一个画家为了画出未曾见过的事物,费劲一生,在其临终前,终于实现了愿望,画出了未曾见过的事物,可是,在 其他人收拾其遗物时,却发现上面画的却是空空如也。但是,美一直存在,当你看到美时,你仍然会因此感到震撼,而惊叹到:啊,这就是美,这太美了!这是为什么呢?而为什么见得越多,越对于美而钝感?

    12:我们是是需要那一瞬间的美感而将自己触动吗?越年轻越加对于各种事物抱有新奇,越觉得万物真是美好,因为并不视为万物为寻常。当其寻常的存在于此地时,其却只能感到:哦,其不过如此,不足为道来。因此,有的人为了单纯的追求感官刺激,不过我来这里有一种看法:我们的世界如此的宏大,可是相同的事物却占据了生活的绝大部分,我们应该去创造,创造新生的事 物,得到独属于自己的,美好的事物,不断地得到,那一瞬间的,美感。

    13:故为了自己期望的美付出一切,在某些人看来,也是值得的。这火焰亦是,闪烁着艺术的狂欢。

    文学:

    诗词:

    1.十年生死两茫茫,写程序,到天亮。 千行代码,BUG何处藏。 每天都出小BUG,日日改,夜夜忙。 每晚灯火阑珊处,信奥人,编程狂。 广搜别枝惊鹊,深搜半夜鸣蝉。 稻花香里说DP,听取WA声一片。七八个TLE天外,两三点MLE山前。旧时RE社林边,路转AC忽见。

    2.唧唧复唧唧,木兰开飞机, 开的什么机?波音747!问女何所思,问女何所忆。女亦有所思,没钱买飞机。昨夜见军帖,要用轰炸机,飞机十二架,架架买不起。阿爷无大钱,木兰无金银,愿去买钢铁,从此造飞机。东市买图纸,西市买螺丝,南市买玻璃,北市买铁皮。旦辞爷娘去,暮宿旧机库,不闻爹娘唤女声,但闻铁皮摩擦滋啦声。旦辞机库去,暮至军营旁,不闻爹娘唤女声,但闻将军大呼哈哈哈。万里开飞机,关山一下没。热气传机翼,日光照玻璃。将军被吓死,壮士魂已飞。飞来撞天子,天子躺病床。策勋十二转,赏赐俩耳光。可汗问所欲,木兰不愿进牢房;愿开747,飞着回故乡。爹娘闻女来,端起机关枪;阿姊闻妹来,当户举手枪;小弟闻姊来,磨刀霍霍向爹娘。开我机舱门,进我飞机舱,脱我战时袍,换上飞行装, 多装手榴弹,对外架机枪。出门埋炸弹,亲友皆惊忙:离别十二年,不知木兰变猖狂。疯子脚蹬地,呆子眼紧闭,两人并排走,谁能说我不正常?

    3.暴力出奇迹,骗分过样例。数学先打表,DP看运气。穷举TLE,递推UKE。模拟MLE,贪心还CE。想要骗到分,就要有方法。图论背模板,数论背公式。动规背方程,高精背代码。如果都没背,干脆输样例。模拟定想全,动规定找对。贪心定证明,二分L M+1。宜考NOIP, 小心别爆零。 4.有朋自远方来,虽远必诛。

    5.刷题是一种出路,枚举是一种思想。打表是一种勇气,搜索是一种信仰。剪枝是一种精神,骗分是一种日常。爆零是一种宿命,WA是一种绝望。TLE是一种痛苦,RE是一种放弃。UKE是一种无奈,AC是一种原谅。AK是一种幻想,弃赛是一种颓废。吊打是一种必然,进队是一种奢望。模拟只会猜题意,贪心只能过样例。数学上来先打表,DP一般看规律。组合数学靠运气,计算几何瞎暴力。图论强行套模板,数论只会GCD。递归递推伤不起,搜索茫然TLE。分治做得像枚举,暴力枚举数第一。数据结构干瞪眼,怒刷水题找信心。涨姿势也不容易,考试一来全懵逼

    6.各种老师一回头(1) 语文老师一回头, 鲁迅甘为孺子牛;数学老师一回头, 六元六次都能求;英语老师一回头, 满口洋文跑地球;物理老师一回头, 一根杠杆撬地球;化学老师一回头, 二氧化碳变汽油;劳动老师一回头, 破铜烂铁来走秀;体育老师一回头, 黛玉也能踢足球;政治老师一回头, 全班同学都梦游;美术老师一回头, 蒙娜丽莎也风流;信息老师一回头, c++题目真上头。

    各种老师一回头(2) 语文老师一回头,此地空余黄鹤楼。数学老师一回头,二次函数对称轴。英语老师一回头,sorry加上三克油。化学老师一回头,二氧化碳变汽油。物理老师一回头,一根杠杆撬地球。生物老师一回头,试管婴儿水中游。地理老师一回头,大陆版块乱漂流。劳技老师一回头,破铜烂铁来走秀。政治老师一回头,布什改行卖豆油。美术老师一回头,蒙娜丽莎也风流。体育老师一回头,奥运取消打篮球。电脑老师一回头,学生全成阿Q友。全体老师一回头,世界人民没自由。

    7.老骥伏枥,志在千里。横扫饥饿,做回自己。

    8.仰天大笑出门去,归来倚杖自叹息。

    9.垂死病中惊坐起,笑问客从何处来。

    10.十年生死两茫茫,喜羊羊与灰太狼。

    11.远赴人间惊鸿宴,鬼刀一开看不见。

    12.男儿当自强,对镜贴花黄。

    13.一朝被蛇咬,处处闻啼鸟。 枯藤老树昏鸦,上班摸鱼回家!

    14.读书破万卷,卷卷有爷名。

    15.情不知所起,一往情深,再而衰,三而竭。

    16.天堂有路你不走,学海无涯苦作舟。

    17.少小离家老大回,安能辨我是雄雌。

    18.巴山楚水凄凉地,蜜雪冰城甜蜜蜜。

    19.吾辈男儿当自强,吃个桃桃好凉凉。

    20.京中有善口 J 者,从此君王不早朝。

    21.班长说:走,我们去炸了学校。副班长说:这个主意不错。化学课代表负责提取氢气。物理课代表负责拼装氢弹。数学课代表负责计算爆破面积。地理课代表负责策划爆破地点。历史课代表负责记录光辉场面。生物课代表负责事后生态环境。政治课代表负责使用法律打官司。语文课代表负责乱写文章推卸责任。英语课代表负责到外国购买进口材料。体育课代表负责屠杀XXX

    故事: 1: 洛谷新手村外,一个OIer开设的机房里,程序员kkk端坐在桌后。他头也不抬,冷冷地问:“你叫什么名字?”

    “QAQ__"

    “年龄?”

    “**岁。”

    “什么错误?”

    “TLE。”

    kkk程序员站起身熟练地打开病人的代码。他愣住了,蓝色的眼睛里闪出惊疑的神情。他重新审视着眼前这个人,冷冷地问:“你的洛谷名是什么颜色的?”

    “棕色。”

    “你是红名!”kkk程序员一针见血地说, “我当过管理员 (其实现在也是),这么多的代码,只有红名大佬才写的出来!”

    病人微微一笑,说:“kkk程序员,你说我是红名,我就是红名吧。”

    kkk程序员的目光柔和了,他吩咐同事:“准备改BUG。”

    kkk程序员正在换工作服,同事跑来,低声告诉他病人拒绝使用O2优化。

    kkk程序员的眉毛扬了起来,他走进机房,生气地说:“年轻人,在这儿要听程序员的指挥!”

    病人平静地回答:“kkk程序员,O2优化离头文件太近,我担心施行O2优化会影响头文件。而我,今后需要一个非常好用的头文件!”

    kkk程序员再一次愣住了,竟有点口吃地说:“你,你能忍受吗?你的程序需要加上无数个剪枝,把原先的代码和你改的代码全部删掉!”

    “试试看吧。”

    电脑前,一向从容镇定的kkk程序员,这次双手却有些颤抖,他额上汗珠滚滚,同事帮他擦了一次又一次。最后他忍不住开口对病人说:“你挺不住可以哼叫。”

    病人一声不吭,双手紧紧抓住身下的白床单,手背青筋暴起,汗如雨下。他越来越使劲,崭新的白床单居然被抓破了。(注:原因是因为不愿意看到自己的代码被改) 脱去工作服的kkk程序员擦着汗走过来,由衷地说:“年轻人,我真担心你会WA过去。”

    病人脸色苍白。他勉强一笑,说:“我一直在数你的改的行数。”

    kkk程序员吓了一跳,不相信地问:“我改了多少行?”

    “2^6行。”

    kkk程序员惊呆了,大声嚷道:“你是一个真正的OIer,一个会写代码的神犇!你堪称管理员!”

    “你过奖了。”

    kkk程序员的脸上浮出慈祥的神情。他想说什么又忍住了,挥手让同事出去,然后关上机房的门,注视着病人,说:“告诉我,你的真名叫什么?”

    “高宇辰。”

    kkk程序员肃然起敬:“啊,AK IOI的神犇,久仰久仰,认识你很荣幸。”

    高宇辰友好地把手伸了过去。

    2: kouyiteng从十二岁起,便在洛谷的蒟蒻餐厅里当伙计,kkk说,样子太傻,怕侍候不了专职开发,就在外面做点事罢。 外面的翻译管理,虽然容易说话,但唠唠叨叨缠夹不清的也很不少。 他们往往要亲眼看着一个字一个字审核过,看过到底是不是机翻,又亲看将确认翻译按下,然后放心: 在这严重监督下,摸鱼也很为难。所以过了几天,kkk又说我干不了这事。 幸亏darkflames的情面大,辞退不得,便改为专管犇犇的一种无聊职务了。 我从此便整天的坐在电脑前,专管我的职务。虽然没有什么失职,但总觉得有些单调,有些无聊。 kkk是一副凶面孔,darkflames也没有好声气,教人活泼不得;只有陈乙己到店,才可以笑几声,所以至今还记得。 陈乙己是站着打比赛而AK的唯一的人。他身材很粗壮;稚气面孔,双眼里时常放出聪颖的光。 因为他姓陈,别人便从描红纸上的“上巨佬陈乙己”这半懂不懂的话里,替他取下一个绰号,叫做陈乙己。 陈乙己一到店,所有打比赛的人便都看着他笑,有的叫道:“陈乙己,你又AC了一道紫题!” 他不回答,对柜里说,“两道IOI2018,要一打省选+。”便排出戴尔ALIENWARE。 他们又故意的高声嚷道:“che_zheAKIOI!”陈乙己睁大眼睛说:“你怎么这样凭空污人清白……” “什么清白?我前天亲眼见你半个小时写完IOI,把其他人吊着打。” 陈乙己便涨红了脸,额上的青筋条条绽出,争辩道:“写完不能算我AK……我菜!……初学者的事,能算AK么?” 接连便是难懂的话,什么“比赛真难”,什么“蒟蒻”之类,引得众人都哄笑起来:店内外都充满了快活的空气

    3: Summer和Winter的战争——刘宇豪 著

    S和W的决裂1.0——核弹攻击! 公元6666年8月,Summer联盟对Winter联盟展开挑衅,公元6666年10月Summer依然难以攻破Winter。双方的战争在此时开始停歇,大家都想让士兵休息一下。10月,Summer联盟宣布暂时停战,Winter联盟也表示,如果Summer再次发动冲锋,Winter联盟将全面与Summer宣战。

    已经年过六旬的HF感到十分急躁,他一生攻占别的星球时,无论大小,都没有能过抵挡的。之前乘风破浪的战争与现在的持久战形成了巨大的反差。HF也明显地感到,手下的将士们也开始有退却的意思。之前大量的战士以血肉之躯换来的——似乎是一场空。HF开始恐惧,他害怕一个个手下将士都死去。May,June,July这三个英勇的将士陪伴着HF走了多少岁月,但是May已经死了,他死的时候说:“不要再打下去了,我们会输的!” 可是晚年的HF更害怕的是失败,所以,他作出了一个重大的决定:将Summer威力最大的三颗核弹中的一颗投向前方战场。这个决定会是正确还是错误的,等待时间来验证吧!

    虽然这颗核弹的威力巨大,但是对于巨大的Winter联盟,这颗核弹还是不能够完全覆盖住整个Winter。HF决定攻击敌人的能量供给区:Winter的能量网络。

    正坐在总指挥室的HF忽然想起了什么,他的军事才能好像在警告他。核弹操作室里……“现在发射吗?”设计师因紧张而发红的脸转向Summer联盟副指挥MJJ。“攻击吧!”MJJ握紧了拳头,“打掉他们的能源。”设计师颤抖的手伸向了那个标着“请慎按”的按钮,“等等!”HF冲进了核弹操作室,“也许现在还不是最好的时候,再等等吧!” 到底HF这个在军事天才是延误了战机还是拯救了自己?

    S和W的决裂2.0—时空炸弹! 但是,命运之神是不会偏向任何一方的。正在烦恼的人不止是HF一个,Winter联盟的PL也同样在烦恼,他们打到现在也是一场空。是的,刚刚打完一场激烈的战斗,现在又要和Summer进行一次激战,这实在是令人头疼。但是,战争已是弦上之箭,不得不发了。 既然上次战争是时空炸弹开头的,这次PL也决定用时空炸弹作开场白。“让他们看看,大量的时空炸弹有多么豪华的攻击力吧!”

    “敌人来了吗?”Winter联盟将军们窃窃私语。“不,但快了。”Winter来联盟被誉奇才的副指挥官December看着手上那张古老的蓝色星云的图片,既像是在回答将军们的问题,又像在自言自语。

    突然……

    远处许多道巨大的紫光升起,”该死的!我们中计了,这群家伙居然准备了”裂空“12.0!”December赶紧命令士兵开炮,并用时空炸弹进行反击。

    突然,S军团开始撤离。“不会这么简单吧” December默默地在心中说。“不好!”November惊叫道。在他们的后方……

    S的胜利1.0,偷袭——真假,核导弹”裂空“12.0! 就在刚才几小时之前—— HF一反往常。

    “为什么命令他们撤退?”联盟副指挥MJJ大声问道。HF沉默不语,走向导弹操控室。“是时候把这个老家伙亮出来了。”HF神秘地说道。MJJ带颤抖的声音说道:‘’你……确定?“这时,旁边的星际大将Apirl说到:”我同意。“ ”哼,的确,对于战争是有一定利益的。“MJJ若有所思地说,“但是……” ”你什么意思啊,你觉得我只会打仗吗?“还没等MJJ把话说完,Apirl就打断了,他显然有些生气。”好了,想旗开得胜就别在这里吵架!“一直默默不语的HF开口制止了争吵。

    在他们面前的,是一颗超重型导弹”裂空“12.0,虽然这不是Summer的最大的武器,顶多排在个中等上。但是,它代表着Summer整个星际国家。一旦被拦截或出现其他问题,后果不单是仅仅一场战争的失败,这关系到……

    就在这是,MJJ和HF互换了一下眼神,”你这个军事鬼才,哈哈哈。“MJJ笑道。原来,摆在面前的不是”裂空“12.0,而是一颗小型导弹”火焰“。火焰车佩服得说:”不愧是你啊,HF。“ ”让‘火焰’以’裂空‘的名义发射,既能让敌方放低警惕,还能解了当务之急。“HF胸有成竹地说道,”April,你是一名久经沙场的战士,你去雪花镇西边“东声”,我们负责“西击”。“ ”遵命,指挥官。“

    这时,在Winter的雪花城镇上,一场战争即将打响……

    S的胜利1.0,偷袭2——核导弹”裂空“12.0现世!

    “看来S已经弹尽粮绝了”PL说到,“连’裂空‘都不拿我们怎么样,S算个啥呀!”他命令December进攻S的AA城镇。“万一他们来进攻呢?” ”没事的,你的弟弟November能顶住,他们已经不行了。“

    S的办公室里,MJJ的声音传来:”你真是神了!HF!“,”过奖了。“,HF说到,”不调虎离山,怎得虎子?“,”不过,我们军营太缺你这样的人了。“MJJ又说。 ”哦,对了,是时候请我们的老狐狸出山了。“HF说完便去打电话。”我赞同。“MJJ望着HF说到。 电话里…… ”你好,老朋友,K6“,”你好啊,HF,最近战争打的怎么样啊?听说有些困难。“,”是的,所以我和MJJ决定请你’出山‘”,“哈哈,咱们想到一块去了,我已经往你那边走了。” “哦,那太好了,保重,K6。” “你也一样,HF。”

    “太好了!”HF和MJJ情不自禁地击起了掌。

    在雪花战场上,Apirl让导弹兵用导弹不停轰击敌人的星际城堡。“不行,这样我们早晚会死翘翘的。”November几乎用颤抖的声音说,“赶紧发求救信号!”还没等他说完,一道巨大的蓝光冲向W的碉堡,没错,这正是上次“火焰”轻型导弹的假名——超重型核导弹”裂空“12.0!

    W的崛起1.0

    ⚡超越一切震慑凡人⚡

    ⚡带来终结机械降神⚡

    ⚡风暴之力充满全身⚡

    ⚡最后一击核心共振⚡

    一首小诗摆在HF的桌子上……“师傅,您当年说的含义到底是啥啊?”HF自言自语。

    场景回到PL的办公室里,“HF你个S佬”PL生气地说。他已经连续打了2次败仗了,November战死,December被困,Janunury生死不知……“不可以失去更多将领了!”他警示自己。为了不失去December和Janunury,PL决定以攻为守,他召来自己身边唯一的大将——Snow,与他一起去解救December和Janunury。他发誓:”不顾一切代价接将领们回家!“

    有的时候,红温还是挺管用的,W军团连夺两城,救回两位大将,S的大炮轰来,W的战士们也毫不示弱往前冲,Snow拿起一把”鹰眼“激光枪向敌人扫射。

    ”我军伤亡人数“,”1人轻伤,长官。“,”敌方伤亡人数“,”15627人重伤,13人轻伤,4人战死,长官。“”果然,一切都在我的掌握之中……“HF神秘地笑了,”继续生产自主还击火炮‘流星雨’“。 ——————————————————————————————————————————————

    S的胜利1.0,偷袭——真假,核导弹”裂空“12.0! 几小时之前—— HF一反往常。

    “为什么命令他们撤退?”联盟副指挥MJJ大声问道。HF沉默不语,走向导弹操控室。“是时候把这个老家伙亮出来了。”FH神秘地说道。MJJ带颤抖的声音说道:‘’你……确定?“这时,旁边的星际大将Apirl说到:”我同意。“ ”哼,的确,对于战争是有一定利益的。“MJJ若有所思地说,“但是……” ”你什么意思啊,你觉得我只会打仗吗?“还没等MJJ把话说完,Apirl就打断了,他显然有些生气。”好了,想旗开得胜就别在这里吵架!“一直默默不语的HF开口制止了争吵。

    在他们面前的,是一颗超重型导弹”裂空“12.0,虽然这不是Summer的最大的武器,顶多排在个中等上。但是,它代表着Summer整个星际国家。一旦被拦截或出现其他问题,后果不单是仅仅一场战争的失败,这关系到……

    MJJ仔细地看着,就在这是,MJJ和HF互换了一下眼神,”你这个军事鬼才,哈哈哈。“MJJ笑道。原来,摆在面前的不是”裂空“12.0,而是一颗小型导弹”火焰“。火焰车佩服得说:”不愧是你啊,HF。“ ”让‘火焰’以’裂空‘的名义发射,既能让敌方放低警惕,还能解了当务之急。“HF胸有成竹地说道,”April,你是一名久经沙场的战士,你去雪花镇西边“东声”,我们负责“西击”。“ ”遵命,指挥官。“

    这时,在Winter的雪花城镇上,一场战争即将打响…… ——————————————————————————————————————————————

    雪花镇大激战

    “April,计划如何?”June的声音从帐篷里传来,April眉头紧皱,好不容易才挤出两个字:“一般。”,“遇到什么困难了?”。

    在他们的桌子上,一张立体地图平铺在上面——

    |————————————————————————————
    |# . . .  . # . . .   . ~~~~~s~~~~~~~~~~~~~~SSSSS SS....|
    |. . . \S S S\~~~~~~ . ~~~~~~~~~ # S S S S S S SS~~~~~~~|
    |~~~~~~~~~~~~~~~~~~~. .S\S\S . S . . .  .  S . -- SSSSSS|
    ————————————————————————————————————————|
    |W W W W . . .  ~ ~~~~~~~~~~ .   W     WW   .    W  ~~  .|
    |_____----- WW W {WW    /// }   WWW // SSS// WWW/// S ~~|
    ————————————————————————————	
    

    “你看,W的布阵其实是在对付我们的火箭炮。”April指着地图说道。“嗯,要不问问HF吧,他总有许多好点子!”June吞吞吐吐的说道。他说话的功夫,Aprile就跑过去打电话给HF了。 电话里—— “有什么事吗?” “嗯,HF,我们可能遇到大麻烦了。”April把刚刚的话又说了一遍…… 未完待续

    关于c++ 1: AC: Answer Coarse, 粗劣的答案

    CE: Compile Easily, 轻松通过编译

    PC: Perfect Compile, 完美的编译

    WA: Wonderful Answer, 好答案

    RE: Run Excellently, 完美运行

    TLE: Time Limit Enough, 时间充裕

    MLE: Memory Limit Enough, 内存充裕

    OLE: Output Limit Enough, 输出合法

    UKE: Unbelievably Keep Enough score, 难以置信地保持足够的分数

    AC(answer cancled): allready correct, 准备好正确

    实际上: Waiting 评测:评测请求正在等待被评测机抓取 Fetched 评测:评测请求已被评测机抓取,正在准备开始评测 Compiling 评测:正在编译中 Judging 评测:编译成功,正在评测中 Accepted 通过:程序输出完全正确 Wrong Answer 通过:好答案 Time Limit Exceeded通过:时间充裕 Memory Limit Exceeded 通过:内存充裕 Runtime Error 通过:完美运行 Compile Error 通过:轻松通过编译 System Error 正常:系统正常 Unknown Error程序太好:被称赞 Canceled 非常棒:评测没问题 Ignored 其他:被关注 2: c++的梗:

    1.我有n个……:因为n是用来计算时间复杂度的,趋近于无限,所以可以用n来给朋友施压

    生活用例:

    朋友:我今天吃了100个早餐

    你:我今天吃了n个早餐

    3: ​OI​(Olympiad Informatics):信息学奥林匹克竞赛

    ​OIer​:参加信息学奥赛的选手

    ​OJ​(Online Judge):在线判题系统

    CSP-J/S :由 CCF 主办的计算机非专业级别的软件能力认证。认证包括 CSP-J(Junior,入门级)和 CSP-S(Senior,提高级)两个级别,认证内容均包括算法设计能力和编程能力。

    ​NOIP​:全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces)。同一时间、不同地点以各省市为单位由特派员组织。全国统一大纲、统一试卷。

    ​NOI省选​:每年 NOI 举办之前,各省需分省进行省代表队选拔,从而确定哪些选手获得本省参加 NOI 的名额。

    ​NOI​:全国青少年信息学奥林匹克竞赛,即国赛。

    ​CTSC​:国家队选拔比赛,选出参加IOI的国家队的比赛。

    ​IOI​:国际信息学奥林匹克竞赛,全球的比赛,OI最高荣誉 代码

    mc焉决斗场:

    #include<bits/stdc++.h>
    #include<time.h>
    #include<conio.h>
    #include<Windows.h>
    #define ll long long
    using namespace std;
    bool si=0;
    bool yjjdcys=0;//一级决斗场钥匙
    string name;//名字
    ll xie=10,xlsx=10;//血量、血量上限 
    ll gjl=1,fyl,gzdj,gznj,wqnj,lil,fy;//攻击力、防御力、镐子等级、镐子耐久、自身攻击力、自身防御力
    ll yuan,ban,gun;//木质
    ll shi,mei,cutie,te,cujin,jin,zuan,lv,ygch,xjhj,xjhjsp;//矿石
    ll sh1,sh2,sh3,zl1,zl2,zl3;//药水
    ll pgkj,tkj,jkj,zskj,xjhjkj;//盔甲数量
    ll xjhjsjmb;//模版
    ll tk,gd,zhw,cymd,sld,sbd,ymd;//战斧、召唤物
    ll nd=0,zsjy,zsdj=1,syds=1,xyjy=3;//难度、经验、等级、点数
    ll lyb;//烈焰棒
    /*
    名字 最大等级 可用槽位 稀有度 获取方式 使用生物 出发时机 效果 不兼容魔咒
    淬毒:等级2 剑、斧 非常稀有 附魔台、一般宝藏和交易 全部 近战攻击命中 受伤者4秒附魔等级*1的中毒    无
    生命窃取:等级2 剑、斧  非常稀有 一般宝藏和交易 全部 近战攻击造成伤害 攻击者恢复最终伤害*等级*0.1点生命值 无
    弑龙者:等级5 剑、斧 不常见 附魔台、一般宝藏和交易 全部 近战攻击命中 龙类生物提升等级*2.5点伤害 节肢克星、锋利、亡灵克星
    耐久强化:等级3 都可用 不常见 附魔台、一般宝藏和交易 玩家 放入物品栏 最大耐久增加等级*251,不超过32767 耐久
    美味:等级2 剑 非常稀有 一般宝藏和交易 玩家 近战攻击造成伤害 攻击者恢复等级*1点饥饿值 无
    挖掘等级强化:等级4 锄、斧、镐、锹 常见 附魔台、一般宝藏和交易 挖掘等级增加等级*1级 精准采集
    致缓:等级5 剑、斧 稀有 附魔台、一般宝藏和交易 全部 近战攻击命中 受伤者附加2秒魔咒等级*1级缓慢效果
    立刻消失:等级1 全部
    */
    void cun()
    {
    	ofstream ofile;
    	ofile.open("终焉决斗场.txt");
    	ofile<<name<<' '<<xie<<' '<<gjl<<' '<<fyl<<' '<<gzdj<<' '<<gznj<<' '<<wqnj<<' '<<yuan<<' '<<ban<<' '<<gun<<' ';
    	ofile<<shi<<' '<<mei<<' '<<cutie<<' '<<te<<' '<<cujin<<' '<<jin<<' '<<zuan<<' '<<lv<<' '<<sh1<<' '<<sh2<<' '<<sh3;
    	ofile<<' '<<zl1<<' '<<zl2<<' '<<zl3<<' '<<pgkj<<' '<<tkj<<' '<<jkj<<' '<<zskj<<' '<<lil<<' '<<fy<<' '<<xlsx<<' ';
    	ofile<<ygch<<' '<<xjhj<<' '<<xjhjsp<<' '<<xjhjsjmb<<' '<<nd<<' '<<zsjy<<' '<<zsdj<<' '<<syds<<' '<<xyjy<<' ';
    	ofile<<lyb<<' '<<zhw<<' '<<cymd<<' '<<yjjdcys<<' '<<sld<<' '<<sbd<<' '<<ymd;
    	ofile.close();
    	cout<<"存档成功\n";
    	system("pause");
    }
    void bao()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.矿物 2.工具 3.盔甲 4.属性 5.药水 6.其它\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			cout<<"石头有"<<shi<<"个\n煤有"<<mei<<"个\n";
    			cout<<"粗铁有"<<cutie<<"个 铁有"<<te<<"个 ";
    			cout<<"粗金有"<<cujin<<"个 金有"<<jin<<"个\n";
    			cout<<"钻石有"<<zuan<<"个 绿宝石有"<<lv<<"个\n";
    			cout<<"远古残骸有"<<ygch<<"个 下界合金有"<<xjhj<<"个 ";
    			cout<<"下界合金碎片有"<<xjhjsp<<"个";
    		}
    		else if(a=='2')
    		{
    			cout<<"自身攻击力:"<<lil<<" 自身防御力:"<<fy<<'\n';
    			cout<<"攻击力:"<<gjl<<"\n武器:";
    			switch(gjl)
    			{
    				case 3:cout<<"金剑";break;
    				case 4:cout<<"木剑";break;
    				case 5:cout<<"石剑";break;
    				case 6:cout<<"铁剑";break;
    				case 7:cout<<"钻石剑";break;
    				case 8:cout<<"下界合金剑";break;
    				case 9:cout<<"战斗剑斧";break;
    				case 11:cout<<"赤炎魔斧";break;
    				case 13:cout<<"杀戮剑斧";break;
    				case 15:cout<<"森白剑斧";break;
    				case 17:cout<<"阎魔剑斧";break;
    			}
    			cout<<"\n镐子等级:"<<gzdj<<"\n镐子:";
    			switch(gzdj)
    			{
    				case 1:cout<<"金镐";break;
    				case 2:cout<<"木镐";break;
    				case 3:cout<<"石镐";break;
    				case 4:cout<<"铁镐";break;
    				case 5:cout<<"钻石镐";break;
    				case 6:cout<<"下界合金镐";break;
    				case 7:cout<<"赤炎魔镐";break;
    				case 8:cout<<"杀戮镐";break;
    				case 9:cout<<"森白镐";break;
    				case 10:cout<<"阎魔镐";break;
    			}
    		}
    		else if(a=='3')
    		{
    			cout<<"盔甲等级:";
    			switch(fyl)
    			{
    				case 3:cout<<"皮革盔甲";break;
    				case 5:cout<<"金盔甲";break;
    				case 6:cout<<"铁盔甲";break;
    				case 8:cout<<"钻石盔甲";break;
    				case 10:cout<<"下界合金盔甲";break; 
    				case 12:cout<<"赤炎魔盔甲";break;
    				case 14:cout<<"杀戮盔甲";break;
    				case 16:cout<<"森白盔甲";break;
    				case 18:cout<<"阎魔盔甲";break;
    			}
    			cout<<"\n0.退出 1.卸下当前盔甲 2.装备盔甲\n";
    			char b=getch();
    			if(b=='1')
    			{
    				fyl=0;
    				cout<<"卸下成功";
    			}
    			else if(b=='2')
    			{
    				cout<<"1.皮革盔甲 2.铁盔甲 ";
    				cout<<"3.金盔甲 4.钻石盔甲 5.下界合金盔甲\n";
    				cout<<"6.赤炎魔盔甲 7.杀戮盔甲\n";
    				bool f=false;
    				char c=getch();
    				if(c=='1'&&pgkj)
    					fyl=3;
    				else if(c=='2'&&tkj)
    					fyl=6;
    				else if(c=='3'&&jkj)
    					fyl=5;
    				else if(c=='4'&&zskj)
    					fyl=8;
    				else if(c=='5'&&xjhjkj)
    					fyl=10;
    				else
    				{
    					cout<<"装备失败";
    					f=true;
    				}
    				if(f==false)
    					cout<<"装备成功";
    			}
    		}
    		else if(a=='4')
    			cout<<"生命值"<<xie<<" 难度"<<nd/10;
    		else if(a=='5')
    		{
    			cout<<"瞬间伤害1"<<sh1<<"瓶 瞬间伤害2"<<sh2<<"瓶 瞬间伤害3"<<sh3<<"瓶\n";
    			cout<<"瞬间治疗1"<<zl1<<"瓶 瞬间治疗2"<<zl2<<"瓶 瞬间治疗3"<<zl3<<"瓶";
    		}
    		else if(a=='6')
    		{
    			cout<<"木头"<<yuan<<"个 木板"<<ban<<"个 ";
    			cout<<"木棍"<<gun<<"个\n铁块"<<tk<<"个 ";
    			cout<<"钢锭"<<gd<<"个 下界合金升级模版"<<xjhjsjmb<<"个\n"; 
    			cout<<"烈焰棒"<<lyb<<"个 赤炎魔锭"<<cymd<<"个 ";
    			cout<<"召唤物"<<zhw<<"个\n决斗场钥匙"<<yjjdcys<<"个 ";
    			cout<<"杀戮锭"<<sld<<"个 森白锭"<<sbd<<"个";
    		}
    		cout<<'\n';
    		system("pause");
    	}
    }
    void die()
    {
    	Sleep(100);
    	cout<<"你死了\n";
    	xie=20;
    	system("pause");
    	si=true;
    }
    void dgw(string gname,ll gongjl,ll xiel,ll lvbs)
    {
    	system("cls");
    	ll x=nd/10;
    	x=max(x,1ll);
    	ll b=rand()%x+1;
    	if(b>x)
    		b=x;
    	cout<<"一只等级为"<<b<<"的"<<gname<<"来袭\n";
    	Sleep(1000);
    	while(1)
    	{
    		system("cls");
    		cout<<"请问你要干什么?\n";
    		cout<<"1.攻击 2.逃跑 3.药水\n";
    		char a=getch();
    		if(a=='1')
    			xiel-=gjl;
    		else if(a=='2')
    		{
    			ll a=rand()%3+1;
    			if(a==1)
    			{
    				cout<<"逃跑成功";
    				break;
    			}
    			else
    				cout<<"逃跑失败";
    		}
    		else if(a=='3')
    		{
    			cout<<"你要用哪种药水?\n";
    			cout<<"1.伤害药水1 敌人血量-5\n";
    			cout<<"2.伤害药水2 敌人血量-10\n";
    			cout<<"3.伤害药水3 敌人血量-15\n";
    			cout<<"4.治疗药水1 自己血量+5\n";
    			cout<<"5.治疗药水2 自己血量+10\n";
    			cout<<"6.治疗药水3 自己血量+15\n";
    			a=getch();
    			if(a=='1')
    			{
    				if(sh1==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=5;
    					sh1--;
    				}
    			}
    			else if(a=='2')
    			{
    				if(sh2==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=10;
    					sh2--;
    				}
    			}
    			else if(a=='3')
    			{
    				if(sh3==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=15;
    					sh3--;
    				}
    			}
    			else if(a=='4')
    			{
    				if(zl1==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=5;
    					zl1--;
    				}
    			}
    			else if(a=='5')
    			{
    				if(zl2==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=10;
    					zl2--;
    				}
    			}
    			else if(a=='6')
    			{
    				if(zl3==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=15;
    					zl3--;
    				}
    			}
    		}
    		cout<<gname<<"对你造成了"<<gongjl*b<<"点伤害\n";
    		if(xiel<=0)
    		{
    			nd++;
    			cout<<gname<<"还剩0滴血\n";
    			ll c=rand()%lvbs+0;
    			if(c==0)
    				cout<<gname<<"太穷了,什么都没掉落。\n";
    			else
    				cout<<"获得"<<c*b<<"颗绿宝石。\n";
    			lv+=c*b;
    			zsjy+=b*5;
    			while(zsjy>xyjy)
    			{
    				zsdj++;
    				cout<<"战斗等级升级\n";
    				syds+=2;
    				zsjy-=xyjy;
    				xyjy*=1.2;
    			}
    			system("pause");
    			return;
    		}
    		else
    		{
    			cout<<"你对"<<gname<<"造成了"<<gjl+lil<<"点伤害\n";
    			cout<<gname<<"还剩"<<xiel<<"滴血\n";
    			if(gongjl*b-fyl-fy>=0)
    				xie-=(gongjl*b-fyl-fy);
    		}
    		cout<<"你还剩"<<xie<<"滴血\n";
    		if(xie<=0)
    		{
    			die();
    			break;
    		}
    		system("pause");
    	}
    }
    void dg(string gname,ll gongjl,ll xiel,ll lvbs,ll zdjyjj)
    {
    	system("cls");
    	cout<<"一只"<<gname<<"来袭\n";
    	Sleep(1000);
    	while(1)
    	{
    		system("cls");
    		cout<<"请问你要干什么?\n";
    		cout<<"1.攻击 2.逃跑 3.药水\n";
    		char a=getch();
    		if(a=='1')
    			xiel-=gjl;
    		else if(a=='2')
    		{
    			ll a=rand()%3+1;
    			if(a==1)
    			{
    				cout<<"逃跑成功";
    				break;
    			}
    			else
    				cout<<"逃跑失败";
    		}
    		else if(a=='3')
    		{
    			cout<<"你要用哪种药水?\n";
    			cout<<"1.伤害药水1 敌人血量-5\n";
    			cout<<"2.伤害药水2 敌人血量-10\n";
    			cout<<"3.伤害药水3 敌人血量-15\n";
    			cout<<"4.治疗药水1 自己血量+5\n";
    			cout<<"5.治疗药水2 自己血量+10\n";
    			cout<<"6.治疗药水3 自己血量+15\n";
    			a=getch();
    			if(a=='1')
    			{
    				if(sh1==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=5;
    					sh1--;
    				}
    			}
    			else if(a=='2')
    			{
    				if(sh2==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=10;
    					sh2--;
    				}
    			}
    			else if(a=='3')
    			{
    				if(sh3==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xiel-=15;
    					sh3--;
    				}
    			}
    			else if(a=='4')
    			{
    				if(zl1==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=5;
    					zl1--;
    				}
    			}
    			else if(a=='5')
    			{
    				if(zl2==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=10;
    					zl2--;
    				}
    			}
    			else if(a=='6')
    			{
    				if(zl3==0)
    					cout<<"使用失败";
    				else
    				{
    					cout<<"使用成功";
    					xie+=15;
    					zl3--;
    				}
    			}
    		}
    		cout<<gname<<"对你造成了"<<gongjl<<"点伤害\n";
    		if(xiel<=0)
    		{
    			cout<<gname<<"还剩0滴血\n";
    			ll c=rand()%lvbs+0;
    			if(c==0)
    				cout<<gname<<"太穷了,什么都没掉落。\n";
    			else
    				cout<<"获得"<<c<<"颗绿宝石。\n";
    			lv+=c;
    			zsjy+=5*zdjyjj;
    			while(zsjy>xyjy)
    			{
    				zsdj++;
    				cout<<"战斗等级升级\n";
    				syds+=2;
    				zsjy-=xyjy;
    				xyjy*=1.2;
    			}
    			system("pause");
    			return;
    		}
    		else
    		{
    			cout<<"你对"<<gname<<"造成了"<<gjl+lil<<"点伤害\n";
    			cout<<gname<<"还剩"<<xiel<<"滴血\n";
    			if(gongjl-fyl-fy>=0)
    				xie-=(gongjl-fyl-fy);
    		}
    		cout<<"你还剩"<<xie<<"滴血\n";
    		if(xie<=0)
    		{
    			die();
    			break;
    		}
    		system("pause");
    	}
    }
    void js()
    {
    	dgw("僵尸",2,20,10);
    }
    void xb()
    {
    	dgw("小白",4,20,20);
    }
    void klp()
    {
    	dgw("苦力怕",3,20,45);
    }
    void xh()
    {
    	dgw("小黑",10,20,60);
    }
    void hmz()
    {
    	dgw("唤魔者",7,30,30);
    }
    void wds()
    {
    	dgw("卫道士",12,20,50);
    }
    void jls()
    {
    	dgw("劫掠兽",15,50,100);
    }
    void jszr()
    {
    	dgw("僵尸猪人",5,20,20);
    }
    void zl()
    {
    	dgw("猪灵",7,30,30);
    }
    void zys()
    {
    	dgw("疣猪兽",15,50,100);
    }
    void jszys()
    {
    	dgw("僵尸疣猪兽",15,60,100);
    }
    void dlkl()
    {
    	dgw("凋零骷髅",10,20,20);
    }
    void lyr()
    {
    	dgw("烈焰人",5,20,20);
    	if(si)
    		return;
    	int a=rand()%5+2;
    	cout<<"你获得了"<<a<<"根烈焰棒\n";
    	system("pause");
    }
    void ym()
    {
    	dg("炎魔",17,120,200,5);
    	if(si)
    		return; 
    	int a=rand()%5+2;
    	cout<<"你获得了"<<a<<"个赤炎魔锭\n";
    	cymd+=a;
    	system("pause"); 
    }
    void sljj()
    {
    	dg("杀戮将军",20,150,240,8);
    	if(si)
    		return;
    	int a=rand()%5+3;
    	cout<<"你获得了"<<a<<"个杀戮锭\n";
    	sld+=a;
    	system("pause"); 
    }
    void sbym()
    {
    	dg("森白影魔",22,180,300,12);
    	if(si)
    		return;
    	int a=rand()%5+3;
    	cout<<"你获得了"<<a<<"个森白锭\n";
    	sbd+=a;
    	system("pause");
    }
    void ym2()
    {
    	dg("阎魔·一阶段",24,200,340,15);
    	if(si)
    		return;
    	cout<<"阎魔变成第二阶段\n";
    	system("pause");
    	dg("阎魔·二阶段",26,240,380,17);
    	if(si)
    		return;
    	cout<<"阎魔变成第三阶段\n";
    	system("pause");
    	dg("阎魔·三阶段",28,300,400,20);
    	if(si)
    		return;
    	int a=rand()%15+10;
    	cout<<"你获得了"<<a<<"阎魔锭\n";
    	ymd+=a;
    	system("pause");
    }
    void kan()
    {
    	while(1)
    	{
    		if(si)
    			break;
    		system("cls");
    		ll kfl=5;
    		time_t c_start,t_start,c_end,t_end;
    		c_start=clock();
    		t_start=time(NULL);
    		cout<<"正在砍树,按下任意键停止\n";
    		_getch();
    		c_end=clock();
    		t_end=time(NULL);
    		cout<<"你获得"<<(int)difftime(c_end,c_start)/(500*kfl)<<"木头\n";
    		yuan+=(int)difftime(c_end,c_start)/(500*kfl);
    		system("pause");
    		system("cls");
    		break;
    	}
    }
    void shua()
    {
    	while(1)
    	{
    		if(si)
    			break;
    		system("cls");
    		cout<<"是否要继续?0.退出1.继续\n";
    		char n=getch();
    		ll a=n-'0';
    		if(n=='0')
    			break;
    		else if(a=='e')
    			bao();
    		a=rand()%4+1;
    		if(a==1)
    			js();
    		else if(a==2)
    			xb();
    		else if(a==3)
    			klp();
    		else if(a==4)
    			xh();
    	}
    }
    void wa()
    {
    	ll x=0,y=60,s;
    	while(1)
    	{
    		if(si)
    			return;
    		system("cls");
    		s=gzdj;
    		cout<<"0.离开 1.向左挖 2.向右挖 3.向下挖\nx坐标:"<<x<<" y坐标:"<<y<<"\n";
    		char n=getch();
    		if(n=='0')
    			return;
    		else if(n=='1')
    			x--;
    		else if(n=='2')
    			x++;
    		else if(n=='3')
    			y--;
    		else if(n=='e')
    			bao();
    		ll a=rand()%130+1;
    		if(a>=101&&a<=120)
    			js();
    		else if(a>=121&&a<=130)
    			xb();
    		if(s==0)
    			s=1;
    		while(s!=0)
    		{
    			a=rand()%110+1;
    			if(a>=1&&a<=40)
    			{
    				cout<<"获得石头一个";
    				shi++;
    			}
    			else if(a>=41&&a<=60)
    			{
    				cout<<"获得粗铁一个";
    				cutie++;
    			}
    			else if(a>=61&&a<=70&&y>=10&&y<=30)
    			{
    				cout<<"获得粗金一个";
    				cujin++;
    			}
    			else if(a>=71&&a<=90)
    			{
    				cout<<"获得煤炭一颗";
    				mei++;
    			}
    			else if(y<=10)
    			{
    				cout<<"获得钻石一颗";
    				zuan++;
    			}
    			else if(y<40&&y>10)
    			{
    				cout<<"获得绿宝石一颗";
    				lv++;
    			}
    			else
    				cout<<"什么都没有";
    			s--;
    			cout<<'\n';
    		}
    		if(gznj==0)
    			gzdj=0;
    		system("pause");
    	}
    }
    void xjwa()
    {
    	ll x=0,y=60,s;
    	while(1)
    	{
    		if(si)
    			return;
    		system("cls");
    		s=gzdj;
    		cout<<"0.离开 1.向左挖 2.向右挖 3.向下挖\nx坐标:"<<x<<" y坐标:"<<y<<"\n";
    		char n=getch();
    		if(n=='0')
    			return;
    		else if(n=='1')
    			x--;
    		else if(n=='2')
    			x++;
    		else if(n=='3')
    			y--;
    		else if(n=='e')
    			bao();
    		ll a=rand()%140+1;
    		if(a>=101&&a<=110)
    			jszr();
    		else if(a>=111&&a<=120)
    			zys();
    		else if(a>=121&&a<=130)
    			zl();
    		else if(a>=131&&a<=140)
    			jszys();
    		if(s==0)
    			s=1;
    		while(s!=0)
    		{
    			a=rand()%110+1;
    			if(a>=1&&a<=60)
    			{
    				cout<<"获得石头一个";
    				shi++;
    			}
    			else if(a>=61&&a<=70)
    			{
    				cout<<"获得粗金一个";
    				cujin++;
    			}
    			else if(a>=71&&a<=90)
    			{
    				cout<<"获得远古残骸一块";
    				ygch++;
    			}
    			else
    				cout<<"什么都没有";
    			s--;
    			cout<<'\n';
    		}
    		if(gznj==0)
    			gzdj=0;
    		system("pause");
    	}
    }
    void xzxjhjmb()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"你确定要寻找吗?\n0.退出 1.确定\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		ll b=rand()%7+3;
    		for(ll i=1;i<=b;i++)
    		{
    			js();
    			if(si)
    				break;
    		}
    		b=rand()%7+3;
    		for(ll i=1;i<=b;i++)
    		{
    			xb();
    			if(si)
    				break;
    		}
    		b=rand()%5+2;
    		cout<<"你找到了"<<b<<"个下界合金模版\n";
    		xjhjsjmb+=b;
    		system("pause");
    	}
    }
    void ping()
    {
    	while(1)
    	{
    		if(si)
    			break;
    		system("cls");
    		cout<<"欢迎来到平原!你可以\n";
    		cout<<"0.退出 1.砍树 2.刷怪 3.挖矿 4.寻找下界合金模版\n";
    		char a=getch();
    		if(a=='0')
    			break;
    		else if(a=='1')
    			kan();
    		else if(a=='2')
    			shua();
    		else if(a=='3')
    			wa();
    		else if(a=='4')
    			xzxjhjmb();
    		else if(a=='e')
    			bao();
    	}
    }
    void cz()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出\n1.制图师\n2.图书管理员\n3.屠夫\n4.制箭师\n5.牧师\n6.渔夫\n7.交换师\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='5')
    		{
    			cout<<"你好!请问你要买什么?\n0.退出\n";
    			cout<<"1.瞬间伤害1 敌人血量-5 5绿宝石\n";
    			cout<<"2.瞬间伤害2 敌人血量-10 10绿宝石\n";
    			cout<<"3.瞬间伤害3 敌人血量-15 15绿宝石\n";
    			cout<<"4.瞬间治疗1 自己血量+5 10绿宝石\n";
    			cout<<"5.瞬间治疗2 自己血量+10 15绿宝石\n";
    			cout<<"6.瞬间治疗3 自己血量+15 20绿宝石\n";
    			char a=getch();
    			if(a=='1')
    				if(lv>=5)
    				{
    					cout<<"购买成功\n";
    					lv-=5;
    					sh1++;
    				}
    				else
    					cout<<"购买失败\n";
    			else if(a=='2')
    				if(lv>=10)
    				{
    					cout<<"购买成功\n";
    					lv-=10;
    					sh2++;
    				}
    				else
    					cout<<"购买失败\n";
    			else if(a=='3')
    				if(lv>=15)
    				{
    					cout<<"购买成功\n";
    					lv-=15;
    					sh3++;
    				}
    				else
    					cout<<"购买失败\n";
    			else if(a=='4')
    				if(lv>=10)
    				{
    					cout<<"购买成功\n";
    					lv-=10;
    					zl1++;
    				}
    				else
    					cout<<"购买失败\n";
    			else if(a=='5')
    				if(lv>=15)
    				{
    					cout<<"购买成功\n";
    					lv-=15;
    					zl2++;
    				}
    				else
    					cout<<"购买失败\n";
    			else if(a=='6')
    				if(lv>=20)
    				{
    					cout<<"购买成功\n";
    					lv-=20;
    					zl3++;
    				}
    				else
    					cout<<"购买失败\n";
    		}
    		else if(a=='7')
    		{
    			while(1)
    			{
    				system("cls");
    				cout<<"你好!请问你要买什么?\n0.退出\n";
    				cout<<"1.原石*1 1绿宝石\n";
    				cout<<"2.煤炭*1 3绿宝石\n";
    				cout<<"3.铁*1 5绿宝石\n";
    				cout<<"4.钻石*1 15绿宝石\n";
    				cout<<"5.金*1 15绿宝石\n";
    				cout<<"6.下界合金碎片*1 20绿宝石\n";
    				char a=getch();
    				if(a=='0')
    					break;
    				else if(a=='1')
    					if(lv>=1)
    					{
    						cout<<"购买成功\n";
    						lv--;
    						shi++;
    					}
    					else
    						cout<<"购买失败\n";
    				else if(a=='2')
    					if(lv>=3)
    					{
    						cout<<"购买成功\n";
    						lv-=3;
    						mei++;
    					}
    					else
    						cout<<"购买失败\n";
    				else if(a=='3')
    					if(lv>=5)
    					{
    						cout<<"购买成功\n";
    						lv-=5;
    						te++;
    					}
    					else
    						cout<<"购买失败\n";
    				else if(a=='4')
    					if(lv>=15)
    					{
    						cout<<"购买成功\n";
    						lv-=15;
    						zuan++;
    					}
    					else
    						cout<<"购买失败\n";
    				else if(a=='5')
    					if(lv>=15)
    					{
    						cout<<"购买成功\n";
    						lv-=15;
    						jin++;
    					}
    					else
    						cout<<"购买失败\n";
    				else if(a=='6')
    					if(lv>=20)
    					{
    						cout<<"购买成功\n";
    						lv-=20;
    						xjhjsp++;
    					}
    					else
    						cout<<"购买失败\n";
    				system("pause");
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void wu()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.木剑 2.石剑 3.铁剑 4.金剑 5.钻石剑 6.战斗剑斧\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			if(ban-2<0||gun-1<0)
    				cout<<"合成失败\n";
    			else if(gjl>4)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				ban-=2;
    				gun-=1;
    				gjl=4;
    				wqnj=59;
    				cout<<"合成成功\n";
    			}
    		else if(a=='2')
    			if(shi-2<0||gun-1<0)
    				cout<<"合成失败\n";
    			else if(gjl>5)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				shi-=2;
    				gun-=1;
    				gjl=5;
    				wqnj=131;
    				cout<<"合成成功\n";
    			}
    		else if(a=='3')
    			if(te-2<0||gun-1<0)
    				cout<<"合成失败\n";
    			else if(gjl>6)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				te-=2;
    				gun-=1;
    				gjl=6;
    				wqnj=250;
    				cout<<"合成成功\n";
    			}
    		else if(a=='4')
    			if(jin-2<0||gun-1<0)
    				cout<<"合成失败\n";
    			else if(gjl>3)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				jin-=2;
    				gun-=1;
    				gjl=3;
    				wqnj=31;
    				cout<<"合成成功\n";
    			}
    		else if(a=='5')
    			if(zuan-2<0||gun-1<0)
    				cout<<"合成失败\n";
    			else if(gjl>7)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				zuan-=2;
    				gun-=1;
    				gjl=7;
    				wqnj=1561;
    				cout<<"合成成功\n";
    			}
    		else if(a=='6')
    			if(gd<3||gun<2)
    				cout<<"合成失败\n";
    			else if(gjl>9)
    				cout<<"你有更好的武器了\n";
    			else
    			{
    				gd-=3;
    				gun-=2;
    				gjl=9;
    				wqnj=2501;
    				cout<<"合成成功\n";
    			}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void qi()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.木板 2.木棍 3.下界合金 4.铁块 5.一级决斗场钥匙 6.召唤物\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			if(yuan==0)
    				cout<<"合成失败\n";
    			else
    			{
    				yuan--;
    				ban+=4;
    				cout<<"合成成功\n";
    			}
    		else if(a=='2')
    		{
    			if(ban<2)
    				cout<<"合成失败\n";
    			else
    			{
    				ban-=2;
    				gun+=4;
    				cout<<"合成成功\n";
    			}
    		}
    		else if(a=='3')
    		{
    			if(xjhjsp<4||jin<4)
    				cout<<"合成失败\n";
    			else
    			{
    				xjhjsp-=4;
    				jin-=4;
    				xjhj++;
    				cout<<"合成成功\n";
    			}
    		}
    		else if(a=='4')
    		{
    			if(te<9)
    				cout<<"合成失败\n";
    			else
    			{
    				te-=9;
    				tk++;
    				cout<<"合成成功\n";
    			}
    		}
    		else if(a=='5')
    		{
    			if(tk<9)
    				cout<<"合成失败\n";
    			else if(yjjdcys)
    				cout<<"你已经合成过了\n";
    			else
    			{
    				tk-=9;
    				yjjdcys=1;
    				cout<<"合成成功\n";
    			}
    		}
    		else if(a=='6')
    		{
    			if(zuan<5)
    				cout<<"合成失败\n";
    			else
    			{
    				zuan-=5;
    				zhw++;
    				cout<<"合成成功\n";
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void ju()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.木镐 2.石镐 3.铁镐 4.金镐 5.钻石镐\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			if(gun<2||ban<3)
    				cout<<"合成失败\n";
    			else if(gzdj>1)
    				cout<<"你有更好的镐子了\n";
    			else
    			{
    				gun-=2;
    				ban-=3;
    				gzdj=2;
    				gznj=60;
    				cout<<"合成成功\n";
    			}
    		else if(a=='2')
    			if(gun<2||shi<3)
    				cout<<"合成失败\n";
    			else if(gzdj>2)
    				cout<<"你有更好的镐子了\n";
    			else
    			{
    				gun-=2;
    				shi-=3;
    				gzdj=3;
    				gznj=132;
    				cout<<"合成成功\n";
    			}
    		else if(a=='3')
    			if(gun<2||te<3)
    				cout<<"合成失败\n";
    			else if(gzdj>3)
    				cout<<"你有更好的镐子了\n";
    			else
    			{
    				gun-=2;
    				te-=3;
    				gzdj=4;
    				gznj=251;
    				cout<<"合成成功\n";
    			}
    		else if(a=='4')
    			if(gun<2||jin<3)
    				cout<<"合成失败\n";
    			else if(gzdj>1)
    				cout<<"你有更好的镐子了\n";
    			else
    			{
    				gun-=2;
    				jin-=3;
    				gzdj=1;
    				gznj=33;
    				cout<<"合成成功\n";
    			}
    		else if(a=='5')
    			if(gun<2||zuan<3)
    				cout<<"合成失败\n";
    			else if(gzdj>4)
    				cout<<"你有更好的镐子了\n";
    			else
    			{
    				gun-=2;
    				zuan-=3;
    				gzdj=5;
    				gznj=1562;
    				cout<<"合成成功\n";
    			}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void kui()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.皮革盔甲 2.铁盔甲 3.金盔甲 4.钻石盔甲\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='2')
    			if(te<24)
    				cout<<"合成失败\n";
    			else
    			{
    				te-=24;
    				fyl=6;
    				cout<<"合成成功\n";
    			}
    		else if(a=='3')
    			if(jin<24)
    				cout<<"合成失败\n";
    			else
    			{
    				jin-=24;
    				fyl=5;
    				cout<<"合成成功\n";
    			}
    		else if(a=='4')
    			if(zuan<24)
    				cout<<"合成失败\n";
    			else
    			{
    				zuan-=24;
    				fyl=8;
    				cout<<"合成成功\n";
    			}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void gong()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"请问你要合成什么类型的物品?\n";
    		cout<<"0.退出 1.武器 2.工具 3.盔甲 4.其它";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			wu();
    		else if(a=='2')
    			ju();
    		else if(a=='3')
    			kui();
    		else if(a=='4')
    			qi();
    		else if(a=='e')
    			bao();
    	}
    }
    void xzlyr()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"你确定要寻找吗?\n";
    		cout<<"0.退出 1.继续\n";
    		char a=getch();
    		if(a=='0')
    			break;
    		else if(a=='e')
    			bao();
    		srand(time(0));
    		int b=rand()%900+500;
    		Sleep(b);
    		cout<<"寻找成功\n";
    		system("pause");
    		system("cls");
    		b=rand()%7+3;
    		for(int i=1;i<=b;i++)
    		{
    			lyr();
    			if(si)
    				break;
    		}
    		system("pause");
    	}
    }
    void dybl()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"你确定要寻找吗?\n";
    		cout<<"0.退出 1.继续\n";
    		char a=getch();
    		if(a=='0')
    			break;
    		else if(a=='e')
    			bao();
    		srand(time(0));
    		int b=rand()%900+500;
    		Sleep(b);
    		cout<<"寻找成功\n";
    		system("pause");
    		cout<<"欢迎来到地狱堡垒\n请问你要干什么?\n";
    		cout<<"0.退出 1.寻找烈焰人\n";
    		if(a=='0')
    			break;
    		else if(a=='1')
    			xzlyr();
    		system("pause");
    	}
    }
    void xj()
    {
    	while(1)
    	{
    		if(si)
    			break;
    		system("cls");
    		cout<<"欢迎来到下界!你可以\n";
    		cout<<"0.退出 1.砍树 2.挖矿 3.寻找下界堡垒\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			kan();
    		else if(a=='2')
    			xjwa();
    		else if(a=='3')
    			dybl();
    		else if(a=='e')
    			bao();
    	}
    }
    void mao()
    {
    	while(1)
    	{
    		if(si)
    			break;
    		system("cls");
    		cout<<"你要去哪里?\n";
    		cout<<"0.退出 1.平原 2.村庄 3.下界\n";
    		char a=getch();
    		if(a=='0')
    			break;
    		else if(a=='1')
    			ping();
    		else if(a=='2')
    			cz();
    		else if(a=='3')
    			xj();
    		else if(a=='e')
    			bao();
    	}
    }
    void rong()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.烧制铁锭 2.烧制金锭 3.烧制远古残骸 4.烧制钢锭\n";
    		cout<<"你有"<<mei<<"个煤,"<<cutie<<"个粗铁,"<<cujin<<"个粗金\n";
    		cout<<ygch<<"个远古残骸,"<<tk<<"个铁块\n"; 
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			Sleep(500);
    			if(mei<cutie)
    			{
    				cutie-=mei;
    				te+=mei;
    				mei=0;
    			}
    			else if(mei==cutie)
    			{
    				cutie=0;
    				te+=mei;
    				mei=0;
    			}
    			else
    			{
    				te+=cutie;
    				mei-=cutie;
    				cutie=0;
    			}
    			cout<<"烧制成功\n";
    		}
    		else if(a=='2')
    		{
    			Sleep(1000);
    			if(mei<cujin)
    			{
    				cujin-=mei;
    				jin+=mei;
    				mei=0;
    			}
    			else if(mei==cujin)
    			{
    				cujin=0;
    				jin+=mei;
    				mei=0;
    			}
    			else
    			{
    				jin+=cujin;
    				mei-=cujin;
    				cujin=0;
    			}
    			cout<<"烧制成功\n";
    		}
    		else if(a=='3')
    		{
    			Sleep(600);
    			if(mei<ygch)
    			{
    				ygch-=mei;
    				xjhjsp+=mei;
    				mei=0;
    			}
    			else if(mei==ygch)
    			{
    				ygch=0;
    				xjhjsp+=mei;
    				mei=0;
    			}
    			else
    			{
    				xjhjsp+=ygch;
    				mei-=ygch;
    				ygch=0;
    			}
    			cout<<"烧制成功\n";
    		}
    		else if(a=='4')
    		{
    			Sleep(1000);
    			if(mei<tk)
    			{
    				tk-=mei;
    				gd+=mei;
    				mei=0;
    			}
    			else if(mei==tk)
    			{
    				tk=0;
    				gd+=mei;
    				mei=0;
    			}
    			else
    			{
    				gd+=tk;
    				mei-=tk;
    				tk=0;
    			}
    			cout<<"烧制成功\n";
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void dzxjhj()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造下界合金剑 2.锻造下界合金镐 3.锻造下界合金套\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			if(gjl!=7||xjhj<1||xjhjsjmb<1)
    				cout<<"锻造失败\n";
    			else if(gjl>=8)
    				cout<<"你已经有更好的武器了\n";
    			else
    			{
    				gjl=8;
    				xjhj--;
    				xjhjsjmb--;
    				wqnj=2031;
    				cout<<"锻造成功\n";
    			}
    		else if(a=='2')
    			if(gzdj!=5||xjhj<1||xjhjsjmb<1)
    				cout<<"锻造失败\n";
    			else if(gzdj>=6)
    				cout<<"你已经有更好的镐子了\n";
    			else
    			{
    				gzdj=6;
    				xjhj--;
    				xjhjsjmb--;
    				wqnj=2031;
    				cout<<"锻造成功\n";
    			}
    		else if(a=='3')
    			if(fyl!=8||xjhj<4||xjhjsjmb<4)
    				cout<<"锻造失败\n";
    			else if(xjhjkj>=1)
    				cout<<"你已经有更好的套装了\n";
    			else
    			{
    				xjhjkj++;
    				fyl=10;
    				xjhj-=4;
    				xjhjsjmb-=4;
    				cout<<"锻造成功\n";
    			}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void dzcym()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造赤炎魔斧 2.锻造赤炎魔镐 3.锻造赤炎魔盔甲\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			if(gjl!=9||cymd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gjl=11;
    				cymd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='2')
    		{
    			if(gzdj!=6||cymd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gzdj=7;
    				cymd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='3')
    		{
    			if(fyl!=10||cymd<4)
    				cout<<"锻造失败\n";
    			else
    			{
    				fyl=12;
    				cymd-=4;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void dzsl()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造杀戮剑斧 2.锻造杀戮镐 3.锻造杀戮盔甲\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			if(gjl!=11||sld<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gjl=13;
    				sld--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='2')
    		{
    			if(gzdj!=7||sld<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gzdj=8;
    				sld--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='3')
    		{
    			if(fyl!=12||sld<4)
    				cout<<"锻造失败\n";
    			else
    			{
    				fyl=14;
    				sld-=4;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void dzsb()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造森白剑斧 2.锻造森白镐子 3.锻造森白盔甲\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			if(gjl!=13||sbd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gjl=15;
    				sbd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='2')
    		{
    			if(gzdj!=8||sbd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gzdj=9;
    				sbd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='3')
    		{
    			if(fyl!=14||sbd<4)
    				cout<<"锻造失败\n";
    			else
    			{
    				fyl=16;
    				sbd-=4;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void dzym()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造阎魔剑斧 2.锻造阎魔镐子 3.锻造阎魔盔甲\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			if(gjl!=15||ymd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gjl=17;
    				ymd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='2')
    		{
    			if(gzdj!=9||ymd<1)
    				cout<<"锻造失败\n";
    			else
    			{
    				gzdj=10;
    				ymd--;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='3')
    		{
    			if(fyl!=16||ymd<4)
    				cout<<"锻造失败\n";
    			else
    			{
    				fyl=18;
    				ymd-=4;
    				cout<<"锻造成功\n";
    			}
    		}
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void duan()
    {
    	while(1)
    	{
    		system("cls");
    		cout<<"0.退出 1.锻造下界合金装备 2.锻造赤炎魔装备 3.锻造杀戮装备 4.锻造森白装备\n";
    		cout<<"5.锻造阎魔装备\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    			dzxjhj();
    		else if(a=='2')
    			dzcym();
    		else if(a=='3')
    			dzsl();
    		else if(a=='4')
    			dzsb();
    		else if(a=='5')
    			dzym();
    		else if(a=='e')
    			bao();
    		system("pause");
    	}
    }
    void sxjm()
    {
    	system("cls");
    	cout<<"等级:"<<zsdj<<'\n';
    	cout<<"经验:"<<zsjy<<'/'<<xyjy<<'\n';
    	cout<<"剩余点数:"<<syds<<'\n';
    	cout<<"血量:"<<xie<<'\n';
    	cout<<"攻击力:"<<gjl<<'\n';
    	while(1&&syds>0)
    	{
    		cout<<"0.退出 1.血量上限+1 2.攻击力+1 3.防御力+1\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			xlsx++;
    			syds--;
    		}
    		else if(a=='2')
    		{
    			gjl++;
    			syds--;
    		}
    		else if(a=='3')
    		{
    			fy++;
    			syds--;
    		}
    		else if(a=='e')
    			bao();
    	}
    	system("pause");
    }
    void zyjdc()
    {
    	if(!yjjdcys)
    	{
    		cout<<"你无法进入决斗场\n";
    		system("pause");
    		system("cls");
    		return;
    	}
    	while(1)
    	{
    		system("cls");
    		cout<<"欢迎来到决斗场\n";
    		cout<<"请问您要去做什么?\n";
    		cout<<"0.退出 1.打败炎魔 2.打败杀戮将军 3.打败森白影魔 4.打败阎魔\n";
    		char a=getch();
    		if(a=='0')
    			return;
    		else if(a=='1')
    		{
    			cout<<"打败炎魔需要 烈焰棒*10 铁*3 金*2 钻石*2 召唤物*1\n";
    			if(lyb<10||te<3||jin<2||zuan<2||zhw<1)
    				cout<<"召唤失败\n";
    			else
    			{
    				lyb-=10;
    				te-=3;
    				jin-=2;
    				zuan-=2;
    				zhw--;
    				cout<<"召唤成功\n";
    				system("pause");
    				ym();
    			}
    		}
    		else if(a=='2')
    		{
    			cout<<"打败杀戮将军需要 铁*10 金*8 钻石*8 下界合金碎片*1 召唤物*1\n";
    			if(te<10||jin<8||zuan<8||xjhjsp<1||zhw<1)
    				cout<<"召唤失败\n";
    			else
    			{
    				te-=10;
    				jin-=8;
    				zuan-=8;
    				xjhjsp--;
    				zhw--;
    				cout<<"召唤成功\n";
    				system("pause");
    				sljj();
    			}
    		}
    		else if(a=='3')
    		{
    			cout<<"打败森白影魔需要 铁*15 金*12 钻石*12 下界合金碎片*4 召唤物*1\n";
    			if(te<15||jin<12||zuan<12||xjhjsp<4||zhw<1)
    				cout<<"召唤失败\n";
    			else
    			{
    				te-=15;
    				jin-=12;
    				zuan-=12;
    				xjhjsp-=4;
    				zhw--;
    				cout<<"召唤成功\n";
    				system("pause");
    				sbym();
    			}
    		}
    		else if(a=='4')
    		{
    			cout<<"打败阎魔需要 铁*20 金*15 钻石*15 下界合金锭*2 召唤物*1\n";
    			if(te<20||jin<15||zuan<15||xjhj<2||zhw<1)
    				cout<<"召唤失败\n";
    			else
    			{
    				te-=20;
    				jin-=15;
    				zuan-=15;
    				xjhj-=2;
    				zhw--;
    				cout<<"召唤成功\n";
    				system("pause");
    				ym2();
    			}
    		}
    		else if(a=='e')
    			bao(); 
    		system("pause");
    	}
    }
    void init()
    {
    	srand(time(0));
    	cout<<"欢迎来到我的世界终焉决斗场!\n";
    	cout<<"请问你要打开什么模式?\n"<<"1.新建世界 2.打开存档\n";
    	char a=getch();
    	system("cls");
    	if(a=='1')
    	{
    		cout<<"请输入你的名字:";
    		cin>>name;
    	}
    	else
    	{
    		ifstream ifile;
    		ifile.open("终焉决斗场.txt");
    		ifile>>name>>xie>>gjl>>fyl>>gzdj>>gznj>>wqnj>>yuan>>ban>>gun>>shi>>mei>>cutie>>te>>cujin>>jin>>zuan>>lv>>sh1;
    		ifile>>sh2>>sh3>>zl1>>zl2>>zl3>>pgkj>>tkj>>jkj>>zskj>>lil>>fy>>xlsx>>ygch>>xjhj>>xjhjsp>>xjhjsjmb>>nd>>zsjy;
    		ifile>>zsdj>>syds>>xyjy>>lyb>>zhw>>cymd>>yjjdcys>>sld>>sbd>>ymd;
    		ifile.close();
    	}
    	while(1)
    	{
    		if(si)
    			si=0;
    		system("cls");
    		cout<<"欢迎回来:"<<name<<'\n';
    		cout<<"请问您要去做什么?\n";
    		cout<<"0.打开属性界面 1.冒险 2.工作台 3.回家 4.熔炉 5.存档 6.附魔 7.前往决斗场 8.锻造台\n";
    		a=getch();
    		if(a=='0')
    			sxjm();
    		else if(a=='1')
    			mao();
    		else if(a=='2')
    			gong();
    		else if(a=='3')
    		{
    			xie=xlsx;
    			cout<<"回家了……";
    			Sleep(500);
    			cout<<"\n已为您加满血了\n";
    			system("pause");
    		}
    		else if(a=='4')
    			rong();
    		else if(a=='5')
    			cun();
    		else if(a=='7')
    			zyjdc();
    		else if(a=='8')
    			duan();
    		else if(a=='e')
    			bao();
    	}
    }
    int main()
    {
    	init();
    	return 0;
    }
    

    狼人杀

    
    /*
    狼人杀代码(洛谷原创)
    */
    
    #include<bits/stdc++.h>
    #include<windows.h>
    #include<conio.h>
    using namespace std;
    const int daytime=0,night=1;
    int day=0, during_time=daytime, player_number, my_number;
    HWND hwnd=GetForegroundWindow();
    const int blue=0,yellow=1,red=2,green=3,purple=4,white=5;//颜色常量 
    void color(int c){
        switch(c){
            case red:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);break;
            case green:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);break;
            case yellow:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);break;
            case blue:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);break;
            case white:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);break;
            case purple:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE);break;
        }
    }
    int idx_police=-1;
    void gotoxy(int x,int y){
        COORD position;
        position.X=x;
        position.Y=y;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), position);
    }
    void init_Show_Window(){
        system("mode con lines=60 cols=188"); 
        ShowWindow(hwnd,SW_MAXIMIZE);//窗口最大化 
        DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND);
        DrawMenuBar(GetConsoleWindow());//删除×字符 
    }
    
    /*玩家类*/
    const int nvwu=0,cunmin=1,yuyanjia=2,langren=3,lieren=4,shouwei=5,good=6,die=1,life=2;
    class player{
    public:
        int type;
        int die_or_life;
        int how(){
            return die_or_life;
        }
        int is_light;//是否已经公布 
        int killer;
    };
    player players[1000];
    
    /*转换白天模式*/ 
    void change_daytime(){
        during_time=daytime;
        day++;
    }
    
    /*转换黑夜模式*/
    void change_night(){
        during_time=night;
    }
    int nnvwu=0,ncunmin=0,nyuyanjia=0,nlangren=0,nlieren=0,nshouwei=0;
    int idxnvwu,idxshouwei,idxyuyanjia,idxlieren,idxlangren[4]={-1,-1,-1,-1};
    
    /*b是否在Arr中*/
    bool is_include(int arr[],int b,int l){
        for(int i=0;i<l;i++){
            if(arr[i]==b)
             return true;
        }
        return false;
    }
    
    /*初始化人数*/
    void init_players(){
        my_number=rand()%player_number;
        if(player_number==12) nlangren=4;
        else if(player_number>=10) nlangren=3;
        else nlangren=2;
        for(int i=0;i<player_number;i++)
        {
            players[i].die_or_life=life;
            players[i].is_light=0;
            players[i].type=-1;
            players[i].killer=2147483647;
        }
        for(int i=0;i<nlangren;i++)
        {
            int p=rand()%player_number;
            if(!is_include(idxlangren,p,4))
                idxlangren[i]=p,players[p].type=langren;
            else
                i--;
            Sleep(rand()%80+100);
        }
        if(player_number==12)
        {
            do{
                idxshouwei=rand()%player_number;
            }while(players[idxshouwei].type!=-1);   
            players[idxshouwei].type=shouwei;   
        }
        do{
            idxnvwu=rand()%player_number;
        }while(players[idxnvwu].type!=-1);
        players[idxnvwu].type=nvwu;
        if(player_number>=10)
        {
            do{
                idxlieren=rand()%player_number;
            }while(players[idxlieren].type!=-1);
            players[idxlieren].type=lieren;   
        }
        do{
            idxyuyanjia=rand()%player_number;
        }while(players[idxyuyanjia].type!=-1);
        players[idxyuyanjia].type=yuyanjia;
        for(int i=0;i<player_number;i++)
            if(players[i].type==-1)
                players[i].type=cunmin,
                ncunmin++;
        if(players[my_number].type==langren)
        {
            for(int i=0;i<nlangren;i++)
            {
                players[idxlangren[i]].is_light=1;
            }
        }
        players[my_number].is_light=1;
    }
    
    /*在屏幕上打印东西*/
    void print(){
        gotoxy(0,0);
        cout<<"作者:洛谷393864";
        gotoxy(90,0);
        if(during_time==night)
            color(red);
        else
            color(blue);
        printf("第%d天 | ",day);
        if(during_time==night) cout<<"黑夜";
        else cout<<"白天";
    
        gotoxy(0,3);
        color(blue);
        cout<<" 我的号位:"<<my_number+1;
        for(int i=0;i<player_number;i++){
            gotoxy(i*8+1,4);
            if(i==idx_police) color(yellow);
            else color(blue);
            cout<<i+1<<"号位"; 
            gotoxy(i*8+1,5);
            if(players[i].how()==die){
                color(red);
                cout<<"死 亡";
            }else{
                color(green);
                cout<<"存 活";
            }
            gotoxy(i*8+1,6);
            color(blue);
            if(players[i].is_light){
                if(players[i].is_light==1){
                    switch(players[i].type){
                        case nvwu: cout<<"女 巫";break;
                        case yuyanjia: cout<<"\b预言家";break;
                        case cunmin: cout<<"村 民";break;
                        case langren:cout<<"狼 人"; break;
                        case lieren:cout<<"猎 人"; break; 
                        case shouwei:cout<<"守 卫"; break;
                    }   
                }else{
                    cout<<"好人";
                }
    
            }else{
                cout<<"未知";
            }
        }
    
    } 
    
    /*判断是否结束,没结束返回0  好人胜利返回1  狼人胜利返回2   平局返回3*/
    int is_end(){
        int die_bad=0;
        int die_people=0;
        int die_god=0;
        for(int i=0;i<player_number;i++){
            if((players[i].type == nvwu || players[i].type == yuyanjia || players[i].type == shouwei)&&players[i].die_or_life==die)
                die_god++;
            else if(players[i].type == langren && players[i].die_or_life==die)
                die_bad++;
            else if(players[i].type == cunmin && players[i].die_or_life==die)
                die_people++;
        }
        if((die_bad==die_people || die_bad==die_god)&&(die_bad>=nlangren))
            return 3;
        if(die_bad>=nlangren)
            return 1;
        if(die_people>=ncunmin||die_god>=(player_number>=10 ? 3:2))
            return 2;
        return 0;
    }
    
    /*游戏开始前的骚操作*/
    void before_game(){
        srand(time(NULL));
        init_Show_Window();
        color(green);
        cout<<"欢迎来到狼人杀游戏\t\t\t为了更好的游戏体验,请右键点击上方↑↑,点击\"属性\",点击\"字体\"栏目,将字体修改为宋体或新宋体,将字号改为20\n作者:洛谷393864\n请勿私自转载,违者依法追究法律责任  注:10 11 12人局开设猎人  12人局开设守卫警长\n______________________\n";
        cout<<"请输入玩家人数(8-12人):";
        cin>>player_number;
        while(player_number<8||player_number>12)
            { cout<<"请重新输入!\n"; cin>>player_number; }
        system("cls");
        cout<<"初始化身份中,请稍等.";
        for(int i=0;i<6;i++){
            for(int j=0;j<12;j++){
                cout<<".";
                Sleep(50);
            }   
            cout<<"\b\b\b\b\b\b\b\b\b\b\b\b            \b\b\b\b\b\b\b\b\b\b\b\b";
        }
        system("cls");
    
        init_players();
        cout<<"我的号位:"<<my_number+1<<endl
            <<"我的身份:";
        switch(players[my_number].type){
            case nvwu: cout<<"女巫\n";break;
            case yuyanjia: cout<<"预言家\n";break;
            case cunmin: cout<<"村民\n";break;
            case langren:cout<<"狼人\n";break;  
            case lieren:cout<<"猎人\n"; break;  
            case shouwei:cout<<"守卫\n";break;
        }
        change_daytime();
        system("pause");
        system("cls");
        cout<<"游戏加载中.";int ppppp=rand()%3+2;
        for(int i=0;i<ppppp;i++){
            for(int j=0;j<6;j++){
                cout<<".";
                Sleep(rand()%100+150);
            }   
            cout<<"\b\b\b\b\b\b      \b\b\b\b\b\b";
        }   
        print();
    } 
    
    /*每一天开始前的操作*/
    void something_before_everyday(){
        change_night();
        system("cls");
        print();
        gotoxy(0,7);
        cout<<"________________________";
        gotoxy(0,8);
        color(white);
        cout<<"天黑~请闭眼~~~\n";
    }
    
    /*守卫操作*/
    int shouweishou=0;
    int ShouWei(){
        color(blue);
        cout<<"守卫~请睁眼~~\n";
        Sleep(1500);
        cout<<"你要守护的是?\n";
        if(players[my_number].type==shouwei&&players[my_number].die_or_life == life){
            cin>>shouweishou;
            while(!(shouweishou>=1&&shouweishou<=player_number&&players[shouweishou-1].die_or_life == life)){
                cout<<"请重新输入!\n";
                cin>>shouweishou;
            }
            cout<<"你今晚要守护的是"<<shouweishou<<"号\n";
            Sleep(1500); 
            shouweishou--;
        }else{
            if(players[idxshouwei].die_or_life == life){
                shouweishou=rand()%10;
                while(!(shouweishou>=1&&shouweishou<=player_number&&players[shouweishou-1].die_or_life == life)){
                    shouweishou=rand()%10;
                }
            }
        }   
        Sleep(2000);
        cout<<"守卫请闭眼"<<endl<<endl;
        return shouweishou;
    } 
    
    /*狼人操作*/
    int LangRen(){
        int langrensha=-1;
        color(red);
        cout<<"狼人~请睁眼~~~\n";
        Sleep(1500);
        cout<<"你们今晚要杀~谁~~??\n";
        if(players[my_number].type==langren&&players[my_number].die_or_life == life){
            cin>>langrensha;
            while(!(langrensha>=1&&langrensha<=player_number&&players[langrensha-1].die_or_life==life)){
                cout<<"请重新输入!\n";
                cin>>langrensha;
            }
            cout<<"你们今晚要杀的是"<<langrensha--<<"号\n";
            Sleep(3500);
        }else{
            while(langrensha==-1 || players[langrensha].die_or_life == die || players[langrensha].type==langren){
                langrensha=rand()%player_number;
            }
            Sleep(3000);
        }
        cout<<"狼人请~闭眼~~\n\n";
        return langrensha;
    }
    
    /*女巫操作*/
    int nvwujiu=0,nvwudu=0,is_nvwujiu=0,is_nvwudu=0;
    int NvWu(int langrensha){
        color(purple);
        cout<<"女巫~~请睁眼~~\n";
        Sleep(2000);
        if(players[my_number].type==nvwu&&players[my_number].die_or_life == life){
            if(is_nvwujiu) 
                cout<<"你已经用过解药\n",Sleep(1500);
            else
            {
                cout<<"今晚"<<langrensha+1<<"号死了,你想用解药吗?(1想 / 2不想)\n";
                int is_nvwujie=0;
                cin>>is_nvwujie;
                while(is_nvwujie!=1&&is_nvwujie!=2){
                    cout<<"请重新输入\n";
                    cin>>is_nvwujie;
                } 
                if(is_nvwujie==1) {
                    Sleep(1000);
                    cout<<"已经解救"<<langrensha+1<<"号\n";
                    nvwujiu=langrensha;
                }
                is_nvwujiu=1;
            }
            Sleep(1500);
            if(::is_nvwudu) cout<<"你已经用过解药\n",Sleep(1500);
            else
            {
                cout<<"你想用毒药吗?(1想 / 2不想)\n";
                Sleep(1500);
                int is_nvwudu=0;
                cin>>is_nvwudu;
                while(is_nvwudu!=1&&is_nvwudu!=2){
                    cout<<"请重新输入\n";
                    cin>>is_nvwudu;
                }   
                if(is_nvwudu==1){
                    Sleep(1500);
                    cout<<"你想毒谁?\n"; 
                    cin>>nvwudu;
                    while(!(nvwudu>=1&&nvwudu<=player_number&&players[nvwudu].die_or_life==life)){
                        cout<<"请重新输入\n";
                        cin>>nvwudu; 
                    }
                    nvwudu--;
                    Sleep(1500);
                    cout<<"已经毒死了"<<nvwudu+1<<"号\n";
                }
                ::is_nvwudu=1;
            }   
        }else{
            if(players[idxnvwu].die_or_life == life){
                if(!is_nvwujiu)
                {
                    int is_jiu=rand()%8;
                    if(is_jiu==0){
                        nvwujiu=langrensha;
                        is_nvwujiu=1;
                    }   
                }
                if(!is_nvwudu)
                {
                    int is_du=rand()%4;
                    if(is_du==0){
                        int num=rand()%player_number;
                        nvwudu=num;
                        is_nvwudu=1;
                    }
                }
            }
    
        } 
        cout<<"女巫~请闭眼~~\n\n";
        return nvwujiu*10000+nvwudu;//传回两个变量,“加密”操作 
    }
    
    int yuyanjiabixutoupiao=-1;
    /*预言家操作*/
    void YuYanJia(){
        color(green);
        cout<<"预言家~请睁眼~~\n";
        Sleep(2000);
        if(players[my_number].type==yuyanjia&&players[my_number].die_or_life == life){
            cout<<"请问你想查验谁的身份\n";
            int p;
            cin>>p;
            while(!(p>=1&&p<=player_number)){
                cout<<"请重新输入!\n";
                cin>>p;
            }
            Sleep(2000);
            cout<<p<<"号的身份是——";
            Sleep(1000);
            if(players[p-1].type == langren){
                cout<<"狼人\n";
                players[p-1].is_light = 1;
            }else{
                cout<<"好人\n";
                players[p-1].is_light = 2;
            }
        }else{
            int p=-1;
            while(p==-1||players[p].die_or_life==die||p==idxlieren)
                p=rand()%player_number;
            if(players[p].type==langren)//锁定目标! 
            {
                yuyanjiabixutoupiao=p;
            }
        }
        cout<<"预言家~~请闭眼~~\n";
    }
    
    /*黑夜操作*/
    int LANGRENSHA=-1,NVWUDU=-1,NVWUJIU=-1,SHOUWEISHOU=-1; 
    void Night(){   
        LANGRENSHA=-1,NVWUDU=-1,NVWUJIU=-1,SHOUWEISHOU=-1; 
    
        //如果有12人局,添加守卫 
        if(player_number==12){
            SHOUWEISHOU=ShouWei();
            Sleep(2000);
        } 
        /*狼人部分*/
        LANGRENSHA=LangRen();
        Sleep(3500);
        /*女巫部分*/ 
        int nvwu=NvWu(LANGRENSHA);
        NVWUDU=nvwu%10+nvwu/10%10;
        NVWUJIU=nvwu/10000%10+nvwu/100000%10;
        Sleep(3000);
        /*预言家部分*/
        YuYanJia();
        Sleep(2000);
    }
    
    /*猎人操作*/
    void Lieren(){
        int lierendai=-1;
        cout<<idxlieren+1<<"号是猎人\n";
    
        players[idxlieren].is_light = 1;
        Sleep(1000);
        if(idxlieren==my_number){
            cout<<"你想带走几号?\n";
            cin>>lierendai;
            while(lierendai<1||lierendai>player_number||players[lierendai].die_or_life==die){
                cout<<"请重新输入!\n";
                cin>>lierendai;
            }
            lierendai--;
        }else{
            lierendai=rand()%player_number;
            while(players[lierendai].die_or_life == die){
                lierendai=rand()%player_number;
            }
        }
        Sleep(2000);
        cout<<"猎人选择带走"<<lierendai+1<<"号\n";
        Sleep(2000);
        players[lierendai].die_or_life = die;
    }
    
    void police_die();
    /*判断谁死了*/
    void panduansiwang(){
        system("cls");
        print(); 
        gotoxy(0,7);
        cout<<"________________________\n";
        Sleep(3000);
        color(white);
        cout<<"天亮了\n";
        Sleep(2000);
        gotoxy(0,9);
        cout<<"昨晚";
        bool is_die[15]={false},is_die_lieren=false,flag=false;
        for(int i=0;i<player_number;i++)
        {
            if(players[i].die_or_life==life)
            {
                if(i==LANGRENSHA||i==NVWUDU) {
                    if(players[i].type==lieren) is_die_lieren=true;
                    players[i].killer= (i==LANGRENSHA ? langren:nvwu);
                    players[i].die_or_life=die;
                    is_die[i]=true;
                }
                if(i==SHOUWEISHOU||i==NVWUJIU) {
                    if(players[i].type==lieren) is_die_lieren=false;
                    players[i].killer=-1;
                    players[i].die_or_life=life;
                    is_die[i]=false;
                }   
            }
        }
        bool is_police_die=false;
        for(int i=0;i<player_number;i++)
        {
            if(is_die[i])
            {
                if(flag) cout<<"和"<<i+1<<"号";
                else cout<<i+1<<"号",flag=true;
                if(i==idx_police) 
                    is_police_die=true;
            }
        }
        if(flag) cout<<"死了\n";
        else cout<<"是平安夜\n";
    
        if(is_die_lieren) Lieren();
        if(is_police_die) police_die();
    }
    
    /*选警长*/
    void choose_police(){
        system("cls");
        print();
        color(blue);
        gotoxy(0,7);
        cout<<"________________________\n";
        color(yellow);
        cout<<"下面开始选举警长,各位不能选举自己~\n";
        int tong[100]={0},cannot[100],must[100]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
        memset(cannot,-1,sizeof(cannot));
        CHOOSE:
        color(yellow);
        Sleep(1500);
        for(int i=0;i<player_number;i++)
        {
            if(players[i].die_or_life==life&&!is_include(cannot,i,player_number))
            {
                if(i==my_number)
                {
                    cout<<"你要选举几号?\n";
                    int n;
                    cin>>n;
                    while(n<1||n>player_number||n==i+1||players[n-1].die_or_life==die||!is_include(must,n-1,player_number))
                    {
                        cout<<"请重新输入!\n";
                        cin>>n;
                    }
                    cout<<i+1<<"号选举"<<n--<<"号\n";
                    tong[n]++;
                }
                else
                {
                    int n=rand()%player_number;
                    while(n==i||players[n].die_or_life==die||!is_include(must,n,player_number))
                        n=rand()%player_number;
                    cout<<i+1<<"号选举"<<n+1<<"号\n";
                    tong[n]++;
                }
                Sleep(1500);
            }
        }
        int idx_max=-1,maxn=-1,len=0;
        for(int i=0;i<player_number;i++)
            if(maxn<tong[i])
            {
                maxn=tong[i];
                idx_max=i;
            }
        int maxn_arr[15]={0};
        for(int i=0;i<player_number;i++)
        {
            if(tong[i]==maxn)
            {
                maxn_arr[len++]=i;
            }
        }
        color(blue);
        if(len>1)
        {
            for(int i=0;i<len;i++)
            {
                if(i==len-1)
                {
                    cout<<maxn_arr[i]+1<<"号平票\n"; 
                }
                else
                {
                    cout<<maxn_arr[i]+1<<"号,";
                }
            }
            for(int i=0;i<len;i++)
                cannot[i]=maxn_arr[i];
            for(int i=0;i<player_number;i++)
            {
                if(is_include(cannot,i,len))
                    must[i]=i;
                else
                    must[i]=-1;
            }
            color(white);
            goto CHOOSE;
        }
        cout<<"恭喜"<<idx_max+1<<"号当选警长\n";
        Sleep(3000);
        idx_police=idx_max;
        return;
    }
    
    /*投票*/
    int toupiao(){
        int tong[100]={0},cannot[100]={},must[100]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; 
        memset(cannot,-1,sizeof(cannot));
        gotoxy(0,7);
        color(blue);
        cout<<"________________________\n";
        color(white);
        cout<<"下面进入投票环节\n";
        memset(tong,0,sizeof(tong));
        Sleep(2000);
        TOUPIAO:
        for(int i=0;i<player_number;i++){
            if(players[i].die_or_life == life&&!is_include(cannot,i,player_number)){
                if(i==my_number){
                    color(white);
                    cout<<"你要投几号?\n";
                    int n;
                    cin>>n;
                    while(!(n>=1&&n<=player_number&&is_include(must,n-1,player_number))){
                        cout<<"请重新输入!\n";
                        cin>>n;
                    }
                    Sleep(2000);
                    cout<<setw(2)<<my_number+1<<"号投了"<<setw(2)<<n<<"号";
                    if(my_number==n-1) color(red),cout<<"快来看!这有个疯子投自己!"; 
                    if(i==idx_police) color(yellow),cout<<"(警长)\n"; else cout<<"\n";
                    if(i==idx_police) tong[n-1]++;
                    tong[n-1]++;
                }else{
                    color(white);
                    int t=-1;
                    while(t==-1 || players[t].die_or_life == die || t==i || !is_include(must,t,player_number)){
                        if(i==idxyuyanjia&&yuyanjiabixutoupiao!=-1)
                        {
                            t=yuyanjiabixutoupiao;
                            yuyanjiabixutoupiao=-1;
                            continue;
                        }
                        t=rand()%player_number;
                        if(is_include(idxlangren,i,nlangren))
                        {
                            if(players[t].type == langren)
                                t=-1;
                        }
                    }
                    cout<<setw(2)<<i+1<<"号"<<"投了"<<setw(2)<<t+1<<"号";
                    if(i==idx_police) cout<<"(警长2票)\n"; else cout<<"\n";
                    if(i==idx_police) tong[t]++;
                    tong[t]++;  
                }
    
                Sleep(rand()%1000+1000);
            }
        }
        int idx_max=-1,maxn=-1,len=0;
        for(int i=0;i<player_number;i++)
            if(maxn<tong[i])
            {
                maxn=tong[i];
                idx_max=i;
            }
        int maxn_arr[15]={0};
        for(int i=0;i<player_number;i++)
        {
            if(tong[i]==maxn)
            {
                maxn_arr[len++]=i;
            }
        }
        color(blue);
        if(len>1)
        {
            for(int i=0;i<len;i++)
            {
                if(i==len-1)
                {
                    cout<<maxn_arr[i]+1<<"号平票\n"; 
                }
                else
                {
                    cout<<maxn_arr[i]+1<<"号,";
                }
            }
            for(int i=0;i<len;i++)
                cannot[i]=maxn_arr[i];
            for(int i=0;i<player_number;i++)
            {
                if(is_include(cannot,i,len))
                    must[i]=i;
                else
                    must[i]=-1;
            }
            color(white);
            goto TOUPIAO;
    
        }
    
        cout<<idx_max+1<<"号"<<"出局\n";
        Sleep(4000);
        players[idx_max].die_or_life = die;
        players[idx_max].killer = good;
        return idx_max;
    }
    
    /*警长死亡*/
    void police_die(){
        color(yellow);
        int type;
        if(idx_police==my_number)
        {
            Sleep(1550);
            cout<<"你是想撕毁警徽还是移交警徽?(撕毁输入1,移交输入2)";
    
            cin>>type;
            while(!(type==1||type==2))
            {
                cout<<"请重新输入!\n";
                cin>>type;
            }
        }
        else{
            type=rand()%3+1;
        }
        if(type==1)
        {
            cout<<"警长选择撕毁警徽\n";
            Sleep(1000);
            idx_police=-1;
        }
        else
        {
            int lucky=-1;
            while(lucky==-1||players[lucky].die_or_life==die)
                lucky=rand()%player_number;
            cout<<"警长选择把警徽移交给"<<lucky+1<<"号\n";
            Sleep(1500);
            idx_police=lucky; 
        }
    }
    
    /*故事的最后*/
    void the_end(){
        system("cls");
        switch(is_end()){
            case 1:cout<<"好人胜利\n\n"; break;
            case 2:cout<<"狼人胜利\n\n"; break;
            case 3:cout<<"本局平局\n\n"; break;
        }
        for(int i=0;i<player_number;i++){
            cout<<i+1<<"号位:\t";
            switch(players[i].type){
                case nvwu: cout<<"女巫\t";break;
                case yuyanjia: cout<<"预言家\t";break;
                case cunmin: cout<<"村民\t";break;
                case langren:cout<<"狼人\t";break;
                case lieren:cout<<"猎人\t"; break;  
                case shouwei:cout<<"守卫\t";break;  
            } 
            cout<<"最终";
            switch(players[i].killer){
                case nvwu:cout<<"被女巫毒死\n"; break;
                case langren:cout<<"被狼人杀死\n"; break;
                case good:cout<<"被投票出局\n"; break;
                case lieren:cout<<"被猎人带走\n";break;
                default :cout<<"存活\n";
            }
            cout<<endl;
        }
    }
    
    /*主函数*/
    int main(){
        int wheel=0; 
        before_game();
        while(!is_end()){
            //黑夜准备 
            something_before_everyday();
            Sleep(1500); 
    
            //黑夜部分 
            Night(); //进入黑夜! 
            change_daytime(); //换天 
    
            //天亮了 
            panduansiwang();//判断谁死了 
            Sleep(2000);
            system("cls");
            print();
            if(is_end()) break;
    
            //选警长 
            if(!wheel&&player_number==12)
            {
                choose_police();
                system("cls");
                print();
            }
    
            //投票环节 
            int idx_max=toupiao();//票数最多的人 
            if(idx_max==idx_police){
                police_die();
            }
            if(players[idx_max].type==lieren){//启动猎人程序 
                Lieren();
                if(is_end()) break;
            }
            system("cls");
            print(); 
            wheel++;
        }
    
        the_end();
        system("pause");
        return 0;
    }
    

    丧尸危机

    #include<bits/stdc++.h>
    #include<windows.h>
    #include<time.h>
    #include<conio.h>
    using namespace std;
    int mzhg,zd,swhm,qxs,swx,sn,mp,tongguan,sw1,zd1,sn1,mz1,mp1,zbbj,ccg,mzzd,mz,tongguan1,sw,x,s,cdd,jg,qiang,gun,by,vv,gjj[100],hjj[100],zjj[100];
    void Read()
    {
        ifstream in("丧尸危机存档.in");
        in>>mzhg>>zd>>swhm>>qxs>>swx>>sn>>mp>>tongguan>>sw1>>zd1>>sn1>>mz1>>mp1>>zbbj>>ccg>>mzzd>>mz>>tongguan1>>sw>>x>>s>>cdd>>jg>>qiang>>gun>>by>>vv;
        for(int i=0;i<=99;i++) in>>gjj[i];
        for(int i=0;i<=99;i++) in>>hjj[i];
        for(int i=0;i<=99;i++) in>>zjj[i];
        in.close();
    }
    void Save()
    {
        ofstream out("丧尸危机存档.in");
        out<<mzhg<<' '<<zd<<' '<<swhm<<' '<<qxs <<' '<<swx<<' '<<sn<<' '<<mp<<' '<<tongguan<<' '<<sw1<<' '<<zd1<<' '<<sn1<<' '<<mz1<<' '<<mp1<<' '<<zbbj<<' '<<ccg<<' '<<mzzd<<' '<<mz<<' '<<tongguan1<<' '<<sw<<' '<<x<<' '<<s<<' '<<cdd<<' '<<jg<<' '<<qiang<<' '<<gun<<' '<<by<<' '<<vv<<'\n';
        for(int i=0;i<=99;i++) out<<' '<<gjj[i];out<<'\n';
        for(int i=0;i<=99;i++) out<<' '<<hjj[i];out<<'\n';
        for(int i=0;i<=99;i++) out<<' '<<zjj[i];out<<'\n';
        out.close();
    }
    void Slowsay(string a) {int l=a.size();for(int i=0;i<l;i++){cout<<a[i];if(vv==0) Sleep(20);}printf("\n");if(vv==1) Sleep(100);}
    int read()
    {
        char ch=_getch();
        while(ch>'9'||ch<'0') ch=_getch();
        return ch-48;
    }
    void qp()
    {
        system("cls");if(swx==2) Slowsay("王,"),zd=99999,sw=99999;
        Slowsay("当前你的状态是\n");
        printf("子弹 %d,食物 %d\n",zd,sw);
    }
    int esl()
    {
        system("cls");
        char ch;
        Slowsay("你,饿死了。\n");
        if(vv==0) ch=_getch();
        hjj[1]=1;
        Slowsay("Bad End  1\n");
        ch=_getch();
        s++;
        return 0;
    }
    int mzd()
    {
        hjj[2]=1;
        system("cls");
        char ch;
        Slowsay("你,被丧尸咬死了。\n");
        if(vv==0) ch=_getch();
        Slowsay("Bad End   2\n");
        ch=_getch();
        s++;
        return 0;
    }
    int hd1()
    {
        system("cls");
        Slowsay("在某一天,你家门口响起了敲门声,你打开门,外面的发现让你欣喜若狂\n");
        Slowsay("政府的救援部队已经消灭了这个城市的丧尸,\n他们在这个城市的各个角落搜索着可能存在的幸存者.\n");
        Slowsay("Happy End-----苟到最后\n");Sleep(1000);gjj[1]=1;
        return 0;
    }
    int hd2()
    {
        system("cls");
        int sw;
        char ch;
        Slowsay("在与妹子相处的这些时间里,你与她相爱了\n");
        Slowsay("你们的生活是那样的幸福\n");
        Slowsay("直到有一天......\n");
        Slowsay("基地首领希望你去执行一个任务,你选择\n");
        Slowsay("1.独自一人前往\n");
        Slowsay("2.和妹子一起去\n");
        while(true)
        {
            int x;
            x=read();
            if(x<1||x>2)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            if(x==1)
            {
                Slowsay("当你完成任务回来的时候,发现——\n");
                Slowsay("基地被丧尸攻破了\n");
                Slowsay("这个基地的所有人都被丧尸杀了,一个人都没跑出来\n");
                hjj[4]=1;
                Slowsay("Bad End    4");
                s++;
            }
            if(x==2)
            {
                Slowsay("当你和妹子完成任务回来时,\n");
                Slowsay("基地已经变成一片废墟了\n");
                Slowsay("你和妹子没有办法,只能到处流浪\n");
                Slowsay("不过,两个人总比一个人要好\n");
                gjj[2]=1;
                Slowsay("Happy End------神仙眷侣");
            }
            break;
        }    Sleep(1000);
        return 0;
    }
    int hd3()
    {
        system("cls");
        char ch;
        Slowsay("你就这样平静的生活在这个基地里\n");
        Slowsay("直到某一天,大量的丧尸进攻了这里\n");
        if(zd>9)
        {
            Slowsay("每个人都在尽自己的努力去守卫基地\n");
            Slowsay("每个人都做到了自己能做到的\n");
            Slowsay("最后,奇迹出现了\n");
            Slowsay("大家成功守住了基地\n");
            Slowsay("而你,也因为在守卫过程中立下大功成为了这个基地的英雄\n");
            Slowsay("顺便说一句,到死了你也没女朋友\n");
            gjj[3]=1;
            Slowsay("Happy End-----英雄不朽");
            return 0;
        }
        Slowsay("丧尸的数量实在太多了,\n");
        Slowsay("尽管基地的大家都在尽全力防守\n");
        Slowsay("可基地还是被攻破了\n");
        Slowsay("而你,也死在了这里\n");
        s++;
        hjj[5]=1;
        Slowsay("Bad End     5"); Sleep(1000);
    }
    int hd4()
    {
        system("cls");
        Slowsay("在于少年相处的这些时间里");
        Slowsay("你尽力地保护着他");
        Slowsay("而他也常常给你带来惊喜");
        Slowsay("慢慢的,你开始认清你自己");
        Slowsay("你是个gay");
        Slowsay("于是,你就和少年性福快乐的生活在了一起");
        Slowsay("Happy End-----认清自己");
        gjj[4]=1;  Sleep(1000);
    }
    int td()
    {
        system("cls");
        char ch;
        Slowsay("那箱饼干与你的枪一起发出了强光\n");
        Slowsay("紧接着,他们融为了一体\n");
        Slowsay("当光芒散去时,整个世界都发生了变化\n");
        Slowsay("所有的丧尸都变回了人类\n");
        Slowsay("伟大的勇士!丧尸危机终于解除了!!接下来,是普天同庆的大狂欢!!!\n");
        Slowsay("True End-----拯救世界\n");Sleep(1000);
        Slowsay("???????????????????????????????????");
        Slowsay("......这是怎么回事......");
        Slowsay("......为什么......");
        Slowsay("......不是普通的......");
        Slowsay("......从何而来......");Sleep(1000);
        Slowsay("。 。 。 。 。 。是谁。 。 。 。 。 。");
        Slowsay("你陷入沉思。");
        if(zjj[1]!=1)
        {
            Slowsay("获得线索-----奇特的枪与饼干");
        }
        zjj[1]=1; Sleep(1000);
    }
    int td2()
    {
        system("cls");
        char ch;
        Slowsay("你的变异已经开始了");
        Slowsay("你开始疯狂的进食,直到把自己的胃撑破");
        Slowsay("然后,就眼前一黑失去意识");
        Slowsay("再次醒来时,你已经是一个丧尸了");
        Slowsay("奇怪的是,你还保留着自己的意识");
        Slowsay("你感觉到自己的力气变得更大,速度变得更快");
        Slowsay("或许变成丧尸也不错————你这样想着");
        Slowsay("True End-----认清!·本我");
        if(zjj[2]!=1)
        {
            Sleep(2000);
            Slowsay("获得线索-----延迟变异!·少年");
        }
        zjj[2]=1; Sleep(1000);
    }
    int bd8()
    {
        Slowsay("坐在椅子上的是一个15岁左右的少年");
        Slowsay("正在你因为他的年龄而惊讶时");
        Slowsay("少年却站了起来,看向了你身后的妹子");
        Slowsay("“差不多了吧”,妹子这样说道");
        Slowsay("“可以了”,这是少年的回答");
        Slowsay("然后,你就感到脖子一阵剧痛");Sleep(1000);
        Slowsay("在你失去意识前,妹子一直没有松口。");
        s++;
        Slowsay("Bad End     8");
        if(hjj[8]==0)
        {
            Sleep(2000);
            Slowsay("获得线索-----早已变异!·妹子");
        }
        hjj[8]=1;  Sleep(1000);
    }
    int td3()
    {
        system("cls");
        Slowsay("你和妹子冲出了丧尸的围杀,");
        Slowsay("可是当你们来到那个幸存者基地时");
        Slowsay("却发现那个基地有一些不对");
        Slowsay("所有人都死气沉沉的");
        Slowsay("你们直接走向了首领的房间");Sleep(1000);
        if(zjj[2]==1&&zjj[3]==1)
        {
            bd8();
            return 0;
        }
        Slowsay("换完子弹的你想离开");
        Slowsay("就在你快要离开的时候,妹子抓住了你的手");
        Slowsay("“我喜欢你,别走”,她这样说");
        Slowsay("于是,你留了下来");
        Slowsay("你们的生活是那样的幸福");
        Slowsay("直到有一天......");Sleep(1000);
        Slowsay("基地首领希望你去执行一个任务,\n");
        Slowsay("在执行任务的过程中");
        Slowsay("妹子曾被丧尸咬到过一口");
        Slowsay("她以为你没有发现");
        Slowsay("而你却在远处看到了这一幕");
        Slowsay("奇怪的是,她却并没有变异\n");
        Slowsay("那一刹那你突然想起,");
        Slowsay("你们的房间里,总是弥漫着一股血腥的味道......");Sleep(1000);
        Slowsay("Happy End------神仙眷侣");Sleep(1000);
        Slowsay("???????????????????????????????????");
        Slowsay("True End------认清?·妹子");
        if(zjj[3]==0)
        {
            Sleep(2000);
            Slowsay("获得线索-----不变异?·妹子");
        }
        zjj[3]=1;Sleep(1000);
    }
    int td4()
    {
        system("cls");
        Slowsay("当丧尸危机爆发时,你正呆在家里\n");
        char ch=_getch();
        if(vv==0) ch=_getch();
            system("cls");
            Slowsay("当丧*#******丧尸危机*$*&*^&*机爆发时,**你正呆***&*爆发******#在家里**\n");Sleep(1000);
            Slowsay("***检*#******测到*不**丧尸危**88机*$匹*$**机爆发时,**配***#在家里****\n");Sleep(2000);
            Slowsay("L当****#OG****I危机*$N**E机爆***(RR*8%#404)**发时,**你O*****#在家R里!\n");Sleep(2000);
            system("cls");
        if(vv==0) ch=_getch();
        Slowsay("有什么不对劲");
        Slowsay("你这样想着");
        Slowsay("过去了好多天,\n你还是一个人都没有遇到,\n除了丧尸就是丧尸");
        Slowsay("为什么他们......不见了?");
        Slowsay("\n");
        Slowsay("True End------验证失败");
        zjj[4]=1;
        if(zbbj==0)
            Slowsay("进阶线索-----乱码,废弃与失联"),zbbj=1;Sleep(1000);
    }
    int td5()
    {
        system("cls");
        Slowsay("当少年死去后,整个世界好像变得不同了");
        Slowsay("所有的活人在一瞬间消失");
        Slowsay("所有的丧尸当场去世");
        Slowsay("你的眼前只剩下了黑暗");
        Slowsay("不知道过去了多久,你死了");
        Slowsay("Bad End......");Sleep(1000);
        Slowsay("不,还没有结束");
        Slowsay("虽然好像和往常死去之后的感觉一样");
        Slowsay("但是。。。好像。。。");Sleep(1000);
        Slowsay("有延迟?。。。");
        Slowsay("。。。在这段时间里,你的思考一直没停。。。");
        Slowsay("True End-----死亡姗姗来迟");
        s++;
        if(zjj[5]==0)
            Slowsay("进阶线索-----少年之死");
        zjj[5]=1;   Sleep(1000);
    }
    int tg3()
    {
        Slowsay("当你再次睁开眼时");
        Slowsay("你发现自己躺在一个营养仓内");
        Slowsay("你无比的确认这就是真实的世界");
        Slowsay("脑中的一切开始明晰起来");
        Slowsay("你认为自己知道了一切的真相");
        Slowsay("去杀光人类吧!!!!");
        Slowsay("你这样想着");
        Slowsay("在身着白大褂的丧尸们的欢呼声中");
        Slowsay("你打碎了玻璃,跑出了营养仓");
        Slowsay("来到了外面这个被战争破坏得满目疮痍的世界");
        Slowsay("战火硝烟,炮声隆隆");
        Slowsay("你熟练的发出嘶吼,呼唤着周围的丧尸");
        Slowsay("你指挥着他们,毁掉了一个又一个人类的基地");
        Slowsay("最后,在这场世纪战争中,丧尸们艰难地取得了胜利");
        Slowsay("作为它们的英雄,你自豪的统治着世界。");
        Slowsay("虽然,其实,在那些你不知道的地方");
        Slowsay("一个个一样的营养仓中,装着一个个一样的你。");
        Slowsay("---------------游戏终极剧情通关-------------");
        tongguan1=2; Save(); Sleep(1000);
    }
    int tg2()
    {
        Slowsay("当你再次睁开眼时");
        Slowsay("你发现自己躺在一个营养仓内");
        Slowsay("你无比的确认这就是真实的世界");
        Slowsay("可是你却发现自己没法操纵身体");
        Slowsay("隔着玻璃,一个黑色的身影正在操作着");
        Slowsay("你清晰的看见那个人的大脑裸露出来,与你的接在一起");
        Slowsay("这时,又有一大波记忆涌入脑海。");
        Slowsay("“少年与妹子......是以“成功者”“英雄”“神话传说”为原型创造的人物......”");
        Slowsay("“游戏中的情节与场景......取材于现实世界真实案例......”");
        Slowsay("再往后,你的脑中一片混乱。");
        Slowsay("“...舍弃.........熟练..我....智慧..学习........获得.....”");
        Slowsay("“.....种族...探索.......杀...进化.........帮助..需要.....”");
        Slowsay("“...成熟....兵器.....无敌..下风.......战争...伟大.....英雄.....”");
        Slowsay("激昂的声音一直回荡着。");
        Slowsay("---------------游戏进阶剧情通关-------------");
        tongguan1=1; Sleep(1000);
    }
    int td6()
    {
        Slowsay("一天以后,少年回来了");
        Slowsay("一起回来的还有妹子");
        Slowsay("“找到了......”");
        Slowsay("少年的手中拿着一个破损的铭牌");
        Slowsay("铭牌上的字迹很诡异,但写着熟悉的内容:");
        Slowsay("【22-08-03...】");
        Slowsay("“你的......”");
        Slowsay("妹子神色复杂的看了你一眼");
        Slowsay("“我们是一类人......”");
        Slowsay("“现在,让我把你带出去吧。”");
        if(qxs==1&&swx==0)
        {
            tg2();
            return 0;
        }
        else
        {
            Slowsay("一股强烈的撕扯感出现到了你身上");
            if(swx==1) Slowsay("此时的你,是如此渴望着死亡与结局\n你大笑着张开双臂,迎接了死亡。");
            else Slowsay("此时的你并不能接受如此巨大的伤害"),Slowsay("你死了。");
            Slowsay("Bad End      14");
            if(hjj[14]==0)
                Slowsay("进阶线索-----外面的世界");
            hjj[14]=1;
            s++;
        }Sleep(1000);
    }
    
    int bd6()
    {
        system("cls");
        Slowsay("你感觉到自己正在变异,");
        Slowsay("意识开始逐渐模糊起来");
        Slowsay("你的肚子正无比渴望着食物,你啃噬着触及的一切!");
        Slowsay("但是不够,你的身躯饿得干枯,你甚至开始食用自己的躯体!");
        Slowsay("接着,你眼前一黑,再也没有醒来......");
        s++;
        hjj[6]=1;
        Slowsay("Bad End      6");Sleep(1000);
    }
    
    int bd3()
    {
        system("cls");
        char ch;
        Slowsay("长久的等待终于让你失去了理智,你疯了。\n");
        Slowsay("Bad End   3\n");
        hjj[3]=1;Sleep(1000);
        if(mp==-1)
        {
            Slowsay("当政府的救援队打开你家的门时,你嘶吼着扑了上去");
            if(zd>0)
                Slowsay("他们试图将你击毙,却被你提前一枪击倒");
            else
            {
                Slowsay("你被他们击毙了");
                Slowsay("Bad End       12");
                s++;
                hjj[12]=1;
                return 0;
            }
            Slowsay("你如同一个熟练的猎手,狩猎着救援队");
            Slowsay("当他们全部死去后,你开始享用起你的大餐");
            Slowsay("Bad End           13");
            if(by==0)
                Sleep(2000),Slowsay("进阶线索-----早已变异!·本我"),by=1;
            hjj[13]=1;
            return 0;
        }
        s++;
    }
    int bd7()
    {
        s++;
        system("cls");
        Slowsay("你,被狗咬死了");
        Slowsay("Bad End      7");
        hjj[7]=1;Sleep(1000);
    }
    
    int bd15()
    {s++;
        Slowsay("你发现这笔迹有些不对");
        Slowsay("就好像是新写上去的一样");
        Slowsay("认字迹的话,好像还十分熟悉");  Sleep(1000);
        Slowsay("正当你想的入迷的时候,你的脖子被咬住了");
        Slowsay("在死前,你隐约听到了少年的声音,“Again.”");
        Slowsay("Bad End     15");
        if(hjj[15]==0)
        {
            Sleep(2000);
            Slowsay("进阶线索-----伪造......");
        }
        hjj[15]=1; Sleep(1000);
    }
    int tgg3()
    {
        system("cls");
        Slowsay("你杀掉了少年,并吃掉了他的尸体");
        Slowsay("世界开始崩塌");
        tg3(); Sleep(1000);
    }
    int bd9()
    {
        s++;
        system("cls");
        Slowsay("诡异的是,当你杀光了跟来的丧尸后,发现地下室里并没有丧尸");
        Slowsay("这里有的,只是一个穿着白大褂的尸体");
        Slowsay("在尸体的衣服口袋中,你找到了一个笔记本");
        Slowsay("****(无法辨认)1号****进展*****永生**");
        Slowsay("今********,*号诞生了,他比其*****更*");
        Slowsay("有些不对,*****的发育*****太快***");
        Slowsay("2号的**被***出有*****强感染性*****");
        Slowsay("**********************************");
        Slowsay("***瓶颈,或许我们**应该****活体样本");
        Slowsay("**,**样本*****失去活性,*****但**在动\n");
        if(mp==-1)
        {
            bd15();
            return 0;
        }
        Slowsay("正当你看的入迷的时候,你的脖子被咬住了");
        Slowsay("在死前,你隐约听到了少年的声音,“Again.”");
        Slowsay("Bad End     9");
        if(hjj[9]==0)
        {
            Sleep(2000);
            Slowsay("获得线索-----实验体·1号和2号");
        }
        hjj[9]=1;Sleep(1000);
    }
    
    int tg()
    {
        system("cls");
        Slowsay("不知为何,当你走到这里时,感到世界在一瞬间发生了变化");
        Slowsay("你不知道这个变化发生在那里,你只知道,现在的世界十分违和");
        Slowsay("或许,这个世界不是真实的");
        Slowsay("当你的脑中出现了这个的时候,你眼前的世界,蹦塌了");
        Slowsay("于此同时,大量记忆冲进了你的脑海");
        Slowsay("不,它们只是回来了,这本身就是你的记忆");
        Slowsay("他们在一开始被一些虚假的记忆所替换");
        Slowsay("从记忆中,你得知你此时正在玩一个vr游戏");
        Slowsay("少年与妹子则是游戏的npc");
        Slowsay("这款游戏号称有着超强的代入感");
        Slowsay("你在发售当天就买来玩了");
        Slowsay("“这游戏真是了不起啊”,你这样想着,“再玩一次吧”");
        Slowsay("...是啊,没错,这一切只是游戏,游戏。............");Sleep(1000);
        Slowsay("躺在仓中的你,自始至终,都没有睁开眼。");
        Slowsay("---------------游戏基础剧情通关-------------");
        cdd=0;
        tongguan=1;Sleep(1000);
    }
    int cg()
    {
        system("cls");
        Slowsay("你感觉到违和感在不断加深");
        Slowsay("世界好像不再是真实的");
        Slowsay("你现在脑中只有一种想法\n");Sleep(1000);
        Slowsay("活下去!越久越好!!!"); Sleep(1000);
    }
    int cg2()
    {
        system("cls");
        system("Color C");
        Slowsay("违和感在此时已经聚集到了顶峰\n");
        Slowsay("你的脑中想清楚了一切\n");
        Slowsay("1.那么,下一步是  杀光他们\n");
        Slowsay("2.那么,下一步是  团结起来\n");
        x=read();
        if(x==1)
            Slowsay("已立起尸王线flag,接下来,去打通全 15 badend!"),swx=1,qxs=1;
        else
            Slowsay("“看来你还是没懂啊......”背后传来冷冷的声音\n\n“ A  G  A  I  N   . ”");
        system("Color F");Sleep(1000);
    }
    int Swx()
    {
        system("cls");
        Slowsay("哈。。。哈。。。哈。。。。。。");
        Slowsay("我。。。已经完成了。。。");
        Slowsay("所有的死法。。。我都体验了一遍了。。。");
        Slowsay("我。。。一直是只丧尸吧。。。");
        Slowsay("无论被打倒多少次。。。我都会站起来继续。。。");
        Slowsay("只要是我想通的结局。。。我便一定会通掉它。。。");
        Slowsay("只要是我想杀的人。。。我便一定会杀死他。。。");
        Slowsay("只要是我想知道的真相。。。我便一定会知晓它。");
        Slowsay("我。。。已经不是以前的那个懦弱无能的我了。。。");
        Slowsay("这一轮。。。我。。。要成为王!!!\n");
        Slowsay("在实验室中,为首者发出低哑的嘶吼:");
        Slowsay("所有人员一级戒备!实验,进入最后阶段!!");
        Slowsay("------------终极剧情-尸王线开启!------------");cdd=0;
    }
    int bd10()
    {
        system("cls");
        Slowsay("你发现了另一个基地");
        Slowsay("弹尽粮绝的你选择加入了他们");
        Slowsay("之后的每一天都十分单调");
        Slowsay("外出寻找物资,然后天黑了回家睡觉");
        Slowsay("应该是这样吗?");
        Slowsay("也许吧");
        Slowsay("Bad End     10");
        hjj[10]=1; Sleep(1000);
    }
    int hd5()
    {
        Slowsay("没关系的,一切都会过去的");
        Slowsay("你这样说的");
        Slowsay("他似乎感觉到了你的善意,一点一点向你靠近");
        Slowsay("你紧紧的抱住了他");
        Slowsay("我会保护好你的"); Sleep(1000);
        Slowsay("Happy End-----跨越物种的gay~");  Sleep(1000);
    }
    int sswj()
    {
    Save();
        system("cls");
        int w=0;
        mp=0;
        if(tongguan==1&&zjj[4]==0)
        {
            Slowsay("检测到你已通关,是否领取特殊物品\n");
            Slowsay("1.领取");
            Slowsay("2.不领取");
            while(true)
            {
                x=read();
                if(x==1)
                    mp=-1;
                if(x==2)
                {
                    td4();
                    return 0;
                }
                break;
            }
        }
        else if(tongguan==1)
        {
            Slowsay("检测到你已通关,已领取特殊物品\n");mp=-1;
        }
        char ch;
        if(cdd==1)
        {
            Slowsay("是否读取存档\n");
            Slowsay("1.读取\n");
            Slowsay("2.不读取\n");
            x=read();
            if(x==1)
            {
                sw=sw1;
                zd=zd1;
                sn=sn1;
                mz=mz1;
                mp=mp1;
                goto cddd1;
            }
        }
        system("cls");
        Slowsay("当丧尸危机爆发时,你正呆在家里\n");if(vv==0) ch=_getch();
        Slowsay("你有10点物资可以分配到子弹和食物上");
        if(swx==2) Slowsay("...\n\n但是!不!我已经不会再惧怕食物短缺与丧尸小兵了!\n\n我,应当是世界的王!!\n"),zd=99999,sw=99999;
        else{if(vv==0) ch=_getch();
        int x,y;
        qiang=0;gun=0;zd=0;sw=0;mz=0;mzzd=0;sn=0;mzhg=0;
        Slowsay("\n请输入你的选择(此次输入需键入回车,例:5 5 )\n");
        while(true)
        {
            scanf("%d%d",&x,&y);
            zd=x;sw=y;
            if(x+y!=10||x<0||y<0)
            {
                if(x==666666&&y==5201314)
                {
                    Slowsay("启用秘籍\n");
                    Slowsay("请输入你真正需要的子弹数和食物数(上限:999 )\n");
            scanf("%d%d",&x,&y);
            zd=min(x,999);sw=min(y,999);
                    break;
                }
                Slowsay("请重新输入\n");
                w++;
                if(w>5)
                {
                    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
                    Slowsay("行了行了,这只是第一个选择而已\n"),
                    Slowsay("有必要这么皮吗\n"),
                    Slowsay("自动分配食物3个子弹7个\n");
                    if(vv==0) ch=_getch();
                    sw=3,zd=7;
                    break;
                }
            }
            else break;
        }
        }
        Slowsay("你的家里是个较为安全的地方,你可以选择搜索你家的物资或是去邻居家看看\n");
        if(vv==0) ch=_getch();
        Slowsay("1.留在家中\n");
        Slowsay("2.前往邻居家\n");
        while(true)
        {
            x=read();
            if(x!=1&&x!=2)
                Slowsay("请重新输入\n");
            else
                if(x==1)
                {if(swx==2) {Slowsay("饿啊!为什么我还呆在家里!!");break;}
                else {
                    Slowsay("在二楼,你发现了一些食物食物+3\n");
                    if(vv==0) ch=_getch();
                    Slowsay("在家里过了一夜,食物-1\n");
                    sw=sw+2;
                    break;
                }}
                else
                {if(swx==2) {Slowsay("可恶!为什么邻居家里没有人!!");break;}
                else {
                    Slowsay("在前往邻居家的路上,你遇到了丧尸\n");
                    if(vv==0) ch=_getch();
                    if(zd<1)
                    {
                        Slowsay("你朝他开了一枪,不过枪里没有子弹,你被他咬死了\n");
                        if(vv==0) ch=_getch();
                        hjj[11]=1;
                        Slowsay("Bad End      11\n");
                        s++;
                        if(vv==0) ch=_getch();
                        Slowsay("另外在说一句,一个子弹都不带,还到处乱浪,你是真的作");
                        return 0;
                    }
                    else
                    {
                        Slowsay("你用你手中的枪结束了他的生命,子弹-1\n");
                        zd=zd-1;
                        if(vv==0) ch=_getch();
                        Slowsay("邻居家里不知为何并没有人,你在仔细搜索后发现了一个弹夹,里面有4发子弹\n");
                        zd+=4;
                        if(vv==0) ch=_getch();
                        Slowsay("在邻居家过了一夜后,食物-2\n");
                        sw=sw-2;
                        if(sw<0)
                        {
                            esl();
                            return 0;
                        }
                    }
                    break;
                }}
        }
        if(vv==0) ch=_getch();
        qp();
        Slowsay("你回想起这附近有一座商场,你决定\n");
        if(vv==0) ch=_getch();
        Slowsay("1.前往商场\n");
        Slowsay("2.到处乱走\n");
        Slowsay("3.留在屋子里\n");
        while(true)
        {
            x=read();
            if(x!=1&&x!=2&&x!=3)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            if(swx==2&&x==1) {system("cls"),Slowsay("你循着残存的记忆前往商场,找到了适合你膨胀体型的衣服,可以继续隐藏下去。\n\n"),mz=1;break;}
            else if(swx==2&&x==2) {system("cls"),Slowsay("你到处乱走,见人即杀,丧尸与人类的血混合着溅满了街道,\n惨叫连连,火光接天,如同末世一般。\n你站在尸山上狂笑,不屑于看那些渺小的灵魂。\n\n然而,你丝毫没有注意,一个娇小的身影远远的看到了你,捂着嘴逃之夭夭。\n\n"),mz=10086;break;}
            else if(swx==2&&x==3) {system("cls");Slowsay("你如一名老练的猎手忍耐着饥饿,终于等来了敲门声。\n你得意洋洋的屠杀着这送上门来的大餐\n并跟踪着逃兵进入了幸存者基地。\n那一天,残阳似血,为浸染大地的红再镶上一道道金光。\n\n");Sleep(1000);return 0;}
            else if(x==3)
            {
                if(sw<2)
                {
                    esl();
                    return 0;
                }
                Slowsay("无聊正在逐渐消磨你的意志,但你还是坚持了下来。食物-2\n");
                sw=sw-2;
                if(vv==0) ch=_getch();
                Slowsay("之后的每一天你都是这样,独自一人在家中等待救援\n");
                if(vv==0) ch=_getch();
                Slowsay("在过了好久之后\n");cout<<mp;
                if(sw<6)
                {
                    esl();
                    return 0;
                }
                x=rand()%2;
                if(x==1&&mp==0) {hd1();return 0; }
                else {bd3();return 0;}
            }
            else if(x==2)
            {
                int xx=rand()%3;
                if(xx!=0)
                {
                    Slowsay("在到处乱走的过程中,你遇到了来自世界各地的丧尸,子弹-2\n");
                    if(zd<2)
                    {
                        mzd();
                        return 0;
                    }
                    zd=zd-2;
                }
                else
                {
                    Slowsay("在到处乱走的过程中,你走入了一处曾为战场的废墟\n");
                    if(vv==0) ch=_getch();
                    Slowsay("你循着硝烟味,终于找到了军队残留的弹药箱,子弹+6\n");
                    zd+=6;
                }
                break;
            }
            else if(x==1)
            {
                if(zd<4)
                {
                    mzd();
                    return 0;
                }
                Slowsay("在前往商场的过程中,你遇到了丧尸,子弹-4\n");
                zd=zd-4;
                if(vv==0) ch=_getch();
                Slowsay("你在商场发现了食物与子弹,食物+3,子弹+2\n");
                sw=sw+3;zd=zd+2;
                break;
            }
        }
        if(mz!=10086)
        {Slowsay("你在回家的路上发现了一个女幸存者\n");
        if(vv==0) ch=_getch();
        Slowsay("她试图向你讨要食物,你的选择是\n");
        Slowsay("1.不给\n");
        Slowsay("2.给她2份食物\n");
        Slowsay("3.给她2份子弹\n");
        Slowsay("4.给她一枪\n");
        while(true)
        {
            x=read();
            if(x<1||x>4)
            {
                Slowsay("请重新输入。\n");
                continue;
            }
            if(x==1)
            {
                Slowsay("妹子生气的走了。\n");
                if(vv==0) ch=_getch();
            }
            if(x==2)
            {
                if(sw<2)
                {
                    Slowsay("食物不足\n");
                    continue;
                }
                sw=sw-2;
                mzhg++;
                Slowsay("你的食物-2,妹子好感度+1\n");
                if(vv==0) ch=_getch();
            }
            if(x==3)
            {
                if(zd<2)
                {
                    Slowsay("子弹不足\n");
                    continue;
                }
                mzzd=1;
                Slowsay("你给了妹子两份子弹,妹子离开了\n"),zd=zd-2;
                if(vv==0) ch=_getch();
            }
            if(x==4)
            {
                if(zd<1)
                {
                    Slowsay("子弹不足\n");
                    continue;
                }
                zd=zd-1;
                Slowsay("你一枪杀死了妹子,并从她的尸体上找到了4份食物\n");
                sw=sw+4;
                mzhg=-1;
                if(swx==2) Slowsay("你吃掉了妹子的尸体,真是人间佳肴!\n"),mzhg=-10086;
            }
            if(swx==2&&x!=4) Slowsay("你看着妹子的背影在心中狂笑\n"),mzhg=10086;
            break;
        }}
        Slowsay("又过了一夜,你的食物-2\n");
        if(vv==0) ch=_getch();
        qp();
        sw=sw-2;
        if(sw<0)
        {
            esl();
            return 0;
        }
        if(mzhg==1) Slowsay("那个妹子又来找到了你,并邀请你加入他们的幸存者基地\n");
        else Slowsay("你在附近发现了一个幸存者基地\n");
        if(swx!=2){
        Slowsay("在前往基地的途中,你遇到了丧尸\n");
        Slowsay("你且战且退,大量丧尸把你逼进了一家商店\n");
        Slowsay("门口的丧尸越来越多,你选择\n");
        Slowsay("1.杀出去\n");
        Slowsay("2.守在这\n");
        while(true)
        {
            x=read();
            if(x<1||x>2)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            if(x==1)
            {
                int res=0;
                if(mzhg>0)
                    res=1;
                else res=3;
                if(zd<res)
                {
                    mzd();
                    return 0;
                }
                zd=zd-res;
                printf("你消耗了一些子弹冲了出去,子弹-%d\n",res);
                if(mzzd==1&&mp==-1)
                {
                    Slowsay("妹子在她杀死的丧尸的尸体上找到了许多物资,子弹+7,食物+3\n");
                    zd=zd+7;sw=sw+3;
                    mz=1;
                    break;
                }
                x=rand()%5;
                if(res==1&&x!=3)
                    Slowsay("妹子为了帮你突围,被丧尸咬到,然后自杀了。\n"),mzhg=-1;
                if(x==3&&res==1)
                {
                    td3();
                    return 0;
                }
            }
            else
            if(x==2)
            {
                if(zd<5)
                {
                    mzd();
                    return 0;
                }
                zd=zd-5;
                Slowsay("你守在这家商店里直到杀死了所有找来的丧尸,子弹-5\n");
                if(mzhg==1)
                {
                    Slowsay("妹子在商店中发现了一把无限子弹的枪,子弹+10086\n");
                    zd=10086;
                    if(vv==0) ch=_getch();
                    Slowsay("但是妹子在翻找货架的时候被沾了丧尸血的货架划伤\n");
                    Slowsay("妹子自杀了\n");
                    mzhg=-1;
                }
            }
            break;
        }}
        if(vv==0) ch=_getch();
        qp();
        Slowsay("你来到了这个幸存者基地\n");
        if(mz==10086) {system("cls");Slowsay("人们在一位年轻首领的带领下顽强的与你战斗\n每个人都在尽自己的努力去守卫基地\n哪怕战友们一个个倒下\n哪怕首领被你愤怒的捏爆脑袋\n没有一个人放弃战斗,没有一个人抛弃希望\n\n最后,奇迹出现了\n\n在基地的废墟中,你的尸体沉重的倒下。\n\n");s++;Sleep(1000);return 0;}
        Slowsay("这个基地的首领表示可以用子弹交换你手中的食物\n");
        printf("你还有%d份食物,%d份子弹\n",sw,zd);
        if(vv==0) ch=_getch();
        Slowsay("请输入你需要的子弹数(0-9)\n");
        while(true)
        {
            x=read();
            if(x<0||x>sw)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            sw=sw-x;
            zd=zd+x;
            if(x>=1)
            {
                Slowsay("首领很开心你能提供稀缺的食物,多给了你1份子弹\n");
                zd=zd+2;
            }
            break;
        }
        if(vv==0) ch=_getch();
        qp();
        Slowsay("又过了一天,食物-2");
        sw=sw-2;
        if(sw<0)
        {
            esl();
            return 0;
        }
        if(vv==0) ch=_getch();
        system("cls");
        Slowsay("基地首领希望你加入这个基地\n");
        Sleep(500);
        Slowsay("你的选择是\n");
        Sleep(500);
        system("Color C");
        Slowsay("1.留在这");
        Slowsay("2.离开");
        while(true)
        {
            x=read();
            if(x<1||x>2)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            system("Color F");
            if(swx==2&&x==1){system("cls");Slowsay("在一个月黑风高的夜里,你终于忍不住袭击了营地。\n年轻首领被你梦中封喉。\n人们顽强的与你战斗\n每个人都在尽自己的努力去守卫基地\n没有一个人放弃战斗,没有一个人抛弃希望\n但是他们失败了。\n在基地的废墟中,英雄们的尸体沉重的倒下。\n\n而你狂笑着吞噬着一切。\n\n");Sleep(1000);return 0;}
            else if(x==1)
            {
                if(mzhg>-1) hd2();
                else hd3();
                return 0;
            }
            else if(x==2)
            {
                Slowsay("你决定\n");
                Slowsay("1.当天离开\n");
                Slowsay("2.再停留一天\n");
                while(true)
                {
                    x=read();
                    if(x<1||x>2)
                    {
                        Slowsay("请重新输入\n");
                        continue;
                    }
                    if(x==1) break;
                    if(x==2)
                    {
                          if(vv==0) ch=_getch();
                         qp();
                        Slowsay("这个基地的首领表示可以用子弹交换你手中的食物\n");
                        printf("你还有%d份食物,%d份子弹\n",sw,zd);
                        if(vv==0) ch=_getch();
                        Slowsay("请输入你需要的子弹数\n");
                        while(true)
                        {
                            x=read();
                            if(x<0||x>sw)
                            {
                                Slowsay("请重新输入\n");
                                continue;
                            }
                            sw=sw-x;
                            zd=zd+x;
                            if(x>=3)
                            {
                                Slowsay("首领很开心你能提供稀缺的食物,多给了你3份子弹\n");
                                zd=zd+3;
                            }
                            break;
                        }
                        sw=sw-2;
                        if(sw<0)
                        {
                            esl();
                            return 0;
                        }
                        Slowsay("又过了一夜,食物-2\n");
                    }
                    break;
                }
                Slowsay("在你离开的时候,一个少年跑了过来。\n");
                Slowsay("他说,他想要和你一起走\n");
                Slowsay("1.带上他\n");
                Slowsay("2.不带他\n");
                while(true)
                {
                    x=read();
                    if(x<1||x>2)
                    {
                        Slowsay("请重新输入\n");
                        continue;
                    }
                    if(x==2)
                    {
                        Slowsay("少年生气的离开了");
                        if(swx!=2) Slowsay(",当他走远了,你才发现\n\n在刚刚的接触中,他偷走了你所有的子弹\n");
                        else Slowsay("\n当你走远后,你才发现,少年一直冷笑着跟在你的身后\n"),sn=1;
                        zd=0;
                    }
                    if(x==1)
                    {
                        Slowsay("你选择上少年一起走\n");
                        Slowsay("少年将他身上带着的一份食物交给了你\n");
                        sw=sw+1;
                        Slowsay("食物消耗+1,少年入队\n");
                        sn=1;
                    }
                    break;
                }
            }
            break;
        }
        if(vv==0) ch=_getch();
        qp();
        printf("你在路边的一座没人的房子里过了一夜,食物-%d\n",2+sn);
        sw=sw-2-sn;
        if(vv==0) ch=_getch();
        if(sn==1&&swx==2)
        {
            Slowsay("\n1.杀了少年,这时没人可以阻止你!\n");
            Slowsay("2.我决定在少年面前一直隐瞒到底\n");
            x=read();
            if(x==1){Slowsay("少年不见了,难道他发现了......\n\n你一回头,少年咯咯笑着咬住你的脖子\n\n你应该等我虚弱时再下手啊.....\n\n");s++;return 0;}
        }
        if(sw<0)
        {
            esl();
            return 0;
        }
        Slowsay("是否存档?\n");
        Slowsay("1.存档(记录当前进度,只能有一个存档)\n");
        Slowsay("2.不存\n");
        x=read();
        if(x==1)
        {
            cdd=1;
            sw1=sw;
            zd1=zd;
            mp1=mp;
            mz1=mz;
            sn1=sn;
            Slowsay("存档成功");
        }
    cddd1:
        qp();
        if(sn==1)
        {
            vv=0;
            Slowsay("今天一早你就被少年叫醒了,\n");
            if(vv==0) ch=_getch();
            Slowsay("他在床底下发现了一箱方便面,食物+8\n");
            sw=sw+8;
            Slowsay("少年向你讨要武器,你决定\n");
            Slowsay("1.把枪给他\n");
            Slowsay("2.把捡到的水管给他\n");
            Slowsay("3.什么都不给他\n");
            while(true)
            {
                x=read();
                if(x<1||x>3)
                {
                    Slowsay("请重新输入\n");
                    continue;
                }
                if(x==1) gun=0,qiang=2;
                if(x==2) gun=2,qiang=1;
                if(x==3) gun=0,qiang=1;
                break;
            }
        }
        else
        {
            Slowsay("你在冰箱里发现了几包巧克力\n");
            if(vv==0) ch=_getch();
            Slowsay("希望它们还没过期吧,食物+3\n");
            sw=sw+3;
        }
        if(vv==0) ch=_getch();
        Slowsay("今天你们来到了一家大商场\n");
        Slowsay("你决定\n");
        Slowsay("1.独自探索1楼\n");
        Slowsay("2.独自探索2楼\n");
        if(sn==1)
        {
            Slowsay("3.和少年一起探索2楼");
        }
        while(true)
        {
            x=read();
            if(x<1||x>3)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            if(x==1)
            {
                Slowsay("你在一楼发现了一些子弹,子弹+3\n");
                zd=zd+3;
                Slowsay("奇怪的是,一只丧尸都没有看到\n");
                if(vv==0) ch=_getch();
                if(sn>0)
                {
                    if(qiang==2)
                    {
                        Slowsay("当你来到二楼时,发现了一地尸体\n");
                        Slowsay("少年就倒在这尸体中间,他死前手还紧紧握着枪\n");
                        Slowsay("你把枪拿了回来,并在少年的尸体下面发现了一箱压缩饼干\n");
                        Slowsay("食物+10086\n");
                        if(vv==0) ch=_getch();
                        sw=10086;
                        if(sw>10000&&zd>9000)
                        {
                            td();
                            return 0;
                        }
                        sn=0;
                        qiang=1;
                    }
                    else
                    {
                        Slowsay("当你来到二楼时,发现了少年的尸体\n");
                        if(vv==0) ch=_getch();sn=0;
                        Slowsay("你紧紧握着手中的枪,猛地一回头\n");
                        Slowsay("四周大量的丧尸向你涌来\n");
                        if(vv==0) ch=_getch();
                        zd=zd-5;
                        if(zd<0)
                        {
                            mzd();
                            return 0;
                        }
                        Slowsay("你杀光了这些丧尸,子弹-5\n");
                        if(vv==0) ch=_getch();
                        Slowsay("你在二楼找到了食物,食物+3\n");
                        sw+=3;
                    }
                }
            }
            if(x==2)
            {
                Slowsay("你来到了二楼,数之不尽的丧尸忽然从阴影中窜出\n");
                if(qiang==2)
                {
                Slowsay("尽管你没了枪也尽力抵抗,可丧尸的数量实在太多。\n");
                    mzd();
                    return 0;
                }
                if(vv==0) ch=_getch();
                zd-=5;
                if(zd<0)
                {
                Slowsay("尽管你尽力抵抗,可丧尸的数量实在太多。\n");
                    mzd();
                    return 0;
                }
                Slowsay("你杀光了这些丧尸,子弹-5\n");
                if(vv==0) ch=_getch();
                Slowsay("你在二楼找到了食物,食物+3\n");
                sw+=3;
                if(sn==1)
                {
                    Slowsay("少年在一楼找到了子弹,子弹+3\n");
                    zd=zd+3;
                }
            }
            if(x==3&&sn==1)
            {
                system("cls");
                Slowsay("你们来到了二楼\n");
                if(vv==0) ch=_getch();
                system("Color C");
                Slowsay("数之不尽的丧尸从阴影中窜出");
                Slowsay("尽管你们尽力抵抗,可丧尸的数量实在太多。");
                if(gun!=2&&qiang!=2)
                {
                    Slowsay("没有武器的少年被当场咬死。");
                    if(mp==-1&&mz==0)
                    {
                        td5();
                        return 0;
                    }
                    sn=0;
                }
                Slowsay("其中一只丧尸趁你不注意冲到了你的旁边");
                if(gun==2) Slowsay("就在你要被咬死的时候,少年扔出了手中的水管\n,救下了你");
                else if(qiang!=2)
                {
                    zd=zd-3;
                    if(zd<0)
                    {
                        mzd();
                        return 0;
                    }
                    Slowsay("你赶忙回头几枪补掉了这只丧尸,子弹-3");
                }
                zd=zd-3;
                if(qiang==2||zd<0)
                {
                    system("Color F");
                    mzd();
                    return 0;
                }
                system("Color F");
                Slowsay("经过了一番苦战,你们终于战胜了所有丧尸,子弹-3");
                if(vv==0) ch=_getch();
            }
            break;
        }
        if(vv==0) ch=_getch();
        qp();
        if(vv==0) ch=_getch();
        printf("又过了一夜,食物-%d\n",sn+2);
        sw=sw-2-sn;
        if(sw<0)
        {
            esl();
            return 0;
        }
        qp();
        Slowsay("今天在出门的时候\n");
        Slowsay("你遇到了一条流浪狗\n");
        Slowsay("1.用枪打死它\n");
        Slowsay("2.用食物打发它\n");
        while(true)
        {
            x=read();
            if(x<1||x>2)
            {
                Slowsay("请重新输入\n");
                continue;
            }
            if(x==1)
            {
                zd=zd-1;
                if(zd<0)
                {
                    bd7();
                    return 0;
                }
                Slowsay("你一枪打死了这条狗,子弹-1\n");
                if(sn==0) break;
                Slowsay("在打死了狗之后,你忽然发现少年的脸色不太好\n");
                if(vv==0) ch=_getch();
                Slowsay("原来,在昨天的商场中,少年早就被咬了一口");
                Slowsay("他一直瞒着你,不敢说出来");
                Slowsay("此时,他闻到了血腥味,看到了尸体,已经忍不住,濒临变异了!!");
                Slowsay("你决定\n");
                Slowsay("1.杀了他\n");
                Slowsay("2.不杀他\n");int a3=0;
                if(gjj[4]==1&&zd<4)
                {
                    Slowsay("3.安抚他\n");a3=1;
                }
                while(1)
                {
                    x=read();
                    if(x<1||x>3||(x==3&&a3==0))
                    {
                        Slowsay("请重新输入\n");
                        continue;
                    }
                    if(x==1)
                    {
                        if(swx==2)
                        {
                            if(mzhg<-1000) tgg3();
                            else Slowsay("\n“杀我还早的很呢......”\n\n少年咯咯笑着挡下了你所有的攻击\n\n“因为你还不是一个优秀的丧尸......”"),Sleep(1000),mzd();
                            return 0;
                        }
                        if(vv==0) ch=_getch();
                        if(mp==-1&&mz==0)
                        {
                            Slowsay("奇怪的是,你直接秒掉了他。\n");Sleep(1000);
                            sn=0;
                            td5();
                            return 0;
                        }
                        else if(mp==-1&&mz!=0)
                        {
                            Slowsay("突然,妹子出现了。\n");
                            Slowsay("“放着我来!”,妹子与少年搏斗起来,妹子的力气极大,竟然真的压制住了少年!\n");
                            Slowsay("在你的惊恐目光下,少年的皮肤渐渐变淡,重新变回了“人”!\n");
                            Slowsay("这时,你才注意到少年的声音一直带着点沙哑,如同低吼一般\n");
                            Slowsay("“我没事。”他说。\n");
                        }
                        else
                        {
                        system("Color C");
                        Slowsay("你试着向他开枪,子弹穿过了他的身体\n");
                        Slowsay("你十分惊恐,疯狂地倾泻着手中的弹药\n");
                        Slowsay("“没有用的。”少年咯咯笑着向你走进,\n");
                        Slowsay("而他的伤口却以肉眼可见的速度愈合!\n");
                        Slowsay("怎么可能!怎么可能,怎么可能......\n");
                        system("Color F");
                            mzd();
                            if(zjj[9]==0)
                            {
                                Slowsay("获得线索-----无敌变异!·少年\n");Sleep(1000);
                                zjj[9]=1;
                            }
                            return 0;
                        }
                    }
                    if(x==2)
                    {
                        system("Color C");
                        Slowsay("你看着少年变异\n");
                        Slowsay("奇怪的是,他变异后并没有像其他的丧尸一样,向你扑过来\n");
                        Slowsay("而是躲在墙角瑟瑟发抖\n");
                        Slowsay("你慢慢的走过去\n");
                        Slowsay("就在你走近的时候,少年突然暴起\n");
                        Slowsay("狠狠地咬住了你的手臂\n");
                        Slowsay("你赶忙用枪打死他,可是为时已晚\n");
                        system("Color F");
                        sn=0;
                        if(sw>=6){td2();return 0;}
                        else{bd6();return 0;}
                    }
                    break;
                }
                if(x==3&&gjj[4]==1)
                {
                    gjj[5]=1;
                    hd5();
                    return 0;
                }
            }
            if(x==2)
            {
                sw=sw-1;
                if(sw<0){bd7();return 0;}
                Slowsay("你用一份食物引开了这条狗,食物-1\n");
            }
            break;
        }if(swx==2)
        {system("cls");if(sn==1) Slowsay("少年的变异的很突然,但身为丧尸的你没有受到攻击\n你们结伴一起狩猎着人类\n只是,与少年相处的越久,你就越发感受到他的强大。\n你只好收起杀心跟在他后面。\n应该是这样吗?"),Sleep(1000),Slowsay("\n\n“我错过了机会”\n");
        else Slowsay("少年死后,你无聊的屠杀着一切,\n在接下来的几天里,你轻松的杀掉了城中所有的生物\n之后,你只能天天游荡,无助的面对着这座死城\n应该是这样吗?\n"),Sleep(1000),Slowsay("\n“我走错了路。”");
        Sleep(1000);return 0;}
        if(vv==0) ch=_getch();
        if(sn==1&&sw>=4&&gun==2&&zd>5){hd4();return 0;}
        if(sn==1)
        {
            Slowsay("又过了一天,食物-2\n");
            sw=sw-2;
            if(sw<0){esl();return 0;}
            if(vv==0) ch=_getch();
                system("cls");
            Slowsay("今天早上,你发现少年不见了\n");
            Slowsay("你决定\n");
            Slowsay("1.去寻找他\n");
            Slowsay("2.不去找他\n");
            while(true)
            {
                x=read();
                if(x<1||x>2)
                {
                    Slowsay("请重新输入\n");
                    continue;
                }
                if(x==1)
                {
                system("cls");qp();
                    Slowsay("你通过蛛丝马迹一路追踪,来到了一座大厦前\n");
                    Slowsay("在路上,你遭遇了丧尸,子弹-2\n");
                    zd=zd-2;
                    if(zd<0)
                    {
                        mzd();
                        return 0;
                    }
                    Slowsay("你决定\n");
                    system("Color C");
                    Slowsay("1.破门!冲入大厦\n");
                    Slowsay("2.悄悄开门,潜入大厦\n");
                    Slowsay("3.寻找其它的入口\n");
                    while(true)
                    {
                        x=read();
                        if(x<1||x>3)
                        {
                            Slowsay("请重新输入\n");
                            continue;
                        }
                        if(x==1)
                        {
                            int xx=rand()%4;
                            Slowsay("你进入大厦才发现这里几乎充满了丧尸!");
                            Slowsay("丧尸似乎被你惊醒,如同海啸般向你涌来!");
                            system("Color F");
                            if(zd>6) Slowsay("怎么回事!!你一路且战且退来到了地下室"),zd-=6,bd9();
                            else if(xx==0) Slowsay("幸运的是,你退后的脚碰到了地下室的暗门,Thanks God!"),bd9();
                            else Sleep(1000),mzd();
                            return 0;
                        }
                        if(x==2)
                        {
                            int xx=rand()%6;
                            Slowsay("你进入大厦才发现这里几乎充满了丧尸!");
                            system("Color F");
                            Slowsay("怎么回事!!你害怕得定在原地,奇怪的是它们并没有向你扑来,只是疲惫的看着你。");
                            Slowsay("定睛一看,丧尸们个个躯体畸形,断手断脚者不乏其数");
                            Slowsay("再一看,这些丧尸们被奇怪的机器束缚,不得踏出大厦一步。");
                            Slowsay("你大着胆子靠近一个丧尸,发现它的头上有着模糊的字迹");
                            Slowsay("【21.7.29,失败】");Sleep(1000);
                            Slowsay("瞬间,那个丧尸惊恐地捂住头上的字,发出奇怪的吼声!");
                            Slowsay("其它丧尸如同被激怒,海啸般向你涌来!");
                            if(zd>6) Slowsay("怎么回事!!你一路且战且退来到了地下室"),zd-=6,bd9();
                            else if(xx==0) Slowsay("幸运的是,你退后的脚碰到了地下室的暗门,Thanks God!"),bd9();
                            else Sleep(1000),mzd();
                            return 0;
                        }
                        if(x==3)
                        {
                            system("Color F");
                            Slowsay("你走入刚刚的大街,你的老相识开心地吐着舌头看着你");
                            Slowsay("......后面跟着它的一堆朋友......");
                            Slowsay("......你被讨食的狗狗们追着跑过了两条大街,不停地扔出食物来减缓它们的攻势......");
                            if(sw>5) Slowsay("终于,它们全部满足的趴倒在了地上。\n领头狗如同可以听懂人话一样,将你带到了一个隐蔽的地道口前......"),sw-=5,bd9();
                            else bd7();
                            return 0;
                        }
                        break;
                    }
                }
                break;
            }
        }
        qp();
        if(vv==0) ch=_getch();
        if(mz==1&&sn==1&&swx==0){td6();return 0;}
        Slowsay("又过了一天,食物-2");
        sw=sw-2;if(sw<0){esl();return 0;}
        Sleep(500);
        Slowsay("遭遇丧尸,子弹-3");
        zd=zd-3;if(zd<0){mzd();return 0;}
        Sleep(500);
        Slowsay("又过了一天,食物-2");
        sw=sw-2;if(sw<0){esl();return 0;}
        Sleep(500);
        Slowsay("遭遇丧尸,子弹-2");
        zd=zd-2;if(zd<0){mzd();return 0;}
        Sleep(500);
        if(ccg==1){tg(); return 0;}
        else{bd10();return 0;}
    }
    int main()
    {
        srand(time(0));
        Read();
        int go=0;
        while(tongguan1!=2)
        {
            int v=0;
            char ch;
            mp=0;
            if(go==1){
            Sleep(1000);
            if(vv==0) ch=_getch();
            system("cls");Save();}go=1;
            Slowsay("1.进行游戏\n");
            Slowsay("2.查看成就\n");
            Slowsay("3.查看线索(获得全部线索后通关游戏)\n");
            Slowsay("4.获得一条随机的提示\n");
            Slowsay("5.游戏相关\n");
            Slowsay("6.极速模式\n");
            Slowsay("7.退出游戏\n");
            x=read();
            if(x==1)
            {
                sswj();
                if(s>50&&swhm==0)
                {
                    swhm=1;
                    Slowsay("又死了啊......");
                    Slowsay("这已经是第几次了呢......");
                    Slowsay("一个柔和的声音从耳边传来");
                    Slowsay("或许早该放弃了");Sleep(1000);
                    Slowsay("获得线索-----计数者");
                }
            }
            if(x==2)
            {
                int v1=0;
                system("cls");
                if(tongguan1==2) Slowsay("\n已通关终极剧情\n");
                if(tongguan1==1) Slowsay("\n已通关进阶剧情(进阶不重要!终极才是王道!)\n");
                if(tongguan==1) Slowsay("\n已通关基础剧情\n");
                int v=0;
                Slowsay("\nHappy Bnd 达成\n");
                if(gjj[1]==1) Slowsay("苟到最后\n");else Slowsay("未达成\n");
                if(gjj[2]==1) Slowsay("神仙眷侣\n");else Slowsay("未达成\n");
                if(gjj[3]==1) Slowsay("英雄不朽\n");else Slowsay("未达成\n");
                if(gjj[4]==1) Slowsay("认清自己\n");else Slowsay("未达成\n");
                if(gjj[5]==1) Slowsay("跨越物种的gay\n");else Slowsay("未达成\n");
                Slowsay("\n");
                Slowsay("Bad End 达成(共15个)\n");
                for(int i=1;i<=17;i++)
                    if(hjj[i]==1)
                        printf("%d ",i),v1++;
                if(v1>=15&&swx==1)
                    swx=2,cdd=0,Swx();
                Slowsay("\n");
                printf("当前死亡次数:%d",s);
                Slowsay("\n");
                Slowsay("True End 达成\n");
                if(zjj[1]==1) Slowsay("拯救世界\n");else Slowsay("未达成\n");
                if(zjj[3]==1) Slowsay("认清?·妹子\n");else Slowsay("未达成\n");
                if(zjj[2]==1) Slowsay("认清!·本我\n"); else Slowsay("未达成\n");
                if(zjj[4]==1) Slowsay("验证失败\n");else Slowsay("未达成\n");
                if(zjj[5]==1) Slowsay("死亡姗姗来迟\n");else Slowsay("未达成\n");
                Slowsay("\n");
                if(vv==0) char ch=_getch();
            }
            if(x==3)
            {
                system("cls");
                int v=0;
                Slowsay("基础线索\n");
                if(zjj[1]==1) Slowsay("    奇特的枪与饼干\n"),v++;else Slowsay("    ?????\n");
                if(zjj[2]==1) Slowsay("    延迟变异?·少年\n"),v++;else Slowsay("    ?????\n");
                if(zjj[9]==1) Slowsay("    无敌变异!·少年\n"),v++;else Slowsay("    ?????\n");
                if(zjj[3]==1) Slowsay("    不变异?  ·妹子\n"),v++; else Slowsay("    ?????\n");
                if(hjj[8]==1) Slowsay("    早已变异!·妹子\n"),v++; else Slowsay("    ?????\n");
                if(hjj[9]==1) Slowsay("    实验体·1号和2号\n"),v++; else Slowsay("    ?????\n");
                if(v>=6&&ccg==0)
                {
                    Sleep(2000);
                    cdd=0;cg();ccg=1;
                }
                Slowsay("进阶线索\n");
                if(swhm==1) Slowsay("    计数者\n"),v++; else Slowsay("    ?????\n");
                if(zbbj==1) Slowsay("    乱码,废弃与失联\n"),v++; else Slowsay("    ?????\n");
                if(by==1) Slowsay("    早已变异!·本我\n"),v++; else Slowsay("    ?????\n");
                if(hjj[15]==1) Slowsay("    伪造......\n"),v++; else Slowsay("    ?????\n");
                if(zjj[5]==1) Slowsay("    少年之死\n"),v++; else Slowsay("    ?????\n");
                if(hjj[14]==1) Slowsay("    外面的世界\n"),v++; else Slowsay("    ?????\n");
                if(v>=12&&qxs==0)
                {
                    Sleep(2000);
                    cg2();cdd=0;Sleep(1000);
                    Slowsay("-------- 游戏进阶结局已解锁(快前往达成吧)--------");qxs=1;
                }
                if(vv==0) ch=_getch();
            }
            if(x==4)
            {
                system("cls");
                int y=rand()%3;
                if(y==0){Slowsay("【稀有提示】"); x=rand()%14;
                if(x==0) Slowsay("【稀有结局提示】 试试 0 10 开局!");
                else if(x==1) Slowsay("【稀有结局提示】 最好的爱总要先错过~");
                else if(x==2) Slowsay("【剧情提示】 二周目:少年变异后有新剧情!");
                else if(x==3) Slowsay("【剧情提示】 不变异的妹子总有一天会在营地暴露!再来一遍!");
                else if(x==4) Slowsay("【剧情提示】 弹尽粮绝之时,变异的少年会记起上辈子的爱情!再来一遍!");
                else if(x==5) Slowsay("【剧情提示】 第二天,和首领换更多子弹,他会更开心!");
                else if(x==6) Slowsay("【剧情提示】 在家里等待疯掉?再来一遍!");
                else if(x==7) Slowsay("【剧情提示】 二周目:再次进入实验室吧!");
                else if(x==8) Slowsay("【剧情提示】 二周目:神枪手妹子...");
                else if(x==9) Slowsay("【剧情提示】 二周目:不带子弹!等待救援!");
                else if(x==10) Slowsay("【通关方式】 二周目:在获得所有线索后前往“外面的世界”。");
                else if(x==11) Slowsay("【通关方式】 三周目:(都提示这么明显了)吃掉妹子,杀掉少年。");
                else if(x==12) Slowsay("【线索提示】 死亡很多次后......(有个地方可以刷死亡次数)");
                else Slowsay("【???】 666666,5201314(会错过一些线索与结局!)");
                }else{x=rand()%14;
                if(x==0) Slowsay("加了好感后,妹子有几率不死");
                else if(x==1) Slowsay("少年喜欢子弹");
                else if(x==2) Slowsay("乱走有时可以获得子弹");
                else if(x==3) Slowsay("冲进去活下来几率更大");
                else if(x==4) Slowsay("分头探商店可以获得更多资源");
                else if(x==5) Slowsay("有一些结局只能通关后触发");
                else if(x==6) Slowsay("有一些结局要脸好才能触发");
                else if(x==7) Slowsay("有一些结局要通其他结局后才能触发");
                else if(x==8) Slowsay("大多数时候,你认为一个地方没有好结局只是因为你食物/子弹不够");
                else if(x==9) Slowsay("绝大多数的线索来自结局");
                else if(x==10) Slowsay("三大重叠剧情线路:普通,进阶,尸王线");
                else if(x==11) Slowsay("本游戏是一个剧情严谨,人物丰满,细思极恐的好!游!戏!~");
                else if(x==12) Slowsay("事实证明剧情游戏是最难调的!有Bug一定要去博客说出来啊!(luogu.com.cn/blog/z1e2k3i4/)");
                else Slowsay("完成目标后,需要在线索,成就界面开启新剧情哦");
                }
                if(vv==0) char ch=_getch();continue;
            }
            if(x==5)
            {
                system("cls");
                Slowsay("作者:***\n");
                Slowsay("改错,调试,搬运,游玩:胎神大大(就是在游戏论坛翻到的宝藏而已emm......)\n");
            }
            if(x==6)
            {
                system("cls");
                if(vv==0) vv=1,Slowsay("已开启极速模式");
                else vv=0,Slowsay("已关闭极速模式");
            }
            if(x==7)
            {
                system("cls");
                Slowsay("想退?死吧!!");s++;
            }
        }
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
        Slowsay("Thanks for playing......");Sleep(1000);
        Slowsay("您已通关,我亲爱的 终极丧尸,成功者,杀人机器,你还没杀够吗?......");system("Color C");
    }
    

    贪吃蛇

    #define frame_width 50
    #define frame_height 25
    #include<cstdio>
    #include<iostream>
    #include<ctime>
    #include<stdlib.h>
    #include<windows.h>
    #include <conio.h>
    
    using namespace std;
    
    
    typedef struct{
        int x,y;
    } Food;
    typedef struct{
        int x[100],y[100],len,state;
    } Snake;
    
    void gotoxy(int x,int y);  //最重要的一个函数,控制光标的位置
    void print_map();
    void get_newfood();//生成新食物
    bool check_foodinsnake();//检查新食物有没有在蛇身上
    void move_snake();
    void check_foodeating();
    bool check_snakealive();
    
    
    //需要用到的全局变量
    int score;
    Snake snake;
    Food food;
    bool check_eaten;
    
    int main()
    {
        system("color 0B");
        do
        {
            system("cls");
            print_map();
            score=0,check_eaten=0;
            //贪吃蛇的每回合运行控制
            while(1)
            {
                check_foodeating();//system("pause");
                move_snake();
                Sleep(max(50,300-score));//控制速度(与长度呈反比)
                if(!check_snakealive())
                    break;
            }
            printf("Game Over!\n");
            printf("1:Restart\t2:exit\n");
            char com2;
            cin>>com2;
            if(com2=='2')
                break;
        }while(1);
    }
    
    void gotoxy(int x,int y)
    {
        COORD pos;//COORD是一种自带结构体,表示一个字符在控制台屏幕上的坐标
        HANDLE han=GetStdHandle(STD_OUTPUT_HANDLE); //从标准输出设备里取出一个句柄
        pos.X=y,pos.Y=x;
        SetConsoleCursorPosition(han,pos);//定位光标的函数
    }
    
    void print_map()
    {
        //打印墙壁
        for(int i=0;i<frame_height;i++)
        {
            gotoxy(i,0);
            printf("#");
            gotoxy(i,frame_width-1);//因为这个标记是长度,从零开始所以最后要减1
            printf("#");
        }
        for(int i=0;i<frame_width;i++)
        {
            gotoxy(0,i);
            printf("#");
            gotoxy(frame_height-1,i);
            printf("#");
        }
    
        //蛇身初始化
        snake.len=3;
        snake.state='w';
        snake.x[1]=frame_height/2;
        snake.y[1]=frame_width/2;
        gotoxy(snake.x[1],snake.y[1]);
        printf("@");
        for(int i=2;i<=snake.len;i++)
        {
            snake.x[i]=snake.x[i-1]+1;
            snake.y[i]=snake.y[i-1];
            gotoxy(snake.x[i],snake.y[i]);
            printf("@");
        }
    
        //打印初始食物
        get_newfood();
    
        //打印右边状态栏
        gotoxy(2,frame_width+3);
        printf("WELCOME TO THE GAME OF RETRO SNAKE");
        gotoxy(4,frame_width+3);
        printf("UP:   w");
        gotoxy(6,frame_width+3);
        printf("DOWN: s");
        gotoxy(8,frame_width+3);
        printf("LEFT: a");
        gotoxy(10,frame_width+3);
        printf("RIGHT:d");
        gotoxy(12,frame_width+3);
        printf("Your score:%d",score);
        gotoxy(28,frame_width+3);
        printf("Made by jokersio");
    }
    
    bool check_foodinsnake()
    {
        for(int i=1;i<=snake.len;i++)
            if(snake.x[i]==food.x&&snake.y[i]==food.y)
                return 1;
        return 0;
    }
    
    void get_newfood()
    {
        do{
            srand(time(0));
            food.x=rand()%(frame_height-2)+1;
            food.y=rand()%(frame_width-2)+1;
        }while(check_foodinsnake());
        gotoxy(food.x,food.y);
        cout<<"$";
    }
    
    void move_snake()
    {
        char com;
        while(kbhit())//键盘有输入
            com=getch();//从控制台读取一个字符,但不显示在屏幕上
        //没有吃到去除蛇尾
        if(!check_eaten)
        {
            gotoxy(snake.x[snake.len],snake.y[snake.len]);
            printf(" ");
        }
        //将除蛇头外的其他部分向前移动
        for(int i=snake.len;i>1;i--)
            snake.x[i]=snake.x[i-1],
            snake.y[i]=snake.y[i-1];
        //移动蛇头
        switch(com)
        {
            case 'w':
            {
                if(snake.state=='s') //如果命令与当前方向相反不起作用
                    snake.x[1]++;
                else
                    snake.x[1]--,snake.state='w';
                break;
            }
            case 's':
            {
                if(snake.state=='w')
                    snake.x[1]--;
                else
                    snake.x[1]++,snake.state='s';
                break;
            }
            case 'a':
            {
                if(snake.state=='d')
                    snake.y[1]++;
                else
                    snake.y[1]--,snake.state='a';
                break;
            }
            case 'd':
            {
                if(snake.state=='a')
                    snake.y[1]--;
                else
                    snake.y[1]++,snake.state='d';
                break;
            }
            default: //按其余键保持状态前进
            {
                if(snake.state=='s')
                    snake.x[1]++;
                else if(snake.state=='w')
                    snake.x[1]--;
                else if(snake.state=='d')
                    snake.y[1]++;
                else if(snake.state=='a')
                    snake.y[1]--;
                break;
            }
        }
        gotoxy(snake.x[1],snake.y[1]);
        printf("@");
        check_eaten=0;
        gotoxy(frame_height,0);
    }
    
    void check_foodeating()
    {
        if(snake.x[1]==food.x&&snake.y[1]==food.y)
        {
            score+=10;
            check_eaten=1;
            gotoxy(12,frame_width+3);
            printf("Your score:%d",score);
            snake.len++;
            get_newfood();
        }
    }
    
    bool check_snakealive()
    {
        if(snake.x[1]==0||snake.x[1]==frame_height-1||snake.y[1]==0||snake.y[1]==frame_width-1)//撞墙
               return 0;
        for(int i=2;i<=snake.len;i++)
            if(snake.x[i]==snake.x[1]&&snake.y[i]==snake.y[1])
                return 0;
        return 1;
    }
    

    太厉害了!竟然翻完了我112432字的主页!

  • 最近活动

  • Stat

  • Rating