-
个人简介
杜绝CERE,做好自己。 给分讲题 ,绝对可以。 傍晚十分,老师不在。冲刺一响,大家集合。 敲门敲门,门铃门铃。 刷卡刷卡,走廊集合。
船员:我们一定要把WA全都揪出来
警长:消灭WA,一次只需一颗子弹
工程师:不好意思让一下,我有一个WA要修
侦探:这是最基本的AC,我的朋友
医生:我觉得WA还可以抢救一下
预言家:AC将指明我们的方向
守卫:别担心AC,我就是你的盾牌
保安:这里有我AC看着,别想闹事
换票师:我觉得AC结果,嗯,应该这样
情报员:我一定要把这份AC传递给大家,不惜一切代价
黑客:AC不会出错,会出错的只有WA
管道工:WA有问题,炸一炸就好了
守望者:没人能逃过我的AC
市长:我不会辜负大家的AC的
老兵:保持AC,是战场的第一生存守则
卧底:嘘,对不起啊,我是AC
狱卒:咳,呵呵,没有WA能逃脱我的掌心
诱饵:哈哈,WA上当了吧
时间之主:时间,由我AC来掌控
内鬼:我保证,没有WA能抵达目的地
间谍:记住,你的WA会欺骗你
清洁工:唉,这可比扫整条WA轻松多了
守夜人:没有我去不了的AC
咒术师:尽管逃,你WA是逃不掉的
变色龙:只有聪明人才能看到我AC
双面人:哈哈哈哈,AC,就是一场豪赌
搬运工:垃圾WA,就该去它该去的地方
闪光弹:AC配备检查完毕,准备行动
女巫:嗯,宝贝,帮我做AC
赏金猎人:我的眼里,只有AC和WA
小丑:哈哈哈哈哈哈哈哈,现在,谁才是真正的WA
纵火犯:芜湖,我从小就喜欢AC,我现在就想看
幸存者:AC下去,只要,AC下去
恶魔:我会将AC,分享给你
幻影:来吧,欣赏这场盛大的AC吧
饕餮:血肉苦弱,我会帮WA解脱的
大胃王:WA?嗯~闻起来臭,吃起来香
死神:WA,我来取你的性命了
《唐诗三百首》
1.日照香炉生紫烟,李白来到太平间。头朝地脚朝天,带着微笑上西天。
2.床前明月光,小偷爬进窗。打开保险箱,钞票一张张。
3.春眠不觉晓,处处蚊子咬。夜来香港脚,臭的不得了。
4.朝辞白帝彩云间,某人坐在小河边。小李飞刀一瞬间,某人变成小太监。
5.锄禾日当午,地雷埋下土。你娃挖地雷,变成二百五。
6.日照香炉生紫烟,李白走进烤鸭店,口水流下三千尺,一摸兜里没有钱。
7.墙角数枝梅,不知你爱谁。如果你不说,就是你同桌。
8.春眠不觉晓,处处蚊子咬。夜来大狗熊,谁也跑不了。
9.李白乘舟不给钱,渔夫一脚踢下船。桃花潭水深千尺,不知李白死没死。
10.床前明月光,李白爬上窗。遇见X光,头发变光光。
11.少小离家胖了回,乡音无改肉成堆。儿童相见不相识,笑问胖子你是谁。
12.远上香山石径斜,白云深处我和她。原想王子见公主,实是恐龙见青蛙。
13.大千网络绿映红,聊天见面心见空。见面四百八十次,多少恐龙在其中。
14.北理朝雨浥清晨,满腹失望伤透心。劝君在莫找网友,明日出家奔少林。
15.春眠不洗脚,处处蚊子咬。夜来鬼敲门,吓死乡巴佬。
16.垂死病中惊坐起,小丑竟是我自己。
17.巴山楚水凄凉地,Responsibility。
18.劝君更尽一杯酒,你说我丑那我走。
19.四面边声连角起,牛马竟是我自己。
20.两岸野怪停不住,欢迎来到对抗路。
21.先帝创业未办,蹦迪花光预算。
22.宝剑锋从磨砺出,得来全不费工夫。
23.乾坤未定,你我皆是牛马。
24.老骥伏枥,志在千里,横扫饥饿,做回自己。
25.如果巅峰留不住,那就进厂包吃包住。如果志同道合,那就流水线回合。有福就同享,有难就进厂,厂里包吃包住,大风大浪挺得住
26.李白上山去拉屎,忽然想起忘带纸。 勇敢伸出大拇指,扣扣屁股全是屎
27.放屁的人得意洋洋,闻屁的人愁眉苦脸
28.有一种思念叫望穿秋水,有一种寒冷叫忘穿秋裤
语文老师一回头,此地空余黄鹤楼。
数学老师一回头,二次函数对称轴。
英语老师一回头,sorry加上thank you。
化学老师一回头,二氧化碳变汽油。
物理老师一回头,一跟杠杆撬地球。
生物老师一回头,试管婴儿水中游。
地理老师一回头,大陆版块乱漂流。
历史老师一回头,秦始皇来推铅球。
劳技老师一回头,破铜烂铁来走秀。
政治老师一回头,布什改行卖豆油。
美术老师一回头,蒙娜丽莎也风流。
体育老师一回头,奥运取消打篮球。
电脑老师一回头,学生全成阿Q友。
全体老师一回头,世界人民没自由。
慈母手中剑,游子身上劈。 一秒十八剑,刀刀出暴击。 母见子未凉,挑出七匹狼。 子见七匹狼,瞬间透心凉。 透心凉,心飞扬,果冻我爱喜之郎。
考试不翻书,简直是头猪。
作弊不要慌,逮到就要装。
生是中国人,死是中国魂。
要我学洋文,死都不可能。
干饭人,干饭魂,干饭都是人上人。
干饭不积极,脑子有问题。
上课不放屁,肠道有问题。
英语不及格,说明我爱国。
语文不及格,恋爱没资格。
物理不及格,电死不负责。
化学不及格,硫酸也喝得。
政治不及格,老师没道德。
信息不及格,网吧要打折。
数学不及格,突出我性格。
历史不及格,社会要改革。
全科不及格,老妈动真格。
三百六十行,行行出状元。
人生自古谁无死 ,早死晚死都得死 那还不如现在死
各科老师被困在电梯里的反应:
语文老师正在写《困在电梯中的思考》。
数学老师开始计算电梯的长宽高。
英语老师开始说起电梯英语单词。
物理老师在计算说几小时空气会呼吸完。
化学老师在检查这个电梯的材质。
生物老师在考虑他们需要的物质,比如氧气。
地理老师在计算纬度叫人来救她们。
历史老师开始感慨并回忆之前发生过的类似的事情。
政治老师准备告物业。
体育老师默默无闻走向电梯门口,一脚把门踹开说了句我们走吧! 事实证明体育才是主科! 骗分过样例,暴力出奇迹。
数学先打表,DP看运气。
穷举TLE,递推UKE。
模拟MLE,贪心还CE。
想要骗到分,就要有方法。
图论背模板,数论背公式。
动规背方程,高精背代码。
如果都没背,干脆输样例。
模拟只会猜题意,贪心只能过样例;
数学上来先打表,DP一般看规律.
组合数学靠运气,计算几何瞎暴力;
图论强行套模板,数论只会GCD.
递归递推伤不起,搜索茫然TLE;
分治做得像枚举,暴力枚举数第一.
数据结构干瞪眼,怒刷水题找信心;
涨姿势也不容易,考试一来全懵逼! 新《满江红》 怒发冲冠,凭栏处、潇潇雨歇。 抬望眼,满天UKE,怒火激烈。 三十WA尘与土,八千RE云和月。 莫抄袭,没了AC记录,空悲切! CE耻,犹未雪。蒟蒻恨,何时灭! 驾电脑,踏破题目列表。 闭眼不会Helloworld,笑谈不懂头文件。 待从头、收拾A+B,还不会。
《将进酒》程序版 君不见,OJ之题天上来,复杂到海不舍回。 君不见,高堂明镜悲白发,朝如青丝暮成雪。 人生重在写算法,莫使电脑空对题。 天生OJ必有用,千方百计还CE。 AC一点且为乐,会须一刷三百WA。 吾团友,牛大佬, 将刷题,手莫停!!! 一天我去买考试用的2B铅笔,到了文具店给店员说成了买2B用的考试铅笔。
勒内·笛卡尔(René Descartes,1596年3月31日–1650年2月11日 1596年3月31日生于**[法国]安德尔–[卢瓦尔省]的图赖讷(现笛卡尔,因笛卡尔得名),1650年2月11日逝于[瑞典][斯德哥尔摩],[法国]哲学家、数学家、物理学家。他对[现代数学]的发展作出了重要的贡献,由于他的几何坐标系的公式化而被认为是[解析几何]之父。
他还是[西方现代哲学]思想的奠基人之一,是近代[唯心论]的开拓者,提出了“普遍怀疑”的主张。他的[哲学思想]深深影响了之后的几代欧洲人,并为欧洲的“[理性主义]”哲学奠定了基础。
笛卡尔最为世人熟知的是其作为数学家的成就。他于1637年发明了[现代数学]的基础工具之一——[坐标系],将[几何]和代数相结合,创立了解析[几何学]。同时,他也推导出了[笛卡尔定理]等几何学公式。值得一提的是,传说著名的[心形线]方程也是由笛卡尔提出的。
在哲学上,笛卡尔是一个二元论者以及理性主义者。他是欧陆“理性主义”的先驱。关于笛卡尔的哲学思想,最著名的就是他那句“[我思故我在]”。他的《[第一哲学沉思集]》(又名《[形而上学的沉思]》)仍然是许多大学哲学系的[必读书目]之一。
在物理学方面,笛卡尔将其坐标几何学应用到光学研究上,在《屈光学》中第一次对[折射定律]作出了理论上的推证。在他的《哲学原理》第二章中以第一和[第二自然]定律的形式首次比较完整地表述了[惯性定律],并首次明确地提出了[动量守恒定律]。这些都为后来牛顿等人的研究奠定了一定的基础。 "AC=Answer Coarse=粗劣的答案"
"WA=Wonderful Answer=好答案"
"TLE=Time Limit Enough=时间充裕"
"MLE=Memory Limit Enough=内存充裕"
"CE=Compile Easily=轻松通过编译"
"RE=Run Excellently=完美运行"
"UKE=Unbelievablly Keep Enough Score=难以置信地保持足够的分数"
"AU=All Unaccepted=全都不正确"
This person is lazy and didn't join any contests or homework^_^.
Waiting 评测:评测请求正在等待被评测机抓取 Fetched 评测:评测请求已被评测机抓取,正在准备开始评测 Compiling 评测:正在编译中 Judging 评测:编译成功,正在评测中 Accepted 通过:程序输出完全正确 Wrong Answer 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行) Time Limit Exceeded 不通过:程序运行时间超过了题目限制 Memory Limit Exceeded 不通过:程序运行内存空间超过了题目限制 Runtime Error 不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等) Compile Error 不通过:编译失败 System Error 错误:系统错误(如果您遇到此问题,请及时在讨论区进行反馈) Canceled 其他:评测被取消 Unknown Error 其他:未知错误 Ignored 其他:被忽略
TWJLBDQ(头文件列表大全)
#include<iostream> #include<fstream> #include<vector> #include<string> #include<cmath> #include<bits/stdc++.h> #include<algorithm> #include<ctime> #include<cstdlib> #include<cassert> #include<cstddef> #include<cstdio> #include<cstring> #include<ctime> #include<cctype> #include<iomanip> #include<cmath> #include<cstdlib> #include<stdexcept> #include<fstream> #include<stack> #include<sstream> #include<queue>
- 炼气筑基
- 金丹凝成
- 元婴出窍
- 化神渡劫
- 炼体成圣
- 合道悟真
- 大乘飞升
- 仙界证道
不好好上课 ฅ ( ̳• ◡ • ̳) ฅ
王八历险记 (电脑版) 不许抄袭!!!!!!!!!!!!!!!!!!
第一季----荒岛求生---------------------------------------------------------------------------
第一章----人类杀手???
这天王八坐在飞机上看着窗外的风景,突然飞机一阵摇晃王八就晕了过去。 王八在过了一个世纪后醒了过来。他发现自己正在一个小岛上,他又看了看周围,发现了躺在地上的电摇坤坤。王八连忙跑过去朝电摇坤坤只因上一戳,电摇坤坤顿时捂着坤坤尖叫着跳了起来,王八淡淡一笑说:“小样,跟我斗再过一百年吧!”电摇坤坤说:“什么东西,你能不能不要当‘人类杀手’”
第二章----偶遇黑衣人(上)
突然,远处传来一声巨响,王八看向声音传来的方向说:”不是哪个傻子玩儿核弹,脑子没问题吧。“说完后就走了过去,电摇坤坤捂着只因追了上去。几分钟后,一个黑影从一旁的草丛走出,竟然是黑衣人!
poki.com
<-游戏网址(1)第三章----偶遇黑衣人(下)
黑衣人嘴巴张了几下,也不知道说了什么,朝王八离开的方向赶去。再看王八他们,他们走着走着发现有些不对劲,只听一个人说道:”现在才发现,晚了!“王八一个后空翻躲过了攻击,而电摇坤坤却吓倒在地,黑衣人也没管太多,把电摇坤坤拖走了。
第四章----大战黑衣人(上)
王八看着电摇坤坤被拖走,也是非常的开心,因为他终于可以'解放'啦。
一寸光阴一寸金,三寸光阴一寸鑫
集训三年不吃苦,要吃苦三十年,集训三年吃苦,你会发现你要吃苦三十三年
规则,就是用来打破的
愿你的诡计,永不败露
贪吃蛇
#include <windows.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include <cstring> #include <cstdio> #include <iostream> #define N 22 using namespace std; int gameover; int x1, y1; // 随机出米 int x,y; long start; //======================================= //类的实现与应用initialize //======================================= //下面定义贪吃蛇的坐标类 class snake_position { public: int x,y; //x表示行,y表示列 snake_position(){}; void initialize(int &);//坐标初始化 }; snake_position position[(N-2)*(N-2)+1]; //定义贪吃蛇坐标类数组,有(N-2)*(N-2)个坐标 void snake_position::initialize(int &j) { x = 1; y = j; } //下面定义贪吃蛇的棋盘图 class snake_map { private: char s[N][N];//定义贪吃蛇棋盘,包括墙壁。 int grade, length; int gamespeed; //前进时间间隔 char direction; // 初始情况下,向右运动 int head,tail; int score; bool gameauto; public: snake_map(int h=4,int t=1,int l=4,char d=77,int s=0):length(l),direction(d),head(h),tail(t),score(s){} void initialize(); //初始化函数 void show_game(); int updata_game(); void setpoint(); void getgrade(); void display(); }; //定义初始化函数,将贪吃蛇的棋盘图进行初始化 void snake_map::initialize() { int i,j; for(i=1;i<=3;i++) s[1][i] = '*'; s[1][4] = '#'; for(i=1;i<=N-2;i++) for(j=1;j<=N-2;j++) s[i][j]=' '; // 初始化贪吃蛇棋盘中间空白部分 for(i=0;i<=N-1;i++) s[0][i] = s[N-1][i] = '-'; //初始化贪吃蛇棋盘上下墙壁 for(i=1;i<=N-2;i++) s[i][0] = s[i][N-1] = '|'; //初始化贪吃蛇棋盘左右墙壁 } //============================================ //输出贪吃蛇棋盘信息 void snake_map::show_game() { system("cls"); // 清屏 int i,j; cout << endl; for(i=0;i<N;i++) { cout << '\t'; for(j=0;j<N;j++) cout<<s[i][j]<<' '; // 输出贪吃蛇棋盘 if(i==2) cout << "\t等级:" << grade; if(i==6) cout << "\t速度:" << gamespeed; if(i==10) cout << "\t得分:" << score << "分" ; if(i==14) cout << "\t暂停:按一下空格键" ; if(i==18) cout << "\t继续:按两下空格键" ; cout<<endl; } } //输入选择等级 void snake_map::getgrade() { cin>>grade; while( grade>7 || grade<1 ) { cout << "请输入数字1-7选择等级,输入其他数字无效" << endl; cin >> grade; } switch(grade) { case 1: gamespeed = 1000;gameauto = 0;break; case 2: gamespeed = 800;gameauto = 0;break; case 3: gamespeed = 600;gameauto = 0;break; case 4: gamespeed = 400;gameauto = 0;break; case 5: gamespeed = 200;gameauto = 0;break; case 6: gamespeed = 100;gameauto = 0;break; case 7: grade = 1;gamespeed = 1000;gameauto = 1;break; } } //输出等级,得分情况以及称号 void snake_map::display() { cout << "\n\t\t\t\t等级:" << grade; cout << "\n\n\n\t\t\t\t速度:" << gamespeed; cout << "\n\n\n\t\t\t\t得分:" << score << "分" ; } //随机产生米 void snake_map::setpoint() { srand(time(0)); do { x1 = rand() % (N-2) + 1; y1 = rand() % (N-2) + 1; }while(s[x1][y1]!=' '); s[x1][y1]='*'; } char key; int snake_map::updata_game() { gameover = 1; key = direction; start = clock(); while((gameover=(clock()-start<=gamespeed))&&!kbhit()); //如果有键按下或时间超过自动前进时间间隔则终止循环 if(gameover) { getch(); key = getch(); } if(key == ' ') { while(getch()!=' '){};//这里实现的是按空格键暂停,按空格键继续的功能,但不知为何原因,需要按两下空格才能继续。这是个bug。 } else direction = key; switch(direction) { case 72: x= position[head].x-1; y= position[head].y;break; // 向上 case 80: x= position[head].x+1; y= position[head].y;break; // 向下 case 75: x= position[head].x; y= position[head].y-1;break; // 向左 case 77: x= position[head].x; y= position[head].y+1; // 向右 } if(!(direction==72||direction==80||direction==75 ||direction==77)) // 按键非方向键 gameover = 0; else if(x==0 || x==N-1 ||y==0 || y==N-1) // 碰到墙壁 gameover = 0; else if(s[x][y]!=' '&&!(x==x1&&y==y1)) // 蛇头碰到蛇身 gameover = 0; else if(x==x1 && y==y1) { // 吃米,长度加1 length ++; if(length>=8 && gameauto) { length -= 8; grade ++; if(gamespeed>=200) gamespeed -= 200; // 改变贪吃蛇前进速度 else gamespeed = 100; } s[x][y]= '#'; //更新蛇头 s[position[head].x][position[head].y] = '*'; //吃米后将原先蛇头变为蛇身 head = (head+1) % ( (N-2)*(N-2) ); //取蛇头坐标 position[head].x = x; position[head].y = y; show_game(); gameover = 1; score += grade*20; //加分 setpoint(); //产生米 } else { // 不吃米 s[position[tail].x][position[tail].y]=' ';//将蛇尾置空 tail= (tail+1) % ( (N-2) * (N-2) );//更新蛇尾坐标 s[position[head].x][position[head].y]='*'; //将蛇头更为蛇身 head= (head+1) % ( (N-2) * (N-2) ); position[head].x = x; position[head].y = y; s[position[head].x][position[head].y]='#'; //更新蛇头 gameover = 1; } return gameover; } //==================================== //主函数部分 //==================================== int main() { char ctn = 'y'; int nodead; cout<<"\n\n\n\n\n\t\t\t 欢迎进入贪吃蛇游戏!"<<endl;//欢迎界面; cout<<"\n\n\n\t\t\t 按任意键马上开始。。。"<<endl;//准备开始;; getch(); while( ctn=='y' ) { system("cls"); // 清屏 snake_map snake; snake.initialize(); cout << "\n\n请输入数字选择游戏等级:" << endl; cout << "\n\n\n\t\t\t1.等级一:速度 1000 \n\n\t\t\t2.等级二:速度 800 \n\n\t\t\t3.等级三:速度 600 "; cout << "\n\n\t\t\t4.等级四:速度 400 \n\n\t\t\t5.等级五:速度 200 \n\n\t\t\t6.等级六:速度 100 \n\n\t\t\t7.自动升级模式" << endl; snake.getgrade();//获取等级 for(int i=1;i<=4;i++) { position[i].initialize(i);//初始化坐标 } snake.setpoint(); // 产生第一个米 do { snake.show_game(); nodead = snake.updata_game(); }while(nodead); system("cls"); //清屏 cout << "\n\n\n\t\t\t\tGameover!\n\n"<<endl; snake.display();//输出等级/得分情况 cout << "\n\n\n\t\t 是否选择继续游戏?输入 y 继续,n 退出" << endl; cin >> ctn; } return 0; }
坑爹大闯关
#include<bits/stdc++.h> using namespace std; int main(){ int n,q=1; cout<<"======坑爹大闯关======"<<endl; cout<<"场景:"<<q<<endl; cout<<"你看见了一袋钱,你想......"<<endl; cout<<"请选择:"<<endl; cout<<"1.捡走,跑"<<endl; cout<<"2.不管"<<endl; cout<<"3.紫砂(自杀)"<<endl; cin>>n; if(n==1){ cout<<endl<<endl; q++; cout<<"场景:"<<q<<endl; cout<<"后面有个警察,拿枪指着你..."<<endl; cout<<"你要?" <<endl; cout<<"1.把钱丢了" <<endl; cout<<"2.自首"<<endl; cout<<"3.砸死警察" <<endl; cin>>n; if(n==1){ q++; cout<<"场景:"<<q<<endl; cout<<"警察把你带进了警局,开始审问你..."<<endl; cout<<"“(警)你哪里来的钱啊?”"<<endl; cout<<"(回答)1.捡的"<<endl; cout<<"(回答)2.抢的"<<endl; cout<<"(回答)3.偷的"<<endl; cout<<"(回答)4.天上掉下来的"<<endl; cin>>n; if(n==1){ cout<<"(警)不交给警局...坐下(peng!)"<<endl; cout<<"你...坐下了"<<endl; return 0; } else if(n==2){ cout<<"(警)还敢抢东西...坐下(peng!)"<<endl; cout<<"你...坐下了"<<endl; } else if(n==3){ cout<<"(警)还敢抢东西...坐下(peng!)"<<endl; cout<<"你...坐下了"<<endl; } else if(n==4){ q++; cout<<"场景:"<<q<<endl; cout<<"你刚说完,天上掉下来一坨**,把警察砸死了"<<endl; cout<<"警察的大部队来了,你要?"<<endl; cout<<"1.跳楼"<<endl; cout<<"2.躲起来"<<endl; cin>>n; if(n==1){ q++; cout<<"场景:"<<q<<endl; cout<<"你跳到了消防垫上,活了下来"<<endl; cout<<"你走着走着就(散了)来到了小赛码的基地,"<<endl; cout<<"你回到了寝室,(平底)郭老师正在查寝"<<endl; cout<<"你的钱袋子还在身上,郭老师会报警,你要?"<<endl; cout<<"1.把钱甩到天上"<<endl; cout<<"2.把钱藏起来"<<endl; cout<<"3.不管"<<endl; cout<<"4.把钱送给郭老师"<<endl; cin>>n; if(n==1){ q++; cout<<"场景:"<<q<<endl; cout<<"郭老师突然眼瞎,没看见。"<<endl; cout<<""; } else if(n==2){ cout<<"郭老师突然眼冒金星,找到了你的钱袋并报了个警"<<endl<<endl<<endl; return 0; } else if(n==3){ cout<<"郭老师报了个警,你去屎了"<<endl<<endl<<endl; return 0; } else if(n==4){ cout<<"郭老师肥肠高兴,交给了警察,你被警察发现了,你死了"<<endl<<endl<<endl; } else{ cout<<"神经病!!!"; return 0; } } else if(n==2){ cout<<"你躲到了箱子后,被警察发现了(你死了)"<<endl<<endl<<endl; return 0; } else{ cout<<"神经病!!!"; return 0; } } else{ cout<<"神经病!!!"; return 0; } } else if(n==2){ cout<<"警察不信你,把你击毙(鸡哔你~~~)了,OK,你又死了"<<endl; return 0; } else if(n==3){ cout<<"你打不过警察,你死了"; return 0; } else{ cout<<"神经病!!!"; return 0; } } else if(n==2){ cout<<"前面个井盖,你走了进去......"<<endl; cout<<"你死了!!!"; return 0; } else if(n==3){ cout<<"OK,你死了!!!"; return 0; } else{ cout<<"神经病!!!"; return 0; } return 0; }
``
#include<bits/stdc++.h> #include<windows.h> #include<stdio.h> #include<conio.h> #include<time.h> #define Nor if(B[b].x<5) B[b].x=5; #define Out1 Bx1-Bvx1<=6||Bx1-Bvx1>=28||By1-Bvy1<=7||By1-Bvy1>=27 #define Out2 Bx2-Bvx2<=6||Bx2-Bvx2>=28||By2-Bvy2<=7||By2-Bvy2>=27 #define Chang1 {Bwhat1=0;Bvx1=Bvy1=0;memset(Bgo1,0,sizeof(Bgo1));} #define Chang2 {Bwhat2=0;Bvx2=Bvy2=0;memset(Bgo2,0,sizeof(Bgo2));} #define Chang3 {Bwhat3=0;Bvx3=Bvy3=0;memset(Bgo3,0,sizeof(Bgo3));} using namespace std; int ti(float a) {return ((int)(a*10+5))/10;} void Setpos(float x,float y){COORD pos;pos.X=ti(y*4)/2;pos.Y=ti(x);SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);} void Color(int a){if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_GREEN|BACKGROUND_BLUE);if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_BLUE);if(a==11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);if(a==12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);if(a==13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);if(a==14) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_BLUE);} int Blomax,Ren,Exp,Expmax,Lv,Lvl,Ice,Drug,ar1,ar2,Tar1,Tar2,bl,br,Win,T,Tb,Sy,Up,Upt,Down,u1,u2,Kill,Killb,L,Ll[4],Li,D,Gd[10],Biao,Fire,Fir,Water,Thun,Wind,Magne,I[20][2],ib,Dis,Disb,Dis1,Disb1,Boss,Bblo,Bblomax,Bwhat1,Bwhat2,Bwhat3,Bgo1[10],Bgo2[10],Bgo3[10],Bbr,Bbl,Bl[4]; float X,Y,Vx,Vy,Ding,Blo,Hui,Bx1,By1,Bx2,By2,Bx3,By3,Bvx1,Bvy1,Bvx2,Bvy2,Bvx3,Bvy3,Bway[1001][2]; struct bullet{float x,y,vx,vy;int what;int a,t,How;int life;bool kill;}B[100001]; void Map(int a,int b); void Pan(int a,float x,float y,int b){ float Nox[4],Noy[4];Nox[0]=X,Noy[0]=Y; if(Down==1&&X==22) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5;else if(Down==2) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;else if(Down==1||X<18) Nox[1]=X-1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;else Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5; for(int i=0;i<3;i++){ if(a==-1){if(abs(x-Nox[i])+abs(y-Noy[i])<1.5) {if(B[b].what==-10)Exp+=2;if(B[b].what==-11)Exp+=1;B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}} if(a==-2){if(abs(x-Nox[i])+abs(y-Noy[i])<2.5) {if(B[b].what==-2)Exp+=5,Biao+=5;if(B[b].what==-3)Fire=300,Ice=0,Fir=3;if(B[b].what==-4)Water=200;if(B[b].what==-5){Wind=70;Ding=28.25;Ice=0;if(Y<Ding-1)Vy=5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(B[b].what==-6){Thun=200;system("color 1F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");}if(B[b].what==-7)Magne=300;if(B[b].what==-8)Ice=0,Drug=0,Blo=fmin((float)Blomax,Blo+20);if(B[b].what==-9)Exp=fmin((float)Expmax,Exp+20);B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}} }if(Wind==0&&Thun==0&&(B[b].kill!=0||Killb>=15||Ren==1&&Killb>0)) return; for(int i=0;i<3;i++){ if((Wind>=1||Thun>=1)&&abs(x-Nox[i])+abs(y-Noy[i])<2.5) {if(B[b].what<98)Exp+=2;B[b].life=0;Map(3,b);break;} if(a==1) {if(abs(x-Nox[i])<0.5&&abs(y-Noy[i])<1) {if(B[b].what>=99)Blo-=10;if(B[b].what==14)Blo-=15,Ice=100,B[b].life=0;else if(B[b].what==15)Blo-=20,Ice=0,B[b].life=0;else if(B[b].what==17)Blo-=5,Drug=100,B[b].life=0;else if(B[b].what>=13&&B[b].what<=17)Blo-=10,B[b].life=0;else Blo-=15;B[b].kill=1,Killb=20;Kill=1;Map(3,b);break;}} if (a==2||a==6||a==8||a==9||a==10||a==11||a==12) { if(abs(x-Nox[i])+abs(y-Noy[i])<1.5) { if(a==2)Blo-=20; else if(a==8)Blo-=10; else Blo-=15;B[b].kill=1,Killb=20;Kill=1;if(a!=2){B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}}} if(a==4) {if((Wind>=1||Thun>=1)&&abs(x-Nox[i])<1.5&&Noy[i]-y<=0&&Noy[i]-y>=-8) {if(B[b].what<98)Exp+=2;B[b].life=0;Map(3,b);break;}if(abs(x-Nox[i])<1&&Noy[i]-y<=0&&Noy[i]-y>=-8) {Blo-=25,B[b].kill=1,Killb=20;Kill=1;Vy=-1;Y-=0.5;break;}} } } void Map(int a,int b){ Color(0); if(a==-1){ if(Boss==1||Boss==6){if(Bwhat1==5){if(ti(Bx1)==20)Setpos(Bx1,By1),cout<<"==";else Setpos(Bx1,By1),cout<<" ";}else{Setpos(Bx1-1,By1-0.5),cout<<" ";Setpos(Bx1,By1-1),cout<<" ";Setpos(Bx1+1,By1-0.5),cout<<" ";if(abs(ti(Bx1)-20)<=1)Setpos(20,By1-1),cout<<"======";}} if(Boss==2||Boss==6){Setpos(Bx2-1,By2-1);cout<<" ";Setpos(Bx2,By2-1);cout<<" ";Setpos(Bx2+1,By2-1),cout<<" ";Color(0);if(abs(ti(Bx2)-20)<=1)Setpos(20,By2-1),cout<<"======";} if(Boss==3||Boss==6){Setpos(Bx3-1,By3-0.5);cout<<" ";Setpos(Bx3,By3);cout<<" ";Setpos(Bx3+1,By3-1),cout<<" ";Color(0);if(abs(ti(Bx3)-20)<=1)Setpos(20,By3-1),cout<<"=======";} if(X<0)return;if(X>=17&&X<=19){Setpos(X-1,Y);cout<<" ";Setpos(X,Y-1);cout<<" ";Setpos(X+1,Y-1),cout<<" ";}else if(X<=23&&X>=21){Setpos(X+1,Y);cout<<" ";Setpos(X,Y-1);cout<<" ";Setpos(X-1,Y-1),cout<<" ";}else if(X>23){Setpos(X,Y-1);cout<<" ";Setpos(X-1,Y-0.5),cout<<" ";}else if(X<17&&Upt!=0){Setpos(X,Y-1);cout<<" ";Setpos(X+1,Y-1.5),cout<<" ";}else if(X<17){Setpos(X,Y-1);cout<<" ";Setpos(X+1,Y-0.5),cout<<" ";}if(Thun>0){Setpos(X-2,Y-1),cout<<" ";Setpos(X+2,Y-1),cout<<" ";Setpos(X,Y+2),cout<<" ";Setpos(X,Y-2.5),cout<<" ";Setpos(X-1,Y+1),cout<<" ";Setpos(X+1,Y+1),cout<<" ";Setpos(X-1,Y-2),cout<<" ";Setpos(X+1,Y-2),cout<<" ";Setpos(20,Y-2.5),cout<<"============";}if(Wind!=0){Setpos(X+1,Y-5);cout<<" ";Setpos(X,Y-5);cout<<" ";Setpos(X-1,Y-5);cout<<" ";Setpos(20,Y-5),cout<<"========";}if(Water!=0){Setpos(X,Y-4);cout<<" ";Setpos(X+2,Y-3.5);cout<<" ";Setpos(X-2,Y-3.5);cout<<" ";Setpos(X+1,Y-3.5);cout<<" ";Setpos(X-1,Y-3.5);cout<<" ";Setpos(20,Y-5),cout<<"========";}if(Fire!=0){Setpos(X,Y+1),cout<<" ";Setpos(X+1,Y),cout<<" ";Setpos(X-1,Y-1),cout<<" ";Setpos(20,Y-1);cout<<"======";} } if(a==0){ if(Boss==1||Boss==6){if(Bwhat1==5)Color(5),Setpos(Bx1,By1),cout<<"█",Color(0);else if(Bwhat1==4&&Bgo1[1]>6&&Bgo1[1]<11)Color(4),Setpos(Bgo1[5]-1,Bgo1[6]),cout<<"︻",Setpos(Bgo1[5],Bgo1[6]-1),cout<<"【",Setpos(Bgo1[5],Bgo1[6]+1),cout<<"】",Setpos(Bgo1[5]+1,Bgo1[6]),cout<<"︼",Color(0);else{Setpos(Bx1-1,By1-0.5),Color(0),cout<<"●●";Setpos(Bx1,By1-1);if(Bwhat1==2&&Bgo1[1]<=5)Color(1);else if(Bwhat1==3&&Bgo1[1]<=5)Color(5);else if(Bwhat1==6&&Bgo1[1]<=5)Color(8); else Color(4);if(Bwhat1==4) Setpos(Bx1,By1-0.5),cout<<"██(";else cout<<")██(";Setpos(Bx1+1,By1-0.5),cout<<"……";Color(0);}} if(Boss==2||Boss==6){Setpos(Bx2-1,By2-1);Color(0),cout<<"\\ ";Color(0);cout<<"●";Setpos(Bx2,By2-1);Color(3);cout<<"◥";Color(5),cout<<"JJJ";Color(0),cout<<">";Color(3);Setpos(Bx2+1,By2-1),cout<<"◢█◣";Color(0);} if(Boss==3||Boss==6){Setpos(Bx3-1,By3-0.5);if(Bwhat3==3||Bwhat3==9) Color(1);else if(Bwhat3==4||Bwhat3==10) Color(4);else if(Bwhat3==5||Bwhat3==11) Color(5);if(Bwhat3==11)cout<<' ';else if(Bwhat3==6) Color(3);else Color(2);cout<<"●-";Setpos(Bx3,By3);if(Bwhat3==11)cout<<"/";else cout<<"┃";Color(0);Setpos(Bx3+1,By3-1),cout<<"●●●";} if(X<0)return;if(Ren==2) Color(12);if(Ren==3) Color(1);if(Ren==4) Color(3);if(Ren==5) Color(4);if(Ren==6) Color(2);if(Drug!=0&&T%5!=0) Color(11);if(Drug!=0&&T%5==0) Color(11);if(Ice!=0) Color(6);if(b==1) Color(8);if(Li!=0) Color(5);if(Ren==1&&Killb>0&&T%4<2) Color(13);if(Wind>0&&T%4<=1) Color(1);if(Wind>0&&T%4>=2) Color(0);if(Thun>0&&T%4<=1) Color(1);if(Thun>0&&T%4>=2) Color(6); if(X>=17&&X<=19){Setpos(X-1,Y);cout<<"●";Setpos(X,Y-1);cout<<"━/";if(T%10<3) Setpos(X+1,Y-1),cout<<"┛╲";else if(T%10<6) Setpos(X+1,Y-1),cout<<"┦ ";else Setpos(X+1,Y-1),cout<<"╯>";if(Wind>0&&T%3==0) Setpos(X+1,Y-1),cout<<"┛╲";else if(Wind>0&&T%3==1) Setpos(X+1,Y-1),cout<<"┦ ";else if(Wind>0&&T%3==2)Setpos(X+1,Y-1),cout<<"╯>";}else if(X<=23&&X>=21){Setpos(X+1,Y);cout<<"●";Setpos(X,Y-1);cout<<"━\\";if(T%10<3) Setpos(X-1,Y-1),cout<<"┓╱";else if(T%10<6) Setpos(X-1,Y-1),cout<<"┪ ";else Setpos(X-1,Y-1),cout<<"╮>";if(Wind>0&&T%3==0) Setpos(X-1,Y-1),cout<<"┓╱";else if(Wind>0&&T%3==1) Setpos(X-1,Y-1),cout<<"┪ ";else if(Wind>0&&T%3==2)Setpos(X-1,Y-1),cout<<"╮>";}else if(X>23){Setpos(X,Y-1);cout<<"━ ●";Setpos(X-1,Y-0.5),cout<<"│>";}else if(X<17&&Upt!=0){Setpos(X,Y-1);cout<<"━ ●";Setpos(X+1,Y-1.5),cout<<"╱ >";}else if(X<17){Setpos(X,Y-1);cout<<"━ ●";Setpos(X+1,Y-0.5),cout<<"│>";}if(Thun>0){Setpos(X-2,Y-1),cout<<"▄▄";Setpos(X+2,Y-1),cout<<"▄▄";Setpos(X,Y+2),cout<<"▌";Setpos(X,Y-2.5),cout<<"▌";Setpos(X-1,Y+1),cout<<"█";Setpos(X+1,Y+1),cout<<"█";Setpos(X-1,Y-2),cout<<"█";Setpos(X+1,Y-2),cout<<"█";}if(Magne>0&&T%7<2)Setpos(X,Y),Color(5),cout<<"★";if(Wind>1){if(T%6<2)Color(1);else Color(0);if(T%8<=1){Setpos(X+1,Y-5);cout<<"---- --";Setpos(X,Y-5);cout<<"- --- -";Setpos(X-1,Y-5);cout<<"--- - --";}else if(T%8<=3){Setpos(X+1,Y-5);cout<<"------ ";Setpos(X,Y-5);cout<<" -- ---";Setpos(X-1,Y-5);cout<<"----- - ";}else if(T%8<=5){Setpos(X+1,Y-5);cout<<" ------";Setpos(X,Y-5);cout<<"-- -- -";Setpos(X-1,Y-5);cout<<"- ----- ";}else if(T%8<=7){Setpos(X+1,Y-5);cout<<"-- ----";Setpos(X,Y-5);cout<<" --- -- ";Setpos(X-1,Y-5);cout<<"- - ----";}}if(Water!=0){Color(1);if(T%20<5){Setpos(X+2,Y-3);cout<<"■";Setpos(X+1,Y-3.5);cout<<"■";Setpos(X-1,Y-2.5);cout<<"■";Setpos(X-2,Y-3);cout<<"■";}else if(T%20<10||T%20>=15){Setpos(X+2,Y-3);cout<<"■";Setpos(X,Y-4);cout<<"■■";Setpos(X-2,Y-3); cout<<"■";}else if(T%20<15){Setpos(X+2,Y-3.5);cout<<"■";Setpos(X+1,Y-3);cout<<"■";Setpos(X-1,Y-3.5);cout<<"■";Setpos(X-2,Y-3);cout<<"■";}}if(Fire!=0){if(T%6<3)Color(4);else Color(5);if(Fir>=1)Setpos(X,Y+1),cout<<"●";if(Fir>=2)Setpos(X+1,Y),cout<<"●";if(Fir>=3)Setpos(X-1,Y-1),cout<<"●";} } if(a==1||a==3){ if(B[b].what==1){Nor;Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<" ";if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].How<=1) Color(13);else Color(4);cout<<"●";if(a==1) Pan(1,B[b].x,B[b].y,b);}} if(B[b].what==2){Nor;Setpos(B[b].x-1,B[b].y-1);if(ti(B[b].x-1)==20)cout<<"======";else cout<<" ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<" ";Setpos(B[b].x+1,B[b].y-1);if(ti(B[b].x+1)==20)cout<<"======";else cout<<" ";if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);Color(5);if(B[b].How==0){Setpos(B[b].x-1,B[b].y),cout<<"↑";Setpos(B[b].x,B[b].y-1),cout<<"←┼ →";Setpos(B[b].x+1,B[b].y),cout<<"↓";}else if(B[b].How==1){Setpos(B[b].x-1,B[b].y-1),cout<<"↖ ↗";Setpos(B[b].x,B[b].y),cout<<"╳";Setpos(B[b].x+1,B[b].y-1),cout<<"↙ ↘";} if(a==1) Pan(2,B[b].x,B[b].y,b);}} if(B[b].what==3||B[b].what==5){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<" ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;Setpos(B[b].x,B[b].y);if(B[b].How==1) Color(5);else Color(4);cout<<"◎";}} if(B[b].what==4){Nor;Setpos(B[b].x,fmax((float)0,B[b].y-8));if(ti(B[b].x)==20){for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<"==";}else {for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<" ";}if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,fmax((float)0,B[b].y-8));Color(6); for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<"═"; if(a==1) Pan(4,B[b].x,B[b].y,b);}} if(B[b].what==6||B[b].what==8||B[b].what==9){Nor;Setpos(B[b].x-1,B[b].y);if(ti(B[b].x)-1==20)cout<<"==";else cout<<" ";Setpos(B[b].x+1,B[b].y);if(ti(B[b].x)+1==20)cout<<"==";else cout<<" ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<" ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;Setpos(B[b].x,B[b].y-1);if(B[b].what==6){if(B[b].How<=1) Color(1); else Color(6);}if(B[b].what==9){if(B[b].How<=1) Color(4); else Color(8);}if(B[b].what==8)Color(5);Setpos(B[b].x-1,B[b].y);cout<<"︹";Setpos(B[b].x+1,B[b].y);cout<<"︺";Setpos(B[b].x,B[b].y-1);if(B[b].How%2==1) cout<<"〔●〕"; else cout<<"﹝○﹞"; if(a==1) Pan(6,B[b].x,B[b].y,b);}} if(B[b].what==7){Nor;Setpos(B[b].x,B[b].y);if(B[b].How<0) for(int i=19;i>=20+B[b].How;i--) {Setpos(i,B[b].y);cout<<" ";}if(B[b].How>0) for(int i=21;i<=20+B[b].How;i++) {Setpos(i,B[b].y);cout<<" ";}if(B[b].life!=0){B[b].y-=B[b].vy;if(B[b].How<0) for(int i=19;i>=20+B[b].How;i--) {Setpos(i,B[b].y);cout<<"║"; if(a==1) Pan(7,i,B[b].y,b);}if(B[b].How>0) for(int i=21;i<=20+B[b].How;i++) {Setpos(i,B[b].y);cout<<"║"; if(a==1) Pan(7,i,B[b].y,b);}}} if(B[b].what==10||B[b].what==11||B[b].what==12){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<" ";if(B[b].life!=0){B[b].x-=B[b].vx;B[b].y-=B[b].vy;if(B[b].How==1){B[b].vy-=0.2;}else B[b].vx-=0.35;if(B[b].x>=25) B[b].x=25,B[b].vx*=-0.8;if(B[b].what==11&&B[b].y<=1) B[b].y=1,B[b].vy*=-1;if(B[b].what==12&&B[b].y<=1) B[b].y=1,B[b].vx=0,B[b].vy=-0.5,B[b].How=1;Setpos(B[b].x,B[b].y);if(B[b].what==11)Color(1);else if(B[b].what==12)Color(5);else Color(0);if(B[b].t%4<2)cout<<"▃";else cout<<"▍";if(a==1) Pan(B[b].what,B[b].x,B[b].y,b);}} if(B[b].what>=13&&B[b].what<=17){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"====";else cout<<" ";if(B[b].life!=0){B[b].x-=B[b].vx;B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].what==14) Color(1);else if(B[b].what==15) Color(4);else if(B[b].what==16) Color(5);else if(B[b].what==17) Color(3);else Color(2);cout<<"●";if(B[b].what==14)cout<<"*";if(B[b].what==15)cout<<"";if(B[b].what==16)cout<<"<";if(B[b].what==17)cout<<"X";} if(a==1) Pan(1,B[b].x,B[b].y,b);} if(B[b].what==98&&B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(ti(B[b].x==20))cout<<"==";else cout<<" ";if(B[b].y<=3)B[b].life=0;} if(B[b].what>=99){if(B[b].y<=3)B[b].life=0;if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);Color(5);if(B[b].what==99)cout<<"█";if(B[b].what>=100&&B[b].what<200){if(B[b].what%5==0)cout<<"我";if(B[b].what%5==1)cout<<"是";if(B[b].what%5==2)cout<<"最";if(B[b].what%5==3)cout<<"强";if(B[b].what%5==4)cout<<"的";}if(B[b].what>=200&&B[b].what<300){if(B[b].what%6==0)cout<<"神";if(B[b].what%6==1)cout<<"级";if(B[b].what%6==2)cout<<"怪";if(B[b].what%6==3)cout<<"物";if(B[b].what%6==4)cout<<"之";if(B[b].what%6==5)cout<<"光";}if(B[b].what>=300&&B[b].what<400){if(B[b].what%8==0)cout<<"颤";if(B[b].what%8==1)cout<<"抖";if(B[b].what%8==2)cout<<"吧";if(B[b].what%8==3)cout<<"无";if(B[b].what%8==4)cout<<"能";if(B[b].what%8==5)cout<<"的";if(B[b].what%8==6)cout<<"人";if(B[b].what%8==7)cout<<"类";}if(B[b].what>=400&&B[b].what<500){if(B[b].what%8==0)cout<<"还";if(B[b].what%8==1)cout<<"不";if(B[b].what%8==2)cout<<"快";if(B[b].what%8==3)cout<<"跪";if(B[b].what%8==4)cout<<"倒";if(B[b].what%8==5)cout<<"在";if(B[b].what%8==6)cout<<"朕";if(B[b].what%8==7)cout<<"前";}if(B[b].what>=500&&B[b].what<600){if(B[b].what%8==0)cout<<"看";if(B[b].what%8==1)cout<<"懂";if(B[b].what%8==2)cout<<"这";if(B[b].what%8==3)cout<<"句";if(B[b].what%8==4)cout<<"话";if(B[b].what%8==5)cout<<"的";if(B[b].what%8==6)cout<<"是";if(B[b].what%8==7)cout<<"猪";} if(a==1) Pan(1,B[b].x,B[b].y,b);}} if(B[b].what==-1){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<" ";if(Boss==0) B[b].life=0;else if(((Boss==1&&abs(B[b].x-Bx1)+abs(B[b].y-By1)<1.5)||(Boss==2&&abs(B[b].x-Bx2)+abs(B[b].y-By2)<1.5)||(Boss==3&&abs(B[b].x-Bx3)+abs(B[b].y-By3)<1.5)||(B[b].t==10))&&B[b].life==1) Bblo-=8+Lv*2,B[b].life=0;if(B[b].life!=0){if(Boss==1)B[b].x=B[b].x+(Bx1-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By1-B[b].y)/(10-B[b].t)*1.0;if(Boss==2)B[b].x=B[b].x+(Bx2-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By2-B[b].y)/(10-B[b].t)*1.0;if(Boss==3)B[b].x=B[b].x+(Bx3-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By3-B[b].y)/(10-B[b].t)*1.0;Setpos(B[b].x,B[b].y);Color(7);if(B[b].t%2==0) cout<<"+";else cout<<"×";}} if(B[b].what<=-2&&B[b].what>=-9){Nor;Setpos(B[b].x-1,B[b].y);if(ti(B[b].x)-1==20)cout<<"==";else cout<<" ";Setpos(B[b].x+1,B[b].y);if(ti(B[b].x)+1==20)cout<<"==";else cout<<" ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<" ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;if(B[b].what<=-3&&B[b].what>=-7){if(B[b].x<=7)B[b].x=7;if(B[b].x>=28)B[b].x=28;else if(B[b].x>=B[b].a+1&&B[b].How==1)B[b].How=0;else if(B[b].x<=B[b].a-1&&B[b].How==0)B[b].How=1;if(B[b].How==1&&B[b].vx>=-1)B[b].vx-=0.2;if(B[b].How==0&&B[b].vx<=1)B[b].vx+=0.2;}if(B[b].what==-2) Color(3);if(B[b].what==-3) Color(4);if(B[b].what==-4) Color(1);if(B[b].what==-5) Color(0);if(B[b].what==-6) Color(6);if(B[b].what==-7) Color(5);if(B[b].what==-8) Color(2);if(B[b].what==-9) Color(14);if(T%7<=1&&B[b].what==-5)Color(1);else if(T%7<=1)Color(0);Setpos(B[b].x-1,B[b].y);cout<<"︹";Setpos(B[b].x+1,B[b].y);cout<<"︺";Setpos(B[b].x,B[b].y-1);if(B[b].what==-2) cout<<"﹝镖﹞";if(B[b].what==-3) cout<<"﹝火﹞";if(B[b].what==-4) cout<<"﹝水﹞";if(B[b].what==-5) cout<<"﹝风﹞";if(B[b].what==-6) cout<<"﹝雷﹞";if(B[b].what==-7) cout<<"﹝磁﹞";if(B[b].what==-8) cout<<"﹝血﹞";if(B[b].what==-9) cout<<"﹝忍﹞"; if(a==1) Pan(-2,B[b].x,B[b].y,b);}} if(B[b].what==-11||B[b].what==-12){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<" ";if(B[b].life!=0){if(Magne>0)B[b].How++,B[b].x=B[b].x+(X-B[b].x)/(10-B[b].How)*1.0,B[b].y=B[b].y+(Y-B[b].y)/(10-B[b].How)*1.0;B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].what==-10) Color(5);if(B[b].what==-11) Color(7);if(T%7<=1)Color(0);cout<<"◆"; if(a==1) Pan(-1,B[b].x,B[b].y,b);}} if(B[b].what==-13){Nor;Setpos(B[b].x,B[b].y-0.5);if(ti(B[b].x)==20)cout<<"===";else cout<<" ";if(B[b].life!=0){if(B[b].a==13880086){if(Boss==0) B[b].life=0;else if(((Boss==1&&abs(B[b].x-Bx1)+abs(B[b].y-By1)<1.5)||(Boss==2&&abs(B[b].x-Bx2)+abs(B[b].y-By2)<1.5)||(Boss==3&&abs(B[b].x-Bx3)+abs(B[b].y-By3)<1.5)||(B[b].t==5))&&B[b].life==1) Bblo-=8+Lv*2,B[b].life=0;if(B[b].life!=0){if(Boss==1)B[b].x=B[b].x+(Bx1-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By1-B[b].y)/(5-B[b].t)*1.0;if(Boss==2)B[b].x=B[b].x+(Bx2-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By2-B[b].y)/(5-B[b].t)*1.0;if(Boss==3)B[b].x=B[b].x+(Bx3-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By3-B[b].y)/(5-B[b].t)*1.0;}}else{if(B[B[b].a].life==0) B[b].life=0;else if((abs(B[b].x-B[B[b].a].x)+abs(B[b].y-B[B[b].a].y)<1.5||(B[b].t==5))&&B[b].life==1) Exp+=2,B[B[b].a].life=B[b].life=0;if(B[b].life!=0){B[b].x=B[b].x+(B[B[b].a].x-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(B[B[b].a].y-B[b].y)/(5-B[b].t)*1.0;}}Setpos(B[b].x,B[b].y-0.5);if(T%6<3)Color(5);else Color(4);cout<<"●";}} }if(br<bl) {br=-1,bl=0;memset(B,0,sizeof(B));}Color(0); } void Move(){ if(X<3) X=3;if(Y<1) Y=1,Vy=0;if(Y>29) Y=29,Vy=0; if(Ice!=0){X-=Vx/2.0;Y+=Vy/2.0;Vy=fmax(Vy-0.025,(float)0);if(T%6==0&&Up==0&&Y<Ding) Y+=0.25;if(T%6==3&&Up==0&&Y>=Ding) Y-=0.25;if(Up==0&&Y<=Ding-1.25) Vy=0.25;if(Up==0&&Y>=Ding+1.25&&Wind==0) Vy=-0.25;if(Up==0&&Down==0&&Vx>0&&X<=18) Up=0,Down=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2&&X<=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up==0&&Down==1&&Vx<0&&X>=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up>0&&Down==0&&X>18) Up=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2) Vx+=0.175;else if(Up>0&&Upt==0) Vx-=0.175;else if(Up>0&&Upt>0) {Vx=fmax(Vx-0.125,(float)0);if(Upt==1&&T%2==0)Map(-1,0);if(T%2==0)Upt--;}} else{X-=Vx;Y+=Vy;Vy=fmax(Vy-0.05,(float)0);if(Wind==0){if(T%6==0&&Up==0&&Y<Ding) Y+=0.5;if(T%6==3&&Up==0&&Y>=Ding) Y-=0.5;}else{if(T%2==0&&Up==0&&Y<Ding) Y+=0.5;if(T%2==1&&Up==0&&Y>=Ding) Y-=0.5;}if(Up==0&&Y<=Ding-1.25) Vy=0.5;if(Up==0&&Y>=Ding+1.25&&Wind==0) Vy=-0.5;if(Up==0&&Down==0&&Vx>0&&X<=18) Up=0,Down=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2&&X<=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up==0&&Down==1&&Vx<0&&X>=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up>0&&Down==0&&X>18) Up=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2) Vx+=0.35;else if(Up>0&&Upt==0) Vx-=0.35;else if(Up>0&&Upt>0) {Vx=fmax(Vx-0.25,(float)0);if(Upt==1)Map(-1,0); Upt--;}} for(int i=bl;i<=br;i++){ if(B[i].what<98)if(B[i].x-B[i].vx<=5||B[i].x-B[i].vx>=30||B[i].y-B[i].vy<=0||B[i].y-B[i].vy>=30){B[i].life=0;Map(1,i);} for(int j=0;j<20;j++)if(B[i].what>0&&B[i].life!=0&&abs(B[i].x-I[j][0])<2&&B[i].y-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<" ";I[j][0]=I[j][1]=-1;B[i].life=0;Exp+=2;} if(B[i].t>=100)B[i].life=0;if(B[i].life==0&&i==bl) bl++; Map(1,i);if(B[i].life==0) continue; else{B[i].t++; if(B[i].what==1){if(B[i].y<=25&&B[i].How==0) B[i].vy=0,B[i].How=1;if(B[i].t==30) B[i].y+=1.5,B[i].How=2;if(B[i].t==35) B[i].vy=1.5,B[i].How=3;} if(B[i].what==2){if(B[i].t%3==0) B[i].How=!B[i].How;} if(B[i].what==3||B[i].what==5){if(B[i].what==3&&B[i].y<=20) B[i].vy=0;if(B[i].what==5&&B[i].y<=21) B[i].vy=0;if(B[i].t>30&&B[i].t%2==0) B[i].How=!B[i].How;if(B[i].what==5&&B[i].t<=30&&B[i].x<X) B[i].vx=-0.2;else if(B[i].what==5&&B[i].t<=70&&B[i].x>X) B[i].vx=0.2;else B[i].vx=0;if(B[i].t==45){B[i].life=0;br++;B[br].what=4;B[br].x=B[i].x;B[br].y=32;B[br].vy=3;B[br].life=1;}} if(B[i].what==6||B[i].what==8||B[i].what==9){if(B[i].vx<0.25&&B[i].vy<0.25&&B[i].t>=50){B[i].life=0;if(B[i].life==0&&i==bl) bl++;Map(1,i);break;}if(B[i].t%5==0) B[i].How=rand()%4;if(B[i].what==9){if(B[i].t==7){X9:float xx=(rand()%41)/40.0,yy=(rand()%41)/40.0;if(xx<=0.5&&yy<=0.5) goto X9;for(int j=1;j<=4;j++){br++,B[br].what=9;B[br].t=11;B[br].x=B[i].x,B[br].y=B[i].y,B[br].vx=xx,B[br].vy=yy;if(j%2==0)swap(B[br].vx,B[br].vy),B[br].vy*=-1;if(j<=2)B[br].vx*=-1,B[br].vy*=-1;B[br].life=1;}B[i].life=0;}}if(B[i].what==8){if(B[i].x>X&&B[i].vx<1.2) B[i].vx+=fmax((float)0,0.2-B[i].t/25);if(B[i].x<X&&B[i].vx>-1.2) B[i].vx-=fmax((float)0,0.2-B[i].t/25);if(B[i].y>Y&&B[i].vy<1.2) B[i].vy+=fmax((float)0,0.2-B[i].t/25);if(B[i].y<Y&&B[i].vy>-1.2) B[i].vy-=fmax((float)0,0.2-B[i].t/25);}} if(B[i].what>=13&&B[i].what<=15&&B[i].How!=0){if(B[i].x==B[i].How)B[i].vx=0,B[i].How=0;} if(B[i].what==16){if(B[i].x<X&&B[i].vx>=-1) B[i].vx-=0.2;else if(B[i].x>X&&B[i].vx<=1) B[i].vx+=0.2;} } if(B[i].life==1&&B[i].a==0&&B[i].what>0){if(B[i].y>Y&&abs(B[i].x-X)<=3&&((B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y))<Dis) Dis=(B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y),Disb=i;else if(((B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y))<Dis1) Dis1=(B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y),Disb1=i;} } } void Guai(int R,int r){ if(R==-1){br++;B[br].what=-1;B[br].x=X+rand()%3-1;B[br].y=Y+rand()%3-1;B[br].life=1;} if(R<=-2&&R>=-11){br++;B[br].what=R;B[br].x=B[br].a=r;B[br].y=29;if(R<=-3&&R>=-7)B[br].vx=-1;B[br].vy=1;B[br].life=1;} if(R==0){br++;B[br].what=1;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;} if(R==1){br++;B[br].what=2;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;} if(R==2||R==3){br++;B[br].what=2*R-1;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;} if(R==4){br++;B[br].what=6;if(r<5)r=5;if(r>30)r=30;B[br].x=r;if(r==11||r==25) B[br].y=29-(rand()%20);else B[br].y=29;X4:B[br].vx=(rand()%21-10)/30.0;B[br].vy=(rand()%25)/30.0;if(B[br].vx<=0.8&&B[br].vy<=0.8)goto X4;int rx=rand()%50;if(rx==0) B[br].vx=0;B[br].life=1;} if(R==5){br++;B[br].How=r;B[br].what=7;if(B[br].How<0) B[br].x=19;if(B[br].How>0) B[br].x=21;B[br].y=29;B[br].vy=1;B[br].life=1;} } void CpGuai(int R,float x,float y,float xx,float yy){ if(R==4){br++;B[br].what=6;B[br].x=x;B[br].y=y;B[br].vx=xx;B[br].vy=yy;B[br].life=1;} if(R==6||R==7||R==8){br++;B[br].what=4+R;B[br].x=x;B[br].y=y;B[br].vx=xx;B[br].vy=yy;B[br].life=1;} } void MesGuai(int a,int rr){ int R=rand()%rr,r=-10086; if(R==0){if(a==1) r=(5+rand()%8)*2;if(a<=3&&a!=1) r=10+rand()%16;if(a==4) r=rand()%75-20;if(a==5) r=2+rand()%4;if(r!=-10086) Guai(a,r);} } void NorGuai(int a,int b){ if(a==1) {if(b==1||b==41) Guai(0,15),Guai(0,17),Guai(0,19);if(b==21||b==61) Guai(0,21),Guai(0,23),Guai(0,25);if(b==81) Guai(0,11),Guai(0,13),Guai(0,15),Guai(0,17),Guai(0,19);if(b==101||b==141) Guai(0,17),Guai(0,19),Guai(0,21),Guai(0,23),Guai(0,25);if(b==121) Guai(0,15),Guai(0,17),Guai(0,19),Guai(0,21),Guai(0,23);if(b>=160&&b<=260&&b%10==0) Guai(0,b/10-1);if(b>=270&&b<=370&&b%10==0) Guai(0,52-b/10);if(b>=460&&b<=560&&b%10==0) Guai(0,b/10-37),Guai(0,b/10-36),Guai(0,b/10-35);if(b>=570&&b<=670&&b%10==0) Guai(0,78-b/10),Guai(0,77-b/10),Guai(0,76-b/10);if(b>=760&&b<=960&&b%10==0) Guai(0,b/10-66),Guai(0,b/10-65),Guai(0,103-b/10),Guai(0,104-b/10);if(b>=1000&&b<=1300) MesGuai(0,30-b/50);} if(a==2) {if(b<=200&&b%30==1) {int r=rand()%4;if(r==1) r=0;for(int i=0;i<4;i++) if(i!=r) Guai(1,i*4+9);}if(b>200&&b<=220&&b%5==1) Guai(1,18);if(b>220&&b<=300&&b%7==1) Guai(1,b/5-26);if(b>350&&b<=370&&b%5==1) Guai(1,22);if(b>370&&b<=450&&b%7==1) Guai(1,96-b/5);if(b==461||b==501||b==541) Guai(1,13),Guai(1,17),Guai(1,21);if(b==481||b==521||b==561) Guai(1,17),Guai(1,21),Guai(1,25);if(b>=561&&b<=861&&b%20==1) Guai(1,b/40+5);if(b>=561&&b<=861&&b%20==11) Guai(1,35-b/40);if(b>=801&&b<=961&&b%15==1) Guai(1,20);if(b>=1000&&b<=1300) MesGuai(1,30-b/50);} if(a==3) {if(b==1||b==61) Guai(3,15),Guai(2,17),Guai(2,19);if(b==31||b==91) Guai(2,21),Guai(2,23),Guai(3,25);if(b>=120&&b<=220&&b%10==0) Guai(2,b/10+3);if(b>=240&&b<=340&&b%10==0) Guai(2,49-b/10);if(b>=360&&b<=460&&b%20==0) Guai(2,b/10-21),Guai(2,61-b/10);if(b>=480&&b<=580&&b%20==0) Guai(3,b/10-33),Guai(3,73-b/10);if(b>=600&&b<750&&b%30==0) {for(int i=0;i<5;i++) Guai(3,i*3+10);}if(b>=750&&b<830&&b%10==0) if(b<=200&&b%40==1) Guai(2,X);if(b>=830&&b<910&&b%20==0) Guai(2,X);if(b>=910&&b<980&&b%10==0) Guai(2,X);if(b>=1000&&b<=1300) MesGuai(rand()%2+2,40-b/50);} if(a==4) {if(b==1) CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,21,29,0,0.65);if(b==41) CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,18,29,0,0.65);if(b==81) CpGuai(4,5,20,-0.4,0.35),CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,30,20,0.25,0.4),CpGuai(4,21,29,0,0.65);if(b==121) CpGuai(4,5,20,-0.2,0.35),CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,30,20,0.4,0.4),CpGuai(4,18,29,0,0.65);if(b==161) CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,21,29,0,0.6),CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,18,29,0,0.65);if(b>=200&&b<=500&&b%40==1) {float r=0,rr;for(int i=1;i<=5;i++){X5:rr=0.7+(rand()%5)/10.0;if(rr==r)goto X5;r=rr;CpGuai(4,i*3+7,29,0,0.5+(rand()%50)/80.0);}}if(b>540&&b<=565&&b%5==1) CpGuai(4,5,8,-2,0.2);if(b>590&&b<=615&&b%5==1) CpGuai(4,30,8,1.5,0.2);if(b>640&&b<=665&&b%5==1) CpGuai(4,5,8,-1.5,0.3);if(b>690&&b<=715&&b%5==1) CpGuai(4,30,8,2,0.3);if(b>=750&&b<=950&&b%20==1) {float r=0,rr;for(int i=1;i<=3;i++){X6:rr=0.7+(rand()%5)/10.0;if(rr==r)goto X6;r=rr;CpGuai(4,i*5+7+(rand()%3),29,0,0.5+(rand()%50)/200.0);}}if(b>=1000&&b<=1300) MesGuai(4,5);} } void RandGood(){ if(Biao>0){Biao--;Guai(-1,0);} if(Gd[1]==0){Gd[1]=rand()%1000+1;if(Win==7)Gd[1]=10086;Gd[3]=rand()%16+8;} else if(Gd[1]<=5){Guai(-2-Gd[1],Gd[3]);memset(Gd,0,sizeof(Gd));} else if(Gd[1]>=20&&Gd[1]<27){Guai(-8,Gd[3]);memset(Gd,0,sizeof(Gd));} else if(Gd[1]>=30&&Gd[1]<37){Guai(-9,Gd[3]);memset(Gd,0,sizeof(Gd));} else if(Gd[1]>=40&&Gd[1]<70){Gd[2]++;if(Gd[2]%2==1)Guai(-10,Gd[3]);if(Gd[2]>=9)memset(Gd,0,sizeof(Gd));} else if(Gd[1]>=70&&Gd[1]<100){Gd[2]++;if(Gd[2]%2==1)Guai(-11,Gd[3]);if(Gd[2]>=9)memset(Gd,0,sizeof(Gd));} else if(Boss!=0&&Gd[1]>=450&&Gd[1]<=500){Guai(-2,Gd[3]);memset(Gd,0,sizeof(Gd));} else Gd[1]=0; for(int i=0;i<20;i++){if(I[i][0]==-1) continue;Setpos(I[i][0],I[i][1]);Color(0);if(I[i][0]==20) cout<<"===";else cout<<" ";I[i][1]++;if(I[i][0]>=28||I[i][0]<=0||I[i][1]>=29) I[i][0]=I[i][1]=-1;else Color(1),Setpos(I[i][0],I[i][1]),cout<<"■";Color(0);} } void Panboss(int bx,int by){ float Nox[4],Noy[4];Nox[0]=X,Noy[0]=Y; if(Down==1&&X==22) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5; else if(Down==2) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10; else if(Down==1||X<18) Nox[1]=X-1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10; else Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5; for(int i=0;i<3;i++){if((Boss==1||Boss==6)&&Wind==0&&Thun==0&&abs(Nox[i]-bx)<1&&abs(Noy[i]-by)<1&&Bgo1[4]==0) Blo-=20,Bgo1[4]=1,Killb=20,Kill=1;if((Boss==2||Boss==6)&&Wind==0&&Thun==0&&abs(Nox[i]-bx)<1&&abs(Noy[i]-by)<1&&Bgo2[8]==0) Blo-=20,Bgo2[8]=1,Killb=20,Kill=1;} } void Boss1(){ for(int j=0;j<20;j++)if(abs(Bx1-I[j][0])<2&&By1-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<" ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;} if(Bbr==Bbl&&Bbr!=0) Bbr=Bbl=0; for(int i=1;i<=3+(Bbl-Bbr)/5;i++)if(Bbr<Bbl){Setpos(Bway[Bbr][0],Bway[Bbr][1]);if(Bway[Bbr][0]==20) cout<<"==";else cout<<" ";Bbr++;} if(Bwhat1==5){int bx,by;Color(5);for(int i=0;i<10;i++){bx=Bx1-i*Bvx1/10.0;by=By1-i*Bvy1/10.0;Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;}Color(0);} Bx1-=Bvx1;By1-=Bvy1; if(Bwhat1==0){X2:Bwhat1=rand()%7;if(Bwhat1==2||Bwhat1==3){if(By1<=10||By1>25) goto X2;}if(Bwhat1==4){if(By1<=15||Bx1<20) goto X2;Bgo1[2]=Bx1;Bgo1[3]=By1-1;}if(Bwhat1==5) {X0:Bgo1[3]=rand()%4+1;Bvx1=(rand()%101)/20.0;Bvy1=(rand()%101)/20.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(abs(Bvx1)+abs(Bvy1)<=3||Out1)goto X0;}if(Bwhat1==6){if(By1<=17||By1>25) goto X2;}} if(Bwhat1==1){Bgo1[1]++,Bgo1[2]++;int R=rand()%(5-Bgo1[1]),r=rand()%(10-Bgo1[2]);if(Out1) R=0;if(R==0) {int vx=Bvx1,vy=Bvy1;Bgo1[1]=0;Bvx1=(rand()%101-20)/50.0;Bvy1=(rand()%101-20)/50.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(Out1) r=0;} if(r==0) Chang1 } if(Bwhat1==2){Bgo1[1]++;if(Bgo1[1]>6){Bvy1=-0.3;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=6;X3:B[br].vx=(rand()%21-10)/40.0;B[br].vy=(rand()%25)/30.0;if(B[br].vx<=0.8&&B[br].vy<=0.8)goto X3;int rx=rand()%50;if(rx==0) B[br].vx=0;B[br].life=1;}if(Bgo1[1]>8) Chang1} if(Bwhat1==3){Bgo1[1]++;if(Bgo1[1]>6&&Bgo1[1]%3==0){Bvy1=-0.3;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=8;B[br].life=1;}if(Bgo1[1]>15) Chang1} if(Bwhat1==4){Bgo1[1]++;if(Bgo1[1]<=8){Setpos(Bgo1[2],Bgo1[3]);if(Bgo1[1]==1)cout<<" ";else if(Bgo1[1]>1&&Bgo1[2]==20) cout<<"==";else cout<<" ";Bgo1[2]--;Setpos(Bgo1[2],Bgo1[3]);int r=rand()%4;if(r%2==0) Color(6);else Color(9);if(r<2) cout<<") ";else cout<<"】";Color(0);}if(Bgo1[1]==6) Bgo1[5]=X,Bgo1[6]=Y;if(Bgo1[1]==11){Map(0,(bool)Kill);Setpos(Bgo1[5],Bgo1[6]+1),cout<<" ";Setpos(Bgo1[5],Bgo1[6]-1),cout<<" ";Setpos(Bgo1[5]+1,Bgo1[6]),cout<<" ";Setpos(Bgo1[5]-1,Bgo1[6]),cout<<" ";int bx,by,bvx=Bgo1[2]-Bgo1[5],bvy=Bgo1[3]-Bgo1[6];Color(6);int i=0;while(1){bx=Bgo1[2]-i*bvx/30.0;by=Bgo1[3]-i*bvy/30.0;if(bx<=5||bx>=30||by<0||by>=29) break;Panboss(bx,by);Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;i++;}Color(0);Map(-1,0);Chang1}} if(Bwhat1==5){Bgo1[1]++,Bgo1[2]++;int R=rand()%(5-Bgo1[1]),r=rand()%(10-Bgo1[2]);if(Out1) R=0;if(R==0) {int vx=Bvx1,vy=Bvy1;Bgo1[1]=0;X1:Bvx1=(rand()%101-20)/20.0;Bvy1=(rand()%101-20)/20.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(abs(Bvx1)+abs(Bvy1)<=3||abs(Bvx1-vx)<=1||abs(Bvy1-vy)<=1)goto X1;if(Out1) r=0;} if(r==0) Chang1 } if(Bwhat1==6){Bgo1[1]++;if(Bgo1[1]>6&&Bgo1[1]%10==0){By1-=1;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=9;X30:B[br].vy=1;B[br].life=1;}if(Bgo1[1]>31) Chang1} } void Boss2(){ for(int j=0;j<20;j++)if(abs(Bx2-I[j][0])<2&&By2-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<" ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;} if(Bbr==Bbl&&Bbr!=0) Bbr=Bbl=0; for(int i=1;i<=3+(Bbl-Bbr)/5;i++)if(Bbr<Bbl){Setpos(Bway[Bbr][0],Bway[Bbr][1]);if(Bway[Bbr][0]==20) cout<<"==";else cout<<" ";Bbr++;} Bx2-=Bvx2;By2-=Bvy2; if(Bwhat2==0){X21:Bwhat2=rand()%7;if(Bwhat2==2){X31:for(int i=1;i<=3;i++){Bgo2[i*2+1]=rand()%28+1,Bgo2[i*2]=rand()%25+5;if((abs(Bgo2[i*2]-Bx2)<=2&&abs(Bgo2[i*2+1]-By2)<=2)||(abs(Bgo2[i*2]-X)<=2&&abs(Bgo2[i*2+1]-Y)<=2))goto X31;}if(Bgo2[2]==Bgo2[4]||Bgo2[2]==Bgo2[6]||Bgo2[6]==Bgo2[4]||Bgo2[5]==Bgo2[3]||Bgo2[3]==Bgo2[7]||Bgo2[5]==Bgo2[7]) goto X31;}if(Bwhat2==3){Bgo2[2]=rand()%2;}if(Bwhat2==4||Bwhat2==5||Bwhat2==6){Bvy2=-1.5;Bvx2=-0.5;}} if(Bwhat2==1){Bgo2[1]++,Bgo2[2]++;int R=rand()%(5-Bgo2[1]),r=rand()%(30-Bgo2[2]);if(Out2) R=0;if(R==0) {int vx=Bvx2,vy=Bvy2;Bgo2[1]=0;Bvx2=(rand()%101-20)/50.0;Bvy2=(rand()%101-20)/50.0;if(Bgo2[3]<=2) Bvx2*=-1;if(Bgo2[3]%2==1) Bvy2*=-1;if(Out2) r=0;} if(r==0) Chang2 } if(Bwhat2==2){Bgo2[1]++;float bx,by,bvx,bvy;if(Bgo2[1]<21){for(int i=1;i<=3;i++){bvx=Bgo2[i*2]-Bx2,bvy=Bgo2[i*2+1]-By2;if(Bgo2[1]<=10){Setpos(Bx2+(Bgo2[1]-1)*bvx/10.0,By2+(Bgo2[1]-1)*bvy/10.0);if(abs(Bx2+(Bgo2[1]-1)*bvx/10.0-20)<0.5)cout<<"==";else cout<<" ";bx=Bx2+Bgo2[1]*bvx/10.0;by=By2+Bgo2[1]*bvy/10.0;Setpos(bx,by);}else Setpos(Bgo2[i*2],Bgo2[i*2+1]);int r=rand()%4;if(r%2==0) Color(3);else Color(10);if(r<=1) cout<<"×";else cout<<"+";Color(0);}}if(Bgo2[1]==21){Map(0,(bool)Kill);Color(3);int j=0;for(int j=0;j<=30;j++)for(int i=1;i<=3;i++)for(int k=1;k<=4;k++){if(k==1) bvx=j,bvy=0;if(k==2) bvx=-j,bvy=0;if(k==3) bvx=0,bvy=j;if(k==4) bvx=0,bvy=-j;bx=Bgo2[i*2]+bvx,by=Bgo2[i*2+1]+bvy;if(bx<=5||bx>=30||by<0||by>=30) {continue;}Panboss(bx,by);Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;}Color(0);Map(-1,0);Chang2}} if(Bwhat2==3){Bgo2[1]++;if(Bgo2[1]<=18){if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<" ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<" ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<" ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<" ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";if(Bgo2[1]%4==0)Bgo2[3]=!Bgo2[3];if(Bgo2[1]%6<3)Color(3);else Color(5);if(Bgo2[3]==0) Setpos(X-3,Y),cout<<"▼",Setpos(X+3,Y),cout<<"▲",Bgo2[4]=(int)(X+0.5),Bgo2[5]=(int)(Y+0.5);if(Bgo2[3]==1) Setpos(X,Y-3),cout<<" ",Setpos(X,Y+3),cout<<" ",Bgo2[4]=(int)(X+0.5),Bgo2[5]=(int)(Y+0.5);Color(0);}if(Bgo2[1]==18){if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<" ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<" ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<" ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<" ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";}if(Bgo2[1]>18&&Bgo2[1]<=25){Bgo2[3]=Bgo2[2];if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<" ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<" ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<" ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<" ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";if(Bgo2[1]%4<2)Color(3);else Color(5);if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<"▼",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<"▲";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3),cout<<" ",Setpos(Bgo2[4],Bgo2[5]+3),cout<<" ";Color(0);}if(Bgo2[1]==25){if(Bgo2[2]==0){Color(3);for(int i=4;i<=29;i++){Setpos(i,Bgo2[5]),cout<<"█";Bbl++;Panboss(i,Bgo2[5]);Bway[Bbl][0]=i;Bway[Bbl][1]=Bgo2[5];}}if(Bgo2[2]==1){Color(3);for(int i=0;i<=28;i++){Setpos(Bgo2[4],i),cout<<"█";Bbl++;Panboss(Bgo2[4],i);Bway[Bbl][0]=Bgo2[4];Bway[Bbl][1]=i;}}Chang2}} if(Bwhat2==4||Bwhat2==5||Bwhat2==6){Bgo2[1]++;if(By2>27)Bvy2=0;if(Bx2>23)Bvx2=0;if(Bgo2[1]>13&&Bgo2[1]%3==0){float t=By2-Y,g=0.35;if(Boss==6) t/=2.0;CpGuai(Bwhat2+2,Bx2,By2,(Bx2-X)/t*1.0+(t-1)*g/2.0,1);}if(Bgo2[1]>20) Chang2} } void Boss3(){ #define Bean br++;B[br].what=13;B[br].x=Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1; for(int j=0;j<20;j++)if(abs(Bx3-I[j][0])<2&&By3-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<" ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;} Bx3-=Bvx3;By3-=Bvy3; if(Bwhat3<=8){if(Bx3>X&&Bvx3<1.5) Bvx3+=0.3;if(Bx3<X&&Bvx3>-1.5) Bvx3-=0.3;} if(Bwhat3==0){X22:Bwhat3=rand()%12;if(Bwhat3==11&&abs(Bx3-20)<=1)goto X22;if(Bwhat3==11)Bgo3[2]=rand()%5;} if(Bwhat3==1){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}} if(Bwhat3>=2&&Bwhat3<=6){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].what=11+Bwhat3;B[br].vy=0.5+(rand()%100)/80.0;if(Bwhat3==5)B[br].vy=B[br].vy*3/4.0;B[br].life=1;Chang3}} if(Bwhat3==7){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}} if(Bwhat3==8){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}} if(Bwhat3==9){Bvx3=0;Bgo3[1]++;if(Bgo3[1]==6||Bgo3[1]==8){Bean}if(Bgo3[1]>=8)Chang3} if(Bwhat3==10){Bvx3=0;Bgo3[1]++;if(Bgo3[1]==6||Bgo3[1]==8||Bgo3[1]==10||Bgo3[1]==12){Bean}if(Bgo3[1]>=12)Chang3} if(Bwhat3==11){Bvx3=0;Bgo3[1]++;if(Bgo3[1]>=8)for(int i=1;i<=4;i++){br++;B[br].what=80+100*Bgo3[2]+Bgo3[1]*4+i;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=99;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=99;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}if(Bgo3[1]>=20){for(int i=1;i<=4;i++){br++;B[br].what=98;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}Chang3}} } void Ball(int ball){ if(ball==1){if(Fir<3&&T%8==0) Fir++;if(Fir>0){br++;B[br].what=-13;B[br].x=X;B[br].y=Y+rand()%3-1;B[br].life=1;if(Dis<=30) B[br].a=Disb,B[Disb].a=1,Fir--;else if(Boss!=0) B[br].a=13880086,Fir--;else if(Dis!=13880087) B[br].a=Disb,B[Disb].a=1,Fir--;else if(Dis1!=13880087) B[br].a=Disb1,B[Disb1].a=1,Fir--;else B[br].life=0;Dis=Dis1=13880087;}} if(ball==2){if(T%4==0)ib=(ib+1)%20,I[ib][1]=Y-2;if(T%16==0)I[ib][0]=X;if(T%16==4)I[ib][0]=X-1;if(T%16==8)I[ib][0]=X+1;if(T%16==12)I[ib][0]=X-2;if(T%12==9)I[ib][0]=X+2;if(Water==1){for(int i=X-6;i<=X+6;i++)ib=(ib+1)%20,I[ib][0]=i,I[ib][1]=Y-2-0.5*abs(i-X);}} if(ball==3){if(Wind>5){if(Y<Ding-1)Vy=5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(Wind<5){if(Y>Ding-1)Vy=-5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(Wind==5){if(Boss==2) Ding=12.25;else Ding=6.25;if(Boss!=0) Bblo-=16+Lv*4;if(Boss==1) Chang1 if(Boss==2) Chang2 if(Boss==3) Chang3 system("color 3F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");system("cls");for(int i=bl;i<=br;i++)if(B[i].what>0)B[i].life=0;Setpos(20,0);for(int i=1;i<=60;i++) printf("=");}} if(ball==4){if(Thun==1){if(Boss!=0) Bblo-=16+Lv*4;if(Boss==1) Chang1 if(Boss==2) Chang2 if(Boss==3) Chang3 system("color 9F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");system("cls");for(int i=bl;i<=br;i++)if(B[i].what>0)B[i].life=0;Setpos(20,0);for(int i=1;i<=60;i++) printf("=");}} if(ball==5){system("cls"); Color(5);Setpos(10,10);cout<<"新天赋!";Y:int rr=rand()%4+2;Setpos(12,10);if(rr==Ren) goto Y;if(rr==2)cout<<"瞬跳";if(rr==3)cout<<"空之舞";if(rr==4)cout<<"三段跳";if(rr==5)cout<<"反重力跳跃";Setpos(14,10);cout<<"当前天赋:";if(Ren==1)cout<<"小无敌";if(Ren==2)cout<<"瞬跳";if(Ren==3)cout<<"空之舞";if(Ren==4)cout<<"三段跳";if(Ren==5)cout<<"反重力跳跃";Setpos(16,10);cout<<"换否?(y/n)";G:char g=_getch();if(g=='y')Ren=rr;else if(g!='n')goto G;system("cls");Setpos(20,0);Color(0);for(int i=1;i<=60;i++) printf("=");} if(ball==6){Color(4);for(float i=1;i<=Bblo;i+=Bblomax/20.0)cout<<"▄";Color(0);cout<<' '<<Bblo<<" ";Color(0);} if(ball==7){Color(1);if(Win==7&&T%6<3)Color(3);for(float i=1;i<=Blo;i+=Blomax/20.0)cout<<"▄";Color(0);if(Win==7&&T%6<3)Color(3);printf(" %0.1f ",Blo);} } int main(){ system("mode con cols=60 lines=37");CONSOLE_CURSOR_INFO cursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);srand((unsigned)time(NULL)); Win=0;Ren=1;Lv=1;Blo=Blomax=100;Expmax=300;Hui=15;X=18,Y=6; ReStart:system("cls");memset(B,0,sizeof(B));memset(I,-1,sizeof(I));T=0;bl=0;br=-1;Upt=0; Start:Blo=Blomax * 100;Ding=6.25; memset(Bgo1,0,sizeof(Bgo1));memset(Bgo2,0,sizeof(Bgo2));memset(Bgo3,0,sizeof(Bgo3)); if(Win%2==0) T=0;if(Win%2==0&&D==0){if(Win>0)Ball(5);Boss=0;lL:L=rand()%4+1;for(int i=0;i<=Win/2-1;i++)if(L==Ll[i]) goto lL;Ll[Win/2]=L;}if(Win%2==1&&D==0){if(Win==7)Boss=6,T=0,Blomax+=100;else{bl:Boss=rand()%3+1;for(int i=0;i<=3;i++)if(Boss==Bl[i]) goto bl;}Bl[Win/2]=Boss;Bwhat1=Bwhat2=Bwhat3=0,Bx1=10,By1=20,Bx2=15,By2=20,Bx3=21,By3=20;system("color 4C");Sleep(20);system("color 0F");Map(0,1);Sleep(1000);}if(Win%2==1){Bblomax=500+(Win/2)*500;Bblo=Bblomax;if(Boss==2) Ding=12.25;} while(1){ T++; if(Wind==0){if(GetAsyncKeyState(VK_LEFT)&0x8000) Vy=-(10-abs(Ding-Y)*1.5)/20.0;if(GetAsyncKeyState(VK_RIGHT)&0x8000) Vy=(10-abs(Ding-Y)*1.5)/20.0;}if(GetAsyncKeyState(VK_UP)&0x8000&&u1==0) {u1++;if(Down==1){Down=0;Up=0;if(Ren==2)Map(-1,0),Vx=0,X=18,Li=5;else Vx=7,Vy=0.3;}else if(Up==0&&Wind==0) {Down=0;Up=1;if(Ren==2)Map(-1,0),Vx=1,X=10,Map(0,3),Li=5;else Vx=2,Vy=0.1;}else if(Up==1&&Wind==0) {Down=0;Up=2;if(Ren==2)Map(-1,0),Vx=1,X-=6,Map(0,3),Li=5;else Vx=1.5,Vy=0.1;}else if(Ren==3&&Up==2&&Wind==0) {Down=0;Up=3;Vx=1;Vy=0.5;Upt=30;}else if(Ren==4&&Up==2&&Wind==0) {Down=0;Up=3;Vx=1.8;Vy=0.1;}}if(GetAsyncKeyState(VK_DOWN)&0x8000&&u2==0) {u2++;if(Down==1&&Ren==5){Down=2;Up=0;Vx=-1.7;}else {Down=1;Up=0;if(Ren==2)Map(-1,0),Vx=0,X=22,Map(0,3),Li=5;else {if(Upt!=0) Map(-1,0),Upt=0;Vx=-7;}}}if((GetAsyncKeyState(VK_UP)&0x8000) ?0:1) u1=0;if((GetAsyncKeyState(VK_DOWN)&0x8000) ?0:1) u2=0;if(kbhit()){char g=_getch();if(g==' ') Sleep(100),Setpos(4,1),Sy++,system("pause");}if(Sy==1) Setpos(4,1),printf(" "),Sy--; if(Drug==0) Blo=fmin((float)Blomax,Blo+Hui/100.0);else if(T%10==0)Blo--;if(T%20==0) {if(Kill!=0) Kill=0;if(Lvl!=0) Lvl=0;}if(Killb>0) Killb--;if(Li>0) Li--;if(Ice>0) Ice--;if(Drug>0) Drug--;if(Magne>0) Magne--; if(Fire>0) Ball(1),Fire--;if(Water>0) Ball(2),Water--;if(Wind>0) Ball(3),Wind--;if(Thun>0) Ball(4),Thun--; if(Boss==0) NorGuai(L,T%1500);RandGood();if(T%20==1)Exp++; if(T%50==1){Exp++;system("cls");Setpos(20,0);Color(0);for(int i=1;i<=60;i++) printf("=");if(Win==0&&T<300){Setpos(4,6);cout<<"↑/↓ 跳跃/下翻,←→ 些微移动(松手即返回)"; Setpos(8,6);cout<<"球可以开启特殊效果,经验积满(300)可提升级别。";Setpos(8,6);cout<<"打败 7 波即胜利,打败 BOSS 有新天赋。";Setpos(10,15);cout<<"空格可以暂停。";}} Map(-1,0); if(Boss==1) Boss1();if(Boss==2) Boss2();if(Boss==3) Boss3();if(Boss==6) Boss1(),Boss2(),Boss3(); Move();Map(0,(bool)Kill);Color(0); Setpos(1,1);Blo=fmin(Blo,(float)Blomax);if(Boss==0)cout<<"血量: "<<(int)Blo<<" ";Color(0);Setpos(1,9),cout<<"死亡次数: "<<D<<" ";Setpos(2,1);Exp=min(Exp,Expmax);if(Exp>=Expmax)Exp=0,Lv++,Lvl++,Hui++,Blomax+=5;if(Lvl>0)Color(5);cout<<"级别: "<<Lv;Color(0);Setpos(2,9);cout<<"经验: "<<Exp<<" ";if(Boss>0) Setpos(3,1),cout<<"血量 : ",Ball(7);if(Boss>0&&Boss!=6) Setpos(4,1),cout<<"怪物血量: ",Ball(6);if(Boss==6) Setpos(1,9),printf("时间: %0.1f s ",T/15.0); if(Win==0) Sleep(55);if(Win==1) Sleep(50);if(Win==2) Sleep(35);if(Win==3) Sleep(40);if(Win==4) Sleep(25);if(Win==5) Sleep(30);if(Win==6) Sleep(20);if(Win>=7) Sleep(17); if(Boss==3&&Bblo<=0){for(int i=1;i<=4;i++){br++;B[br].what=98;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}} if((Win%2==0&&T>=1400)||(Win%2==1&&Bblo<=0)||(Win==7&&T>=450)||Blo<=0) {Map(-1,0);break;} } if(Blo<=0){ Sleep(1000); D++; system("color 7F"); Setpos(15,11); Color(4); cout<<"GAME OVER..."; Sleep(2000); goto ReStart; } else if(Win==6){ system("color 7F"); Setpos(15,11); Color(4); cout<<"坚持30秒 !"; Sleep(2000); Setpos(30,0); Win++; D=0; } else if(Win==7){ Sleep(1000); system("color 6E"); Setpos(15,11); Color(5); cout<<"YOU WIN !"; Sleep(2000); Setpos(30,0); return 0; }else Sleep(1000),Win++,D=0; goto Start; }
#include<bits/stdc++.h> using namespace std; int main(){ int k; cout<<"————————————---------------------读心术魔术------------------——————————————"<<endl; cout<<"魔术开始!!!\n"; cout<<"现在请你想一个两位数,用这个两位数减去它的个位上的数字再减去十位上的数字,得到一个新的数字n,请你记住这个数字n。\n请按下回车键\n"; getchar(); cout<<"接下来请你找到数字n后面对应的字符。一定不要说出来哦!!!\n\n" ; srand(time(0));//设置随机数种子,保证每次运行的结果不一样 char c=rand()%60+65;//9的倍数对应的字符初始值 for(int i=1;i<=100;i++){ printf("%5d ",i); if(i%9==0) cout<<c<<" "; else cout<<(char)(rand()%61+65)<<" "; if(i%5==0) cout<<"\n";//每5个换一行 } cout<<"\n接下来就是见证奇迹的时刻了!:\n请按下回车键\n"; getchar(); cout<<"你心里想的字符是:"<<c<<endl; cout<<"怎么样,很神奇吧!你以为这就完了吗,nonono。接下来还有更神奇的事情,我还能猜到你算出来的数字n,你信不信?"<<endl; cout<<"现在请回答我,数字n的个位数字减去十位数字等于多少,如果不够减就是负数哦!!!\n"; cout<<"请你输入算出的这个值:"; cin>>k; cout<<"\n见证奇迹的时刻又到了!!!\n你的数字n是:"<<(9-(9+k)/2)*10+(9+k)/2; cout<<"\n\n好啦,本次的读心术程序就分享到这儿,其实我还有个终极读心术,能够猜到你最开始想的两位数!\n欲知后事如何,请听下回分解!"; return 0; }
#include<windows.h> #include<stdio.h> #include<conio.h> #include<time.h> #include #define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0) using namespace std; int m[35][35],n[35][35]; void Color(int a) { if(a0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); if(a3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE); if(a4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); if(a5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN); if(a6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE); if(a7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN); if(a8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); if(a9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY); if(a10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|BACKGROUND_GREEN); if(a11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE|BACKGROUND_GREEN); if(a12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_GREEN); if(a13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE); } void SetPos(int x,int y){ COORD pos; pos.X=y2,pos.Y=x+3; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); }int X,Y,gx,gy,gunT,gunZ,T,G[10],F[30]; int Win,Lev,Blood,Dun,Bmax,Dmax,WuDi,Gguai,Bo,Boo,sy,bu; int Bx,By,Bblood,Bsi,Bjiao,Bdu,Bfang,Bxz,Byz; void Map(int x); void Jian(int x) { if(WuDi>0) return; if(Dun>x) Dun-=x; else if(Dun<=0) Blood-=x; else if(Dun>0&&Dun<=x) { if(F[13]0) Blood-=x-Dun; if(F[13]1) WuDi=20; if(F[17]1) Boo=3; Dun=-1; } }bool CanGo(int x,int y,int q)//0为自己 1其他 2激光怪 3激光枪 4子弹怪 5爆毒 6子弹 7 BOSS { if(abs(Bx-x)<=1&&abs(By-y)<=1&&q1) return 0; if(m[x][y]2||m[x][y]3) return 0; if((q0||q1)&&n[x][y]1) return 0; if(m[x][y]0) return 1; if(m[x][y]>=4&&m[x][y]<=8) return 1; if(m[x][y]>=84&&m[x][y]<=88) return 1; if(m[x][y]>=9&&m[x][y]<=31) return 1; if(m[x][y]>=59&&m[x][y]<=81) return 1; if((q2||q3||q5)&&m[x][y]1) return 1; if((q2||q3)&&m[x][y]>=100&&m[x][y]<250) return 1; if((q0||q3||q5)&&m[x][y]>=50&&m[x][y]<55) return 1; if((q4||q7)&&m[x][y]/1001) return 1; return 0; } void CoutMe() { if(gx<0&&CanGo(X-1,Y,0)) X--; if(gx>0&&CanGo(X+1,Y,0)) X++; if(gy<0&&CanGo(X,Y-1,0)) Y--; if(gy>0&&CanGo(X,Y+1,0)) Y++; int r; Color(0); if(WuDi>0) r=rand()%5+1,Color(r); if(gunT!=1) SetPos(X-1,Y),cout<<"︹"; if(gunT!=5) SetPos(X+1,Y),cout<<"︺"; if(gunT!=7) SetPos(X,Y-1),cout<<"﹝"; if(gunT!=3) SetPos(X,Y+1),cout<<"﹞"; if(gunT1) SetPos(X-1,Y),cout<<"↑"; if(gunT2) SetPos(X-1,Y+1),cout<<"↗"; if(gunT3) SetPos(X,Y+1), cout<<"→"; if(gunT4) SetPos(X+1,Y+1),cout<<"↘"; if(gunT5) SetPos(X+1,Y),cout<<"↓"; if(gunT6) SetPos(X+1,Y-1),cout<<"↙"; if(gunT7) SetPos(X,Y-1), cout<<"←"; if(gunT8) SetPos(X-1,Y-1),cout<<"↖"; SetPos(X,Y),cout<<"●";Color(0); if(WuDi>0) Map(4); if(m[X][Y]>=50&&m[X][Y]<55) Jian(5),system("color 4F"),Sleep(30),system("color 0F"),Map(4); if(m[X][Y]>=4&&m[X][Y]<=7&&F[12]==0) Jian(3),system("color 4F"),Sleep(30),system("color 0F"),Map(4); if(m[X][Y]>=4&&m[X][Y]<=7&&F[12]==1) Jian(1),system("color 4F"),Sleep(30),system("color 0F"),Map(4); if(m[X][Y]>=59&&m[X][Y]<=80&&F[4]0) Jian(1),system("color 4F"),Sleep(30),system("color 0F"),Map(4); if(m[X][Y]2&&F[4]0) Jian(3),system("color 4F"),Sleep(30),system("color 0F"),Map(4); m[X][Y]=0,gx=gy=0; } int Cout(int x,int i,int j) { int Guai=0; if(m[i][j]0&&x2) SetPos(i,j),cout<<" "; if(m[i][j]1) SetPos(i,j),Color(7),cout<<"■",Color(0); if(n[i][j]0&&m[i][j]2) SetPos(i,j),Color(8),cout<<"■",Color(0); if(n[i][j]10&&m[i][j]0) SetPos(i,j),cout<<" ",Color(0); if(n[i][j]31&&m[i][j]0) SetPos(i,j),cout<<" ",Color(0); if(m[i][j]32) m[i][j]=0; if(n[i][j]>=20&&n[i][j]<22&&m[i][j]1) SetPos(i,j),Color(7),cout<<"▁",Color(0); if(n[i][j]>=22&&n[i][j]<24&&m[i][j]1) SetPos(i,j),Color(7),cout<<"▂",Color(0); if(n[i][j]>=24&&n[i][j]<26&&m[i][j]1) SetPos(i,j),Color(7),cout<<"▄",Color(0); if(n[i][j]>=26&&n[i][j]<28&&m[i][j]1) SetPos(i,j),Color(7),cout<<"▆",Color(0); if(n[i][j]>=28&&n[i][j]<30&&m[i][j]1) SetPos(i,j),Color(7),cout<<"▆",Color(0); if(n[i][j]>45&&n[i][j]<=50&&m[i][j]2) SetPos(i,j),Color(4),cout<<"▲",Color(0); if(m[i][j]3) SetPos(i,j),Color(5),cout<<"〓",Color(0); if(m[i][j]>=4&&m[i][j]<=7) SetPos(i,j),Color(5),cout<<"█",Color(0),m[i][j]++; if(m[i][j]8) SetPos(i,j),cout<<" ",m[i][j]=0; if(m[i][j]>=84&&m[i][j]<=87) SetPos(i,j),Color(5),cout<<"█",Color(0),m[i][j]++; if(m[i][j]88) SetPos(i,j),cout<<" ",m[i][j]=0;if(m[i][j]>=10&&m[i][j]<=30) SetPos(i,j),Color(10),cout<<"@ ",Color(0),m[i][j]++;//毒 if(m[i][j]>=60&&m[i][j]<=80) SetPos(i,j),Color(11),cout<<"@ ",Color(0),m[i][j]++;//怪毒 if(m[i][j]9||m[i][j]59) SetPos(i,j),Color(12),cout<<"@ ",Color(0),m[i][j]++;//金毒 if(m[i][j]31||m[i][j]81) SetPos(i,j),cout<<" ",m[i][j]=0;//毒尘 if(n[i][j]1) SetPos(i,j),Color(13),cout<<"~ ",Color(0);//水 if(m[i][j]50) SetPos(i,j),Color(1),cout<<"●",Color(0),Guai++;//怪 if(m[i][j]51) SetPos(i,j),Color(10),cout<<"●",Color(0),Guai++;//怪 if(m[i][j]52) SetPos(i,j),Color(3),cout<<"●",Color(0),Guai++;//怪 if(m[i][j]53) SetPos(i,j),Color(4),cout<<"●",Color(0),Guai++;//怪 if(m[i][j]54) SetPos(i,j),Color(5),cout<<"●",Color(0),Guai++;//怪 if(m[i][j]/1001) { if((m[i][j]%100)/10<=1) SetPos(i,j),cout<<"☉"; if((m[i][j]%100)/102) SetPos(i,j),Color(4),cout<<"◎",Color(0); if((m[i][j]%100)/103) SetPos(i,j),Color(1),cout<<"◎",Color(0); if((m[i][j]%100)/104) m[i][j]=4; if((m[i][j]%100)/105) SetPos(i,j),Color(3),cout<<"◎",Color(0); if((m[i][j]%100)/106) SetPos(i,j),Color(2),cout<<"¤",Color(0); if((m[i][j]%100)/10>=7&&(m[i][j]%100)/10<=9) SetPos(i,j),Color(2),cout<<"◎",Color(0); } if(m[i][j]/1002) if((m[i][j]%100)/101) SetPos(i,j),Color(3),cout<<"☉",Color(0); return Guai; } void Boss() { SetPos(Bx-1,By-1),cout<<" ";SetPos(Bx,By-1),cout<<" ";SetPos(Bx+1,By-1),cout<<" "; int mov=rand()%30+1,R=rand()%300,ms; if(mov1&&CanGo(Bx-1,By-2,1)&&CanGo(Bx,By-2,1)&&CanGo(Bx+1,By-2,1)) By--; if(mov2&&CanGo(Bx-1,By+2,1)&&CanGo(Bx,By+2,1)&&CanGo(Bx+1,By+2,1)) By++; if(mov3&&CanGo(Bx-2,By-1,1)&&CanGo(Bx-2,By,1)&&CanGo(Bx-2,By+1,1)) Bx--; if(mov4&&CanGo(Bx+2,By-1,1)&&CanGo(Bx+2,By,1)&&CanGo(Bx+2,By+1,1)) Bx++; if(mov5&&Bsi0) Bsi+=rand()%3+1; if(mov6&&Bjiao0) Bjiao+=rand()%3+1;if(mov7&&Bdu0) Bdu+=5; if(mov8&&Bxz0) Bxz+=rand()%20-10;if(mov9&&Byz0) Byz+=rand()%20-10; if(Byz<0) {Byz++; if(By-2>1) By--;}if(Byz>0) {Byz--; if(By+2<28) By++;}if(Bxz<0) {Bxz++; if(Bx-2>1) Bx--;}if(Bxz>0) {Bxz--; if(Bx+2<28) Bx++;} if(R<15&Gguai<=5) Bfang++; else if(R<5&&Gguai<=10) Bfang++; else if(R0) Bfang++; SetPos(Bx-1,By-1),Color(0),cout<<" ●● "; SetPos(Bx,By-1) ,Color(4),cout<<")██("; SetPos(Bx+1,By-1),Color(4),cout<<" …… ";Color(0); if(abs(Bx-X)<=1&&abs(By-Y)<=1) Jian(50);int I,J; if(Bsi>0) {Bsi--;I=Bx-2,J=By+rand()%3-1;if(CanGo(I,J,7)) m[I][J]=211;I=Bx+rand()%3-1,J=By+2;if(CanGo(I,J,7)) m[I][J]=213;I=Bx+2,J=By+rand()%3-1;if(CanGo(I,J,7)) m[I][J]=215;I=Bx+rand()%3-1,J=By-2;if(CanGo(I,J,7)) m[I][J]=217;} if(Bjiao>0) {Bjiao--;I=Bx-2,J=By+2;if(CanGo(I,J,7)) m[I][J]=212;I=Bx+2,J=By+2;if(CanGo(I,J,7)) m[I][J]=214;I=Bx+2,J=By-2;if(CanGo(I,J,7)) m[I][J]=216;I=Bx-2,J=By-2;if(CanGo(I,J,7)) m[I][J]=218;} if(Bdu>0) {if(Bdu>0) Bdu--;for(int i=Bx-4;i<=Bx+4;i++) for(int j=By-4;j<=By+4;j++) if(CanGo(i,j,2)&&abs(Bx-X)>1&&abs(By-Y)>1&&i>0&&j>0) m[i][j]=59;} if(Bfang>0) {Bfang--;I=Bx+rand()%5-2,J=By+rand()%5-2;int rr=rand()%6-1;if(rr-1) rr=0; if(((rr<3&&Lev<5)||(Lev>5))&&(CanGo(I,J,7))) m[I][J]=50+rr;} if(Lev4) ms=3;if(Lev9) ms=5;if(Lev14) ms=10;if(Lev19) ms=15;if(Lev24) ms=20; if(T%500&&Bblood<ms12) Bblood++,Map(3); for(int i=Bx-1;i<=Bx+1;i++) for(int j=By-1;j<=By+1;j++) { int du=0; if(m[i][j]/1001) Bblood-=1,Bsi+=rand()%3+1,Map(3); if(m[i][j]/1015) Bblood-=2,Map(3); if(m[i][j]<50||m[i][j]>55) m[i][j]=0; if(m[i][j]>=84&&m[i][j]<=87) Bblood-=1,Bsi+=rand()%3+1,Map(3); if(du0&&m[i][j]>=9&&m[i][j]<=30) Bblood-=1,du++,Bdu++,Map(3); if(Bblood<=0) {Bblood=0;SetPos(Bx-1,By-1),cout<<" ";SetPos(Bx,By-1),cout<<" ";SetPos(Bx+1,By-1),cout<<" ";} } } void Map(int x)//x=0只输中间 1输全屏 2输身周 2输上方 4 CoutMe中用 5 GuaiQuan中用 { if(x!=4) CoutMe(); int f1,f2,f3,f4,Guai=0; if(x0) f1=f3=2,f2=f4=28; if(x1||x5) f1=f3=1,f2=f4=29; if(x2) f1=X-1,f2=X+1,f3=Y-1,f4=Y+1; if((x4||x3||x1)&&Win>=0) { SetPos(-3,2),cout<<Lev/5+1<<'-'<<Lev%5+1; SetPos(-2,2),cout<<"枪:"; if(gunZ1) cout<<"普通枪";if(gunZ2) cout<<"分裂枪";if(gunZ3) cout<<"穿甲枪"; if(gunZ4) cout<<"激光枪";if(gunZ5) cout<<"爆炸枪";if(gunZ6) cout<<"毒气枪";if(gunZ7) cout<<"弹跳枪"; cout<<" 子弹数:";if(gunZ1) cout<<"∞";else cout<<G[gunZ]<<" "; SetPos(-1,2),cout<<"血量:";Color(4);int r; if(WuDi>0) r=rand()%5+1,Color(r); for(int i=1;i<=Blood;i++) cout<<"█";Color(0);for(int i=Blood;i<Bmax;i++) cout<<"█"; Color(0);SetPos(-1,18),cout<<" "; SetPos(0,2),cout<<"盾牌:";Color(9); if(Dun!=0) for(int i=1;i<=Dun;i++) cout<<"█";Color(0);for(int i=max(1,Dun);i<Dmax;i++) cout<<"█"; if(Bblood>0) { int ms; if(Lev4) ms=5; if(Lev9) ms=10; if(Lev14) ms=14; if(Lev19) ms=17; if(Lev24) ms=20; SetPos(-1,15),cout<<" "; SetPos(-1,15),cout<<"Boss:";Color(4);for(int i=1;i<=(Bblood-1)%12+1;i++) cout<<"█"; SetPos(-1,24),Color(3);cout<<(Bblood-1)/12+1; } } if(x5) { Color(0); SetPos(-3,2),cout<<" ↑ W 开箱(当有箱子在旁时) 开局无敌3秒"; SetPos(-2,2),cout<<"← →移动 A/D 顺/逆时针转枪 空格 暂停"; SetPos(-1,2),cout<<" ↓ S 发射子弹 清除所有怪进下一关 盾会恢复"; SetPos(0,2), cout<<" 每五关可获得一个天赋 完成 5-5 通关 ",Color(3),cout<<"按 y 进第一关"; for(int i=f1;i<=f2;i++) for(int j=f3;j<=f4;j++) Cout(x,i,j); } if(x!=3&&x!=4) { for(int i=f1;i<=f2;i++) for(int j=f3;j<=f4;j++) Guai+=Cout(x,i,j); if(x!=2) { int Rr=rand()%3; if(Guai<Gguai&&Guai!=0&&F[15]1&&Rr0&&Lev%54) Dun=min(Dmax,Dun+1),Map(3 system("color 6E"),Color(5); SetPos(2,2),cout<<"You! Win!!!";Sleep(500); SetPos(3,2),cout<<"Please point 'y' to Play AGain.",Sleep(1000); system("color 0F");Map(1); } Win++,Lev++; } } } void Fan(int i,int j,int M) { if(M%101||M%103) m[i][j]=M+4; if(M%105||M%107) m[i][j]=M-4; if(M%102) { if(m[i][j+1]!=0||m[i-2][j+1]!=0) m[i][j]=M+6; else if(m[i-1][j]!=0||m[i-1][j+2]!=0) m[i][j]=M+2; else m[i][j]=M+4; } if(M%104) { if(m[i+1][j]!=0||m[i+1][j+2]!=0) m[i][j]=M-2; else if(m[i][j+1]!=0||m[i+2][j+1]!=0) m[i][j]=M+2; else m[i][j]=M+4; } if(M%106) { if(m[i][j-1]!=0||m[i+2][j-1]!=0) m[i][j]=M-2; else if(m[i+1][j]!=0||m[i+1][j-2]!=0) m[i][j]=M+2; else m[i][j]=M-4; } if(M%108) { if(m[i][j-1]!=0||m[i-2][j-1]!=0) m[i][j]=M-6; else if(m[i-1][j]!=0||m[i-1][j-2]!=0) m[i][j]=M-2; else m[i][j]=M-4; } } void Light(int i,int j,int M,int x) { if(M%101) for(int k=1;CanGo(i-k,j,x);k++) {if(x3) m[i-k][j]=84; else m[i-k][j]=4;} if(M%102) for(int k=1;CanGo(i-k,j+k,x);k++){if(x3) m[i-k][j+k]=84; else m[i-k][j+k]=4;} if(M%103) for(int k=1;CanGo(i,j+k,x);k++) {if(x3) m[i][j+k]=84; else m[i][j+k]=4;} if(M%104) for(int k=1;CanGo(i+k,j+k,x);k++){if(x3) m[i+k][j+k]=84; else m[i+k][j+k]=4;} if(M%105) for(int k=1;CanGo(i+k,j,x);k++) {if(x3) m[i+k][j]=84; else m[i+k][j]=4;} if(M%106) for(int k=1;CanGo(i+k,j-k,x);k++){if(x3) m[i+k][j-k]=84; else m[i+k][j-k]=4;} if(M%107) for(int k=1;CanGo(i,j-k,x);k++) {if(x3) m[i][j-k]=84; else m[i][j-k]=4;} if(M%108) for(int k=1;CanGo(i-k,j-k,x);k++){if(x3) m[i-k][j-k]=84; else m[i-k][j-k]=4;} } void Move() { bool nx[32][32]; memset(nx,0,sizeof(nx)); for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) { if(m[i][j]50&&nx[i][j]0&&T%20)//无脑怪 { int r,I=i,J=j,rr=rand()%5,rrr=rand()%2; if(rrr0) {if(X<i) r=1;if(X>i) r=4;} if(rrr1) {if(Y>j) r=2;if(Y<j) r=3;} if(rr0) r=rand()%4+1; if(r1) I=i-1,J=j;if(r2) I=i,J=j+1;if(r3) I=i,J=j-1;if(r4) I=i+1,J=j; if(CanGo(I,J,1)) m[i][j]=0,m[I][J]=50,SetPos(i,j),cout<<" ",SetPos(I,J),cout<<"●",nx[I][J]=1; } if(m[i][j]51&&nx[i][j]0)//毒怪 { int R=rand()%10; int r,I=i,J=j,rr=rand()%30,rrr=rand()%2,mr=rand()%15; if(rrr0) {if(X<i) r=1;if(X>i) r=4;} if(rrr1) {if(Y>j) r=2;if(Y<j) r=3;} if(rr!=0) r=rand()%4+1; if(r1) I=i-1,J=j;if(r2) I=i,J=j+1;if(r3) I=i,J=j-1;if(r4) I=i+1,J=j; if(mr0) {for(int k=I-2;k<=I+2;k++) for(int l=J-2;l<=J+2;l++) if(k>1&&l>1&&k<=28&&l<=28&&(CanGo(k,l,1)||m[k][l]1)) m[k][l]=59;} if(CanGo(I,J,1)||m[I][J]1) m[i][j]=59,m[I][J]=51,SetPos(i,j),cout<<" ",SetPos(I,J),cout<<"●",nx[I][J]=1; } if(m[i][j]52&&nx[i][j]0)//散弹怪 { int R=rand()%10; if(R0) { int I,J,r,rn=0; int rr=rand()%8,Rn=rand()%3+1; Xr: rr=rand()%8,rn++; if(rr0) {r=1,I=i-1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr1) {r=3,I=i,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr2) {r=5,I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr3) {r=7,I=i,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr4) {r=2,I=i-1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr5) {r=4,I=i+1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr6) {r=6,I=i+1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr7) {r=8,I=i-1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} if(rr8) {r=rand()%7+2;I=i+1,J=j;if(m[I][J]!=2) m[I][J]=210+r;}nx[I][J]=1; if(rn<Rn) goto Xr; } else if(R<=2) { int r=rand()%4+1,Ie,Je; if(r1) Ie=i-1,Je=j;if(r2) Ie=i,Je=j+1;if(r3) Ie=i,Je=j-1;if(r4) Ie=i+1,Je=j; if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=52,SetPos(i,j),cout<<" ",SetPos(Ie,Je),cout<<"●"; } } if(m[i][j]53&&nx[i][j]0)//瞄准怪 { int R=rand()%6; if(R0) { int I,J,r,rr=rand()%5; if(X-i<0&&abs(Y-j)<=2) {r=1,I=i-1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(Y-j>0&&abs(X-i)<=2) {r=3,I=i,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(X-i>0&&abs(Y-j)<=2) {r=5,I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(Y-j<0&&abs(X-i)<=2) {r=7,I=i,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(X-i<0&&Y-j>0&&abs((i-X)-(Y-j))<=2) {r=2,I=i-1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(X-i>0&&Y-j>0&&abs((X-i)-(Y-j))<=2) {r=4,I=i+1,J=j+1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(X-i>0&&j-Y>0&&abs((X-i)-(j-Y))<=2) {r=6,I=i+1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(X-i<0&&Y-j<0&&abs((i-X)-(j-Y))<=2) {r=8,I=i-1,J=j-1;if(CanGo(I,J,6)) m[I][J]=210+r;} else if(rr0) {r=rand()%7+2;I=i+1,J=j;if(CanGo(I,J,6)) m[I][J]=210+r;} } else if(R1) { int r=rand()%4+1,Ie,Je; if(r1) Ie=i-1,Je=j;if(r2) Ie=i,Je=j+1;if(r3) Ie=i,Je=j-1;if(r4) Ie=i+1,Je=j; if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=53,SetPos(i,j),cout<<" ",SetPos(Ie,Je),cout<<"●"; } } if(m[i][j]54&&nx[i][j]0)//激光怪 { int R=rand()%10; if(R0) {int r=rand()%4; Light(i,j,231+2*r,2);} else if(R<=3) { int r=rand()%4+1,Ie,Je; if(r1) Ie=i-1,Je=j;if(r2) Ie=i,Je=j+1;if(r3) Ie=i,Je=j-1;if(r4) Ie=i+1,Je=j; if(CanGo(Ie,Je,1)) m[i][j]=0,m[Ie][Je]=54,SetPos(i,j),cout<<" ",SetPos(Ie,Je),cout<<"●"; } } if(m[i][j]/1002&&F[3]1&&T%20) nx[i][j]=1; if((m[i][j]/1001||m[i][j]/1002)&&nx[i][j]0)//子弹 { int M=m[i][j],I,J;m[i][j]=0;SetPos(i,j),cout<<" "; if(M%101) I=i-1,J=j;if(M%102) I=i-1,J=j+1;if(M%103) I=i,J=j+1;if(M%104) I=i+1,J=j+1; if(M%105) I=i+1,J=j;if(M%106) I=i+1,J=j-1;if(M%107) I=i,J=j-1;if(M%10==8) I=i-1,J=j-1; if(I==X&&J==Y&&M/100==2) {Jian(2),system("color 4F"),Sleep(30);system("color 0F"),m[i][j]=0;Map(4);} else if(I==X&&J==Y&&M/100==1) m[I][J]=0; else if(M/100==2&&m[I][J]/100==1) m[i][j]=32; else if(M/100==2&&m[I][J]<55&&m[I][J]>=50) m[i][j]=0; else if(m[I][J]==2||m[I][J]==3)//石 { if((M%100)/10==0) { int rr=rand()%3; if(rr==0) Fan(i,j,M),m[i][j]+=10; else m[i][j]=84; } if((M%100)/10==1) { m[i][j]=84; int rr=rand()%5; if(rr==0&&F[14]==1&&M/100==1) { for(int ii=i-1;ii<=i+1;ii++) for(int jj=j-1;jj<=j+1;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84; } } if((M%100)/10==2) { m[i][j]=84; if(m[i-1][j]!=2&&m[i-1][j]!=3) m[i-1][j]=111; if(m[i-1][j+1]!=2&&m[i-1][j+1]!=3) m[i-1][j+1]=112; if(m[i][j+1]!=2&&m[i][j+1]!=3) m[i][j+1]=113; if(m[i+1][j+1]!=2&&m[i+1][j+1]!=3) m[i+1][j+1]=114; if(m[i+1][j]!=2&&m[i+1][j]!=3) m[i+1][j]=115; if(m[i+1][j-1]!=2&&m[i+1][j-1]!=3) m[i+1][j-1]=116; if(m[i][j-1]!=2&&m[i][j-1]!=3) m[i][j-1]=117; if(m[i-1][j-1]!=2&&m[i-1][j-1]!=3) m[i-1][j-1]=118; } if((M%100)/10==3) {if(m[I][J]==2&&(I!=1&&J!=1&&I!=29&&J!=29)) m[I][J]=84;else m[i][j]=84;} if((M%100)/10==4) m[i][j]=84; if((M%100)/10==5) { for(int ii=i-2;ii<=i+2;ii++) for(int jj=j-2;jj<=j+2;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84; } if((M%100)/10==6) { for(int ii=i-1;ii<=i+1;ii++) for(int jj=j-1;jj<=j+1;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=9; } if((M%100)/10>=7&&(M%100)/10<9) Fan(i,j,M),m[i][j]+=(rand()%2)*10; if((M%100)/10==9) m[i][j]=84; } else if(!CanGo(I,J,6))//其他 { if((M%100)/10==0) m[I][J]=84,Fan(i,j,M),m[i][j]+=10; if((M%100)/10==1) { if(M/100==2&&m[I][J]==50) m[i][j]=0; else m[I][J]=84; if(F[14]==1&&M/100==1) { for(int ii=I-1;ii<=I+1;ii++) for(int jj=J-1;jj<=J+1;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84; } } if((M%100)/10==2) { m[I][J]=84; if(m[I-1][J]!=2&&m[I-1][J]!=3) m[I-1][J]=111; if(m[I-1][J+1]!=2&&m[I-1][J+1]!=3) m[I-1][J+1]=112; if(m[I][J+1]!=2&&m[I][J+1]!=3) m[I][J+1]=113; if(m[I+1][J+1]!=2&&m[I+1][J+1]!=3) m[I+1][J+1]=114; if(m[I+1][J]!=2&&m[I+1][J]!=3) m[I+1][J]=115; if(m[I+1][J-1]!=2&&m[I+1][J-1]!=3) m[I+1][J-1]=116; if(m[I][J-1]!=2&&m[I][J-1]!=3) m[I][J-1]=117; if(m[I-1][J-1]!=2&&m[I-1][J-1]!=3) m[I-1][J-1]=118; } if((M%100)/10==3) m[I][J]=M,nx[I][J]=1; if((M%100)/10==4) Light(i,j,M,3); if((M%100)/10==5) { for(int ii=I-2;ii<=I+2;ii++) for(int jj=J-2;jj<=J+2;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=84; } if((M%100)/10==6) { for(int ii=I-1;ii<=I+1;ii++) for(int jj=J-1;jj<=J+1;jj++) if(m[ii][jj]!=2&&m[ii][jj]!=3&&ii<=28&&jj<=28) m[ii][jj]=9; } if((M%100)/10>=7&&(M%100)/10<9) m[I][J]=84,Fan(i,j,M); if((M%100)/10==9) m[I][J]=84; } else//空地 { if((M%100)/10==6) { m[i][j]=9; if(CanGo(i,j-1,5)) m[i][j-1]=9;if(CanGo(i,j+1,5)) m[i][j+1]=9; if(CanGo(i-1,j,5)) m[i-1][j]=9;if(CanGo(i-1,j,5)) m[i+1][j]=9; m[I][J]=M,nx[I][J]=1; } if((M%100)/10==4) m[i][j]=84,m[I][J]=M,i=2,j=2; else m[I][J]=M,nx[I][J]=1; } } } if(Bblood>0) Boss(); } void Bullet() { int I=0,J=0,R=rand()%10,Rr=rand()%3,Rrr,K=0,tg=gunT; Hh:Rrr=rand()%20; if(gunT1&&m[X-1][Y]!=2&&m[X-1][Y]!=3) I=X-1,J=Y; if(gunT2&&m[X-1][Y+1]!=2&&m[X-1][Y+1]!=3) I=X-1,J=Y+1; if(gunT3&&m[X][Y+1]!=2&&m[X][Y+1]!=3) I=X,J=Y+1; if(gunT4&&m[X+1][Y+1]!=2&&m[X+1][Y+1]!=3) I=X+1,J=Y+1; if(gunT5&&m[X+1][Y]!=2&&m[X+1][Y]!=3) I=X+1,J=Y; if(gunT6&&m[X+1][Y-1]!=2&&m[X+1][Y-1]!=3) I=X+1,J=Y-1; if(gunT7&&m[X][Y-1]!=2&&m[X][Y-1]!=3) I=X,J=Y-1; if(gunT8&&m[X-1][Y-1]!=2&&m[X-1][Y-1]!=3) I=X-1,J=Y-1; if(I!=0&&J!=0) m[I][J]=100+10gunZ+gunT; if(K1) m[I][J]=110+gunT; if(F[2]1&&gunZ1) m[I][J]=100+gunT; if(F[8]1&&R0&&K0) {gunT=rand()%8+1;K=1;goto Hh;} if(F[8]1&&K!=0&&K<Rr) {gunT=rand()%8+1;K++;goto Hh;} if(K>=Rr) gunT=tg; if(Rrr0&&F[11]1&&K0) {m[I][J]=100+10(rand()%7+1)+gunT;} if(gunZ!=1) {G[gunZ]--; if(G[gunZ]<=0) G[gunZ]=0,gunZ=1;Map(3);} } void OpenBox(int a) { for(int i=X-1;i<=X+1;i++) for(int j=Y-1;j<=Y+1;j++) if(m[i][j]3) { int r=2;// if(a1) r=rand()%6+2; if(F[9]1) r=rand()%12+2; SetPos(i,j);Color(5); if(r2) cout<<"分裂枪!"; if(r3) cout<<"穿甲枪!"; if(r4) cout<<"激光枪!"; if(r5) cout<<"爆炸枪!"; if(r6) cout<<"毒气枪!"; if(r7) cout<<"弹跳枪!"; if(r8) cout<<"生命药水!",Blood=min(Blood+5,Bmax+2),Map(3); if(r9) cout<<"盾牌药水!",Dun=min(Dun+5,Dmax+2),Map(3); if(F[9]1&&r>=8&&r<=13) cout<<"生命药水!",Blood=min(Blood+5,Bmax+2),Map(3); Sleep(1000);m[i][j]=84;if(r<=7&&F[6]0) gunZ=r,G[r]+=10;if(r<=7&&F[6]1) gunZ=r,G[r]+=20; SetPos(i,j); cout<<" ";Map(0); } } void Sheng() { memset(m,0,sizeof(m));memset(n,0,sizeof(n)); int q=0,T=0,II=0,JJ=0; Re: q++; int r=rand()%15+1; if(F[19]1) r=rand()%20+1; if(r1) {for(int i=5;i<=7;i++)for(int j=5;j<=7;j++) m[i][j]=2;for(int i=23;i<=25;i++)for(int j=5;j<=7;j++) m[i][j]=2;for(int i=5;i<=7;i++)for(int j=23;j<=25;j++) m[i][j]=2;for(int i=23;i<=25;i++)for(int j=23;j<=25;j++) m[i][j]=2;} if(r2) {for(int i=13;i<=17;i++) for(int j=13;j<=17;j++) m[i][j]=1;} if(r3) {for(int i=2;i<=28;i++) m[i][6]=m[i][24]=m[6][i]=m[24][i]=1;} if(r4) {for(int i=2;i<=28;i++) m[i][15]=m[15][i]=1;} if(r5) {for(int i=2;i<=28;i++) if(abs(i-15)>=3) m[i][15]=m[15][i]=2;} if(r6) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) if(ij||i+j30) m[i][j]=1;} if(r7) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) if(abs(i-15)+abs(j-15)10) m[i][j]=1;} if(r8) {for(int i=5;i<=25;i++) if(abs(i-15)>=2) m[i][10]=m[i][20]=m[10][i]=m[20][i]=2;} if(r9) {for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) {int rr=rand()%20; if(rr0&&m[i][j]0) m[i][j]=1;}} if(r>=10&&II0) {T--;int ii=rand()%27+2;int jj=rand()%27+2; for(int i=ii-1;i<=ii+1;i++) for(int j=jj-1;j<=jj+1;j++) if(m[i][j]0) m[i][j]=1;II=ii,JJ=jj;} if(r>=10&&II!=0) goto Re;if(Lev<=5&&q<2) goto Re; T++;if(T1) goto Re;if(II!=0) m[II][JJ]=3; r=rand()%15+1; if(r1) {for(int i=5;i<=25;i++) n[i][4]=n[i][9]=n[i][15]=n[i][21]=n[i][26]=31;} if(r2) {for(int i=8;i<=22;i++) n[i][8]=n[i][22]=n[8][i]=n[22][i]=31;} if(r3) {for(int i=1;i<=5;i++) {int ii=rand()%23+4,jj=rand()%23+4;for(int ki=ii-2;ki<=ii+2;ki++)for(int kj=jj-2;kj<=jj+2;kj++) if(abs(ki-X)>2||abs(kj-Y)>2) n[ki][kj]=1;}} if(r4) {for(int i=1;i<=7;i++) {int ii=rand()%23+4,jj=rand()%23+4;for(int ki=ii-1;ki<=ii+1;ki++)for(int kj=jj-1;kj<=jj+1;kj++) n[ki][kj]=11;}} if(r5) {for(int i=1;i<=20;i++) {int ii=rand()%23+4,jj=rand()%13+1;jj*=2;for(int ki=ii-1;ki<=ii+1;ki++) n[jj+1][ki]=31;}} if(r6) {for(int i=2;i<=28;i++) n[i][9]=n[i][10]=n[i][20]=n[i][21]=11;} if(r7) {for(int i=5;i<=25;i++) n[4][i]=n[9][i]=n[15][i]=n[21][i]=n[26][i]=31;} if(r8) {for(int i=7;i<=23;i++) for(int j=7;j<=23;j++) if(ij||i+j30) n[i][j]=31;} if(r9) {for(int i=2;i<=28;i++) {if(i!=4&&i!=26&&!(iY&&(14<=X&&16>=X))) n[14][i]=n[15][i]=n[16][i]=1; m[14][i]=m[15][i]=m[16][i]=0;}} if(r10) {for(int i=7;i<=23;i++) if(abs(i-15)>1) n[i][7]=n[i][23]=n[7][i]=n[23][i]=1;} Kk: int k=0,K[35][35]; memset(K,0,sizeof(K)); if(Lev%5!=4) { for(int i=2;i<=28;i++)//怪 for(int j=2;j<=28;j++) { if(Lev<=1) {int r=rand()%150;if(r0) K[i][j]=50,k++;} else if(Lev<=2) {int r=rand()%200;if(r0) K[i][j]=50;if(r1) K[i][j]=51;if(r<=1) k++;} else if(Lev<=3) {int r=rand()%300;if(r0) K[i][j]=50;if(r1) K[i][j]=51;if(r2) K[i][j]=52;if(r<=2) k++;} else if(Lev<=5) {int r=rand()%400;if(r0) K[i][j]=50;if(r1) K[i][j]=51;if(r2) K[i][j]=52;if(r3) K[i][j]=53;if(r<=3) k++;} else if(Lev<=7) {int r=rand()%350;if(r0) K[i][j]=50;if(r1) K[i][j]=51;if(r2) K[i][j]=52;if(r3) K[i][j]=53;if(r4) K[i][j]=54;if(r<=4) k++;} else {int r;if(Lev<=10) r=rand()%300;if(Lev<=15) r=rand()%280;if(Lev<=20) r=rand()%250;if(Lev<=25) r=rand()%230;if(r0) K[i][j]=50;if(r1) K[i][j]=51;if(r2) K[i][j]=52;if(r3) K[i][j]=53;if(r4) K[i][j]=54;if(r<=4) k++;} }if(k<3) goto Kk;if(k>5&&Lev<=3) goto Kk;if(k<5&&Lev>=10) goto Kk;if(k>10&&Lev<=10) goto Kk;if(k>15&&Lev<=15) goto Kk;if(k<10&&Lev>=20) goto Kk;if(k>20&&Lev<=20) goto Kk; } for(int i=2;i<=28;i++) for(int j=2;j<=28;j++) {if(n[i][j]!=0) m[i][j]=0;if(K[i][j]!=0&&(m[i-1][j]!=2||m[i+1][j]!=2||m[i][j-1]!=2||m[i][j+1]!=2)) m[i][j]=K[i][j];} if(Lev%54) {int ms;if(Lev4) ms=3;if(Lev9) ms=5;if(Lev14) ms=10;if(Lev19) ms=15;if(Lev24) ms=20;Bx=rand()%23+4,By=rand()%23+4;Bblood=ms*12;for(int i=14;i<=16;i++) for(int j=14;j<=16;j++) m[i][j]=n[i][j]=0;} for(int i=X-1;i<=X+1;i++) for(int j=Y-1;j<=Y+1;j++) if(i!=1&&i!=29&&j!=1&&j!=29) m[i][j]=0; for(int i=1;i<=29;i++) m[1][i]=2,m[29][i]=2; for(int i=1;i<=29;i++) m[i][1]=2,m[i][29]=2;//周围石块 } void TianFu() { int A[4],ss=0; system("cls"); SetPos(5,5),cout<<"选择一个天赋!(数字键选择)"; Tf: int R=rand()%20+1; for(int i=1;i<=3;i++) if(RA[i]) goto Tf; if(F[R]1) goto Tf; ss++,A[ss]=R; SetPos(4*ss+5,8),cout<<ss<<"、"; if(R1) SetPos(4ss+5,10),cout<<"盾牌恢复速度增加"; if(R==2) SetPos(4ss+5,10),cout<<"普通子弹有概率弹跳"; if(R3) SetPos(4*ss+5,10),cout<<"怪物子弹速度变慢"; if(R4) SetPos(4ss+5,10),cout<<"免疫地刺和怪物的毒"; if(R==5) SetPos(4ss+5,10),cout<<"开局无敌时间增加"; if(R6) SetPos(4*ss+5,10),cout<<"宝箱子弹量增加"; if(R7) SetPos(4ss+5,10),cout<<"盾牌上限增加"; if(R==8) SetPos(4ss+5,10),cout<<"有概率发射散弹"; if(R9) SetPos(4*ss+5,10),cout<<"宝箱抽出生命水概率增加"; if(R10) SetPos(4ss+5,10),cout<<"每次开局有概率增加生命"; if(R==11) SetPos(4ss+5,10),cout<<"有概率发射特殊子弹"; if(R12) SetPos(4*ss+5,10),cout<<"激光伤害减半"; if(R13) SetPos(4ss+5,10),cout<<"盾牌爆后无敌一段时间"; if(R==14) SetPos(4ss+5,10),cout<<"普通子弹有概率爆炸"; if(R15) SetPos(4*ss+5,10),cout<<"杀死怪有几率加盾(BOSS关除外)"; if(R16) SetPos(4ss+5,10),cout<<"出场释放冲击波"; if(R==17) SetPos(4ss+5,10),cout<<"盾牌爆后释放冲击波"; if(R18) SetPos(4*ss+5,10),cout<<"有概率在身周放毒"; if(R19) SetPos(4ss+5,10),cout<<"刷出宝箱概率增加"; if(R==20) SetPos(4ss+5,10),cout<<"每次开局获得一把枪"; if(ss<3) goto Tf; tF: char c=_getch(); if(c>='1'&&c<='3') F[A[c-'0']]=1; else goto tF; if(A[c-'0']7) Dmax+=3; } void GuaiQuan() { X=3,Y=3;Win=-1;system("cls");Color(0); memset(m,0,sizeof(m));memset(n,0,sizeof(n)); for(int i=1;i<=29;i++) m[1][i]=2,m[29][i]=2; for(int i=1;i<=29;i++) m[i][1]=2,m[i][29]=2;//周围石块 for(int i=4;i<=12;i++) m[i][4]=m[i][12]=m[4][i]=m[12][i]=m[i][18]=m[i][26]=m[18][i]=m[26][i]=2; for(int i=18;i<=26;i++) m[i][4]=m[i][12]=m[4][i]=m[12][i]=m[i][18]=m[i][26]=m[18][i]=m[26][i]=2; for(int i=11;i<=19;i++) m[i][11]=m[i][19]=m[11][i]=m[19][i]=2; for(int i=6;i<=10;i++) for(int j=13;j<=17;j++) m[i][j]=1; m[8][8]=50;m[8][21]=51;m[15][15]=52;m[21][8]=53;m[21][21]=54;m[16][23]=3;Map(5); SetPos(3,5);cout<<"←你";SetPos(4,14);cout<<"木箱↓";SetPos(17,4);cout<<"铁块↓";SetPos(17,21);cout<<"宝箱↑"; SetPos(13,5);cout<<"无脑小怪↑";SetPos(14,21);cout<<"剧毒小怪↑"; SetPos(20,13);cout<<"散弹小怪↑";SetPos(27,5);cout<<"狙击小怪↑";SetPos(27,21);cout<<"激光小怪↑"; while(1) { if(bu>0) bu--; if(GetAsyncKeyState(VK_UP)&0x8000) Map(2),gx--; else if(GetAsyncKeyState(VK_DOWN)&0x8000) Map(2),gx++; else if(GetAsyncKeyState(VK_LEFT)&0x8000) Map(2),gy--; else if(GetAsyncKeyState(VK_RIGHT)&0x8000) Map(2),gy++; if(kbhit()) { char g=_getch(); if(g'a') {Map(2); if(gunT!=1) gunT--;else gunT=8;} if(g=='d') {Map(2); if(gunT!=8) gunT++;else gunT=1;} if(g=='w') OpenBox(1); if(g=='s'&&bu<=2) Bullet(),bu+=2; if(g==' ') Sleep(100),SetPos(-1,18),sy++,system("pause"); if(g=='y'&&Win<0) {break;} } if(sy1) SetPos(-1,18),cout<<" ",sy--; Move(); Map(0); Sleep(50); }Lev=0;Blood=10,Dun=10,Bmax=10,Dmax=10; } void Start() { Color(5); SetPos(2,3);cout<<" ■■■■■■ ■ "; SetPos(3,3);cout<<" ■■■■■■■■ "; SetPos(4,3);cout<<" ■ "; SetPos(5,3);cout<<" ■■■■■■■■■■ ■ ■■■■■■ "; SetPos(6,3);cout<<" ■ ■ "; SetPos(7,3);cout<<" ■ ■ ■■■■■■■ "; SetPos(8,3);cout<<" ■ ■ ■ ■ "; SetPos(9,3);cout<<" ■■ ■■■ ■ "; SetPos(10,3);cout<<" ■ ■ "; SetPos(11,3);cout<<" 小 ■■■■ "; SetPos(13,3);cout<<" 2.0版本: "; SetPos(14,3);cout<<" ■■■ ■ "; SetPos(15,3);cout<<" 新增BOSS!Crab-Dave! ■ ■ ■ "; SetPos(16,3);cout<<" ■■■ ■ ■ "; SetPos(17,3);cout<<" 水,生木块,地刺加入战场! ■ ■ ■■■■■"; SetPos(18,3);cout<<" ■ ■ "; SetPos(19,3);cout<<" 身周不会刷出石和水了! ■■■ ■■■■ "; SetPos(20,3);cout<<" ■ ■ ■ ■ "; SetPos(21,3);cout<<" BUG修正于小优化!努力通关吧! ■ ■ ■ ■ "; SetPos(22,3);cout<<" ■■ ■ ■■■■ "; SetPos(25,4);Color(1);cout<<"按 y 开始游戏!"; SetPos(29,3);Color(3);cout<<"注意!这里 绝对不能是拼音输入法!"; A:char y=_getch(); if(y'y') return; else goto A; } void Bling() { for(int i=0;i<=3;i++) { system("color 1A");Sleep(10); system("color 2B");Sleep(10); system("color 3C");Sleep(10); system("color 4D");Sleep(10); system("color 5D");Sleep(10); system("color 6E");Sleep(10); system("color 7F");Sleep(10); }system("color 0F");system("cls"); } void BaoBo(int B) { for(int i=X-B;i<=X+B;i++) if(CanGo(i,Y-B,3)&&i>0&&Y-B>0) m[i][Y-B]=86,m[i][Y-B+1]=8; for(int i=X-B;i<=X+B;i++) if(CanGo(i,Y+B,3)&&i>0&&Y+B>0) m[i][Y+B]=86,m[i][Y+B-1]=8; for(int j=Y-B;j<=Y+B;j++) if(CanGo(X+B,j,3)&&j>0&&X+B>0) m[X+B][j]=86,m[X+B-1][Y]=8; for(int j=Y-B;j<=Y+B;j++) if(CanGo(X-B,j,3)&&j>0&&X-B>0) m[X-B][j]=86,m[X-B+1][Y]=8; } void Ci() { for(int i=1;i<=29;i++) for(int j=1;j<=29;j++) { if(n[i][j]>=10&&n[i][j]<50&&n[i][j]!=30) n[i][j]++; if(n[i][j]50) {n[i][j]=31;if(m[i][j]2) m[i][j]=0;} if(n[i][j]45&&!(m[i][j]>=50&&m[i][j]<55)&&!(abs(Bx-i)<=1&&abs(By-i)<=1)) m[i][j]=2; if(n[i][j]>20&&n[i][j]<=30&&m[i][j]0) n[i][j]=10; if(n[i][j]20&&m[i][j]0&&!(abs(Bx-i)<=1&&abs(By-i)<=1)) m[i][j]=1; } } int main() { system("mode con cols=62 lines=34"); CONSOLE_CURSOR_INFO cursor_info={1,0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); srand((unsigned)time(NULL)); SSt: Start();Bling(); X=4,Y=8,gx=gy=0,gunT=1,gunZ=1,Lev=0,T; Blood=10,Dun=10,Bmax=10,Dmax=10; memset(G,0,sizeof(G)); memset(F,0,sizeof(F)); GuaiQuan(); St: Win=0;Bo=Boo=0; memset(m,0,sizeof(m)); if(Lev%50&&Lev!=0) TianFu(); Bling();T=0;Sheng();Map(1);int rr=rand()%3; if(F[5]1) WuDi=60;else WuDi=30; if(rr0&&F[10]1) Blood=min(Blood+1,Bmax); if(F[16]1) Bo=4; if(F[20]1) {int Q=rand()%7+2;gunZ=Q,G[Q]=5;} while(Win<=0&&Blood>0&&Lev<25) { T++; if(bu>0) bu--; if(WuDi>0) WuDi--; if(WuDi1) WuDi--,Map(4); if(Bo>0) BaoBo(5-Bo),Bo--; if(Boo>0) BaoBo(4-Boo),Boo--; if(F[18]1) { int Rrr=rand()%30; if(Rrr0) for(int i=X-2;i<=X+2;i++) for(int j=Y-2;j<=Y+2;j++) if(CanGo(i,j,5)&&i>0&&j>0) m[i][j]=9; } if(Dun<Dmax) { if(F[1]1&&T%300) Dun++,Map(3); if(F[1]0&&T%700) Dun++,Map(3); } if(GetAsyncKeyState(VK_UP)&0x8000) Map(2),gx--; else if(GetAsyncKeyState(VK_DOWN)&0x8000) Map(2),gx++; else if(GetAsyncKeyState(VK_LEFT)&0x8000) Map(2),gy--; else if(GetAsyncKeyState(VK_RIGHT)&0x8000) Map(2),gy++; if(kbhit()) { char g=_getch(); if(g'a') {Map(2); if(gunT!=1) gunT--;else gunT=8;} if(g'd') {Map(2); if(gunT!=8) gunT++;else gunT=1;} if(g'w') OpenBox(0); if(g's'&&bu<=2) Bullet(),bu+=2; if(g' ') Sleep(100),SetPos(-1,18),sy++,system("pause"); } if(sy1) SetPos(-1,18),cout<<" ",sy--; if(T%20) Ci(); Move();Map(0);Sleep(50); } if(Win0&&Blood<=0&&Lev<25) { system("color 7F"),Color(4); Lev=0; Blood=Dun=Bmax=Dmax=10; Bblood=Bsi=Bjiao=Bdu=Bfang=0; memset(G,0,sizeof(G)); memset(F,0,sizeof(F)); SetPos(2,2); cout<<"You! Die!!!",Sleep(1000); SetPos(3,2); cout<<"Please point 'y' to Play AGain."; } if(Lev<25) { A:char e=_getch(); if(e'y') goto St; else goto A; } if(Lev==25){ system("color 6E"),Color(5); SetPos(2,2),cout<<"You! Pass All The Level!!!"; Sleep(3000); system("color 0F"); system("cls"); goto SSt; } return 0; }
-
通过的题目
-
最近活动
题目标签
- 初窥门径
- 7
- 顺序结构
- 7
- GESP二级
- 3
- 略有小成
- 2
- 循环嵌套
- 2
- 循环结构
- 1
- 一本通编程启蒙
- 1
- GESP
- 1