-
个人简介
我叫动木 一枚二年级的小学生
【置顶】:【**
上联:神经中枢爆炸紧急扔进垃圾桶剥皮喂我家电视机 下联:小脑外围萎缩迅速丢出卫生间敲碎喂铁一评测机*】隔壁补胎的师傅受到启发,给自己取了一个国际范的名字:**拿破轮**。电焊工听到,受到启发,也给自己取了 —————————————————————————下一段———————————————————————— 西江月·证明 即得易见平凡,仿照上例显然。留作习题答案略,读者自证不难。 反之亦然同理,推论自然成立,略去过程QED,由上可知证毕。 —————————————————————————下一段———————————————————————— 北冥有鱼,其名为鲲,鲲之大,long long double 装不下;化而为鸟,其名为鹏,鹏之大,高精数组都爆炸。 —————————————————————————下一段———————————————————————— 魔鬼:我可以实现你三个愿望,然后我就杀了你 程序员:请实现我第二个愿望 程序员:请实现我第一个愿望 魔鬼.exe 已停止运行
#include <iostream> using namespace std; int main() { while(1) cout << "mc启动!!!" << endl; return 0; }
如果26个英文字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
分别等于
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
那么
Knowledge (知识): K+N+O+W+L+E+D+G+E= 11+14+15+23+12+5+4+7+5=96%。
Workhard (努力工作):W+O+R+K+H+A+R+D= 23+15+18+11+8+1+18+4 =98%。
也就是说知识和努力工作对我们人生的影响可以达到96%和98%。
Luck(好运) L+U+C+K=12+21+3+11=47%。
Love(爱情) L+O+V+E=12+15+22+5=54%。
看来,这些我们通常认为重要的东西却并没起到最重要的作用。
那么,什么可以决定我们100%的人生呢?
其实,真正能使我们生活圆满的东西就在我们的代码里面!
IOSTREAM(输入输出流所在的头文件)=9+15+19+20+18+5+1+13=100%。
所以认真写代码吧
C++格言:暴力出奇迹,打表进省一。 数学先打表,DP 看运气。 穷举 TLE ,递推 UKE 。 模拟 MLE ,贪心还CE 。 想要骗到分,就要有方法。 图论背模板,数论背公式。 动规背方程,高精背代码。 骗分过样例,FO 得 AC
初墨,多么优雅的名字——可惜他姓熊 拔杰,多么高端的名字——可惜他姓朱 渔歌,多么诗意的名字——可惜他姓章 楚衢,多么凝重的名字——可惜他姓滚 巅峰,多么上进的名字——可惜他姓杨 紫藤,多么大气的名字——可惜他姓杜 晶斌,多么文静的名字——可惜他姓沈 泥马,多么深奥的名字——可惜他姓曹 珍香,多么秀丽的名字——可惜他姓史 达野,多么磅礴的名字——可惜他姓尼 仁范,多么仁慈的名字——可惜他姓沙 塞克,多么科技的名字——可惜他姓马 思,多么文静的名字——可惜他姓刁
语文老师一回头,此地空无黄鹤楼。 数学老师一回头,二次函数对称轴。 英语老师一回头,Sorry加上三克油。 历史老师一回头,秦始皇来打酱油。 化学老师一回头,二氧化碳变汽油。 生物老师一回头,试管婴儿水中游。 音乐老师一回头,打着节拍摇着头。 政治老师一回头,学霸学渣搞金融。 美术老师一回头,蒙娜丽莎也风流。 物理老师一回头,阿基米德要跳楼。 天文老师一回头,火星也来撞地球。 地理老师一回头,地球原来是个球。 体育老师一回头,乔丹改打乒乓球。 电脑老师一回头,学生请假有理由。 足球老师一回头,全班同学都梦游。 建筑老师一回头,吓塌一栋七层楼。 心理老师一回头,癞蛤蟆也变温柔。 劳技老师一回头,破铜烂铁来走秀。 科学老师一回头,日食月食每天有。 思品老师一回头,鲁迅甘为孺子牛。 综合老师一回头,就算是鬼也发愁。 全体老师一回头,全体学生没自由。
你不得不承认,7个事实 1.你的脖子转不了两圈。 2.你数不了你有多少头发。 3.当你舌头伸出来的时候你不能用鼻子呼吸。 4.你正在做第三条。 5.当你在做第三条的时候,其实你觉得是可行的,但是你看起来会像条小狗一样。 6.你现在在笑,因为我把你整了。 7.分享出去,你就可以整别人报仇了。 哈哈哈!!!
"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=全都不正确"
各种人的a+b问题做法:
普通人:
#include <iostream> #include <cstdio> using namespace std; int main() { int a,b; cin >> a >> b; cout << a+b; return 0; }
树状数组 高手:
#include<iostream> #include<cstring> using namespace std; int lowbit(int a) { return a&(-a); } int main() { int n=2,m=1; int ans[m+1]; int a[n+1],c[n+1],s[n+1]; int o=0; memset(c,0,sizeof(c)); s[0]=0; for(int i=1;i<=n;i++) { cin>>a[i]; s[i]=s[i-1]+a[i]; c[i]=s[i]-s[i-lowbit(i)];//树状数组创建前缀和优化 } for(int i=1;i<=m;i++) { int q=2; //if(q==1) //{(没有更改操作) // int x,y; // cin>>x>>y; // int j=x; // while(j<=n) // { // c[j]+=y; // j+=lowbit(j); // } //} //else //{ int x=1,y=2;//求a[1]+a[2]的和 int s1=0,s2=0,p=x-1; while(p>0) { s1+=c[p]; p-=lowbit(p);//树状数组求和操作,用两个前缀和相减得到区间和 } p=y; while(p>0) { s2+=c[p]; p-=lowbit(p); } o++; ans[o]=s2-s1;//存储答案 //} } for(int i=1;i<=o;i++) cout<<ans[i]<<endl;//输出 return 0; }
图论高手(Dijkstra+优先队列优化):
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cctype> #include <climits> #include <algorithm> #include <map> #include <queue> #include <vector> #include <ctime> #include <string> #include <cstring> using namespace std; const int N=405; struct Edge { int v,w; }; vector<Edge> edge[N*N]; int n; int dis[N*N]; bool vis[N*N]; struct cmp { bool operator()(int a,int b) { return dis[a]>dis[b]; } }; int Dijkstra(int start,int end) { priority_queue<int,vector<int>,cmp> dijQue; memset(dis,-1,sizeof(dis)); memset(vis,0,sizeof(vis)); dijQue.push(start); dis[start]=0; while(!dijQue.empty()) { int u=dijQue.top(); dijQue.pop(); vis[u]=0; if(u==end) break; for(int i=0; i<edge[u].size(); i++) { int v=edge[u][i].v; if(dis[v]==-1 || dis[v]>dis[u]+edge[u][i].w) { dis[v]=dis[u]+edge[u][i].w; if(!vis[v]) { vis[v]=true; dijQue.push(v); } } } } return dis[end]; } int main() { int a,b; scanf("%d%d",&a,&b); Edge Qpush; Qpush.v=1; Qpush.w=a; edge[0].push_back(Qpush); Qpush.v=2; Qpush.w=b; edge[1].push_back(Qpush); printf("%d",Dijkstra(0,2)); return 0; }
字典树高手:
#include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; struct node{ int str[26]; int sum; }s[1000]; char str1[100]; int t=0,tot=0,ss=0; bool f1; void built() { t=0; for(int i=0;i<strlen(str1);i++) { if(str1[i]=='-'){ f1=true;continue; } if(!s[t].str[str1[i]-'0']) s[t].str[str1[i]-'0']=++tot; t=s[t].str[str1[i]-'0']; s[t].sum=str1[i]-'0'; } } int query() { int t=0;int s1=0; for(int i=0;i<strlen(str1);i++) { if(str1[i]=='-') continue; if(!s[t].str[str1[i]-'0']) return s1; t=s[t].str[str1[i]-'0']; s1=s1*10+s[t].sum; } return s1; } int main() { for(int i=1;i<=2;i++) { f1=false; scanf("%s",str1); built(); if(f1) ss-=query(); else ss+=query(); } printf("%d",ss); return 0; }
线段树高手:
#include<cstdio> #include<algorithm> #include<cstdlib> #include<cmath> #include<cstring> #include<iostream> using namespace std; struct node{ int val,l,r; }; node t[5]; int a[5],f[5]; int n,m; void init(){ for(int i=1;i<=2;i++){ scanf("%d",&a[i]); } } void build(int l,int r,int node){//这是棵树 t[node].l=l;t[node].r=r;t[node].val=0; if(l==r){ f[l]=node; t[node].val=a[l]; return; } int mid=(l+r)>>1; build(l,mid,node*2); build(mid+1,r,node*2+1); t[node].val=t[node*2].val+t[node*2+1].val; } void update(int node){ if(node==1)return; int fa=node>>1; t[fa].val=t[fa*2].val+t[fa*2+1].val; update(fa); } int find(int l,int r,int node){ if(t[node].l==l&&t[node].r==r){ return t[node].val; } int sum=0; int lc=node*2;int rc=lc+1; if(t[lc].r>=l){ if(t[lc].r>=r){ sum+=find(l,r,lc); } else{ sum+=find(l,t[lc].r,lc); } } if(t[rc].l<=r){ if(t[rc].l<=l){ sum+=find(l,r,rc); } else{ sum+=find(t[rc].l,r,rc); } } return sum; } int main(){ init(); build(1,2,1); printf("%d",find(1,2,1)); }
最小生成树高手:
#include <cstdio> #include <algorithm> #define INF 2140000000 using namespace std; struct tree{int x,y,t;}a[10]; bool cmp(const tree&a,const tree&b){return a.t<b.t;} int f[11],i,j,k,n,m,x,y,t,ans; int root(int x){if (f[x]==x) return x;f[x]=root(f[x]);return f[x];} int main(){ for (i=1;i<=10;i++) f[i]=i; for (i=1;i<=2;i++){ scanf("%d",&a[i].t); a[i].x=i+1;a[i].y=1;k++; } a[++k].x=1;a[k].y=3,a[k].t=INF; sort(a+1,a+1+k,cmp); for (i=1;i<=k;i++){ // printf("%d %d %d %d\n",k,a[i].x,a[i].y,a[i].t); x=root(a[i].x);y=root(a[i].y); if (x!=y) f[x]=y,ans+=a[i].t; } printf("%d\n",ans); }
Splay高手:
//一颗资瓷区间加、区间翻转、区间求和的Splay #include <bits/stdc++.h> #define ll long long #define N 100000 using namespace std; int sz[N], rev[N], tag[N], sum[N], ch[N][2], fa[N], val[N]; int n, m, rt, x; void push_up(int x){ sz[x] = sz[ch[x][0]] + sz[ch[x][1]] + 1; sum[x] = sum[ch[x][1]] + sum[ch[x][0]] + val[x]; } void push_down(int x){ if(rev[x]){ swap(ch[x][0], ch[x][1]); if(ch[x][1]) rev[ch[x][1]] ^= 1; if(ch[x][0]) rev[ch[x][0]] ^= 1; rev[x] = 0; } if(tag[x]){ if(ch[x][1]) tag[ch[x][1]] += tag[x], sum[ch[x][1]] += tag[x]; if(ch[x][0]) tag[ch[x][0]] += tag[x], sum[ch[x][0]] += tag[x]; tag[x] = 0; } } void rotate(int x, int &k){ int y = fa[x], z = fa[fa[x]]; int kind = ch[y][1] == x; if(y == k) k = x; else ch[z][ch[z][1]==y] = x; fa[x] = z; fa[y] = x; fa[ch[x][!kind]] = y; ch[y][kind] = ch[x][!kind]; ch[x][!kind] = y; push_up(y); push_up(x); } void splay(int x, int &k){ while(x != k){ int y = fa[x], z = fa[fa[x]]; if(y != k) if(ch[y][1] == x ^ ch[z][1] == y) rotate(x, k); else rotate(y, k); rotate(x, k); } } int kth(int x, int k){ push_down(x); int r = sz[ch[x][0]]+1; if(k == r) return x; if(k < r) return kth(ch[x][0], k); else return kth(ch[x][1], k-r); } void split(int l, int r){ int x = kth(rt, l), y = kth(rt, r+2); splay(x, rt); splay(y, ch[rt][1]); } void rever(int l, int r){ split(l, r); rev[ch[ch[rt][1]][0]] ^= 1; } void add(int l, int r, int v){ split(l, r); tag[ch[ch[rt][1]][0]] += v; val[ch[ch[rt][1]][0]] += v; push_up(ch[ch[rt][1]][0]); } int build(int l, int r, int f){ if(l > r) return 0; if(l == r){ fa[l] = f; sz[l] = 1; return l; } int mid = l + r >> 1; ch[mid][0] = build(l, mid-1, mid); ch[mid][1] = build(mid+1, r, mid); fa[mid] = f; push_up(mid); return mid; } int asksum(int l, int r){ split(l, r); return sum[ch[ch[rt][1]][0]]; } int main(){ //总共两个数 n = 2; rt = build(1, n+2, 0);//建树 for(int i = 1; i <= n; i++){ scanf("%d", &x); add(i, i, x);//区间加 } rever(1, n);//区间翻转 printf("%d\n", asksum(1, n));//区间求和 return 0; }
~这玩意我也看蒙了~ 你们能看懂几个呢?(不包括第一个)
______ __ __ ______ _____ ______ _____ /\ _ \/\ \/\ \ /\__ _\ /\ __ \/\__ _\ /\ \ \ \ \ \ \ \ \/ / \/_/\ \/ \ \ \/\ \/_/\ \/ \ \ | \ \ __ \ \ < \ \ \ \ \ \ \ \ \ \ \ \ \ | \ \ \/\ \ \ \\ \ \_\ \__\ \ \_\ \ \_\ \__ \ \ | \ \_\ \_\ \_\ \_\ /\_____\\ \_____\/\_____\ \_\/ \/_/\/_/\/_/\/_/ \/_____/ \/_____/\/_____/ ●
离离原上谱,一岁一离谱。离谱烧不尽,冬风吹又生。远芳侵谱道,晴翠接离城。又送离谱去,萋萋四十九。
小游戏:
#include<iostream> using namespace std; int main() { long long qian = 10, aden = 1, amin = 20, yao = 0, aminx = 20, agong = 0, agongg = 5, afang = 0, mg[5] = {5, 20, 30, 40, 50}, mq[5] = {2, 10, 20, 50, 100}, mm[5] = {20, 40, 60, 80, 100}, a, b = 0, c, d; cout << "1.资源商店" << endl; cout << "2.获得宠物" << endl; cout << " 3.出战" << endl; cout << "恭喜获得新人礼包:金币*1" << endl; cin >> b; if (b == 1 || b == 3) { cout << "请先获得宠物" << endl; cout << "1.小猫 收费:金币*1" << endl; cout << "2.小狗 收费:金币*1" << endl; } else if (b == 2) { cout << "1.小猫 收费:金币*1" << endl; cout << "2.小狗 收费:金币*1" << endl; } cin >> b; if (b == 1) { cout << "恭喜获得宠物:小猫" << endl; } else if (b == 2) { cout << "恭喜获得宠物:小狗" << endl; } cout << "成功获得宠物 奖励金币*10" << endl; while (b != 9) { cout << "1.资源商店" << endl; cout << "2.宠物升级" << endl; cout << "3.出战" << endl; cout << "4.资料" << endl; cout << "按9结束游戏" << endl; cin >> b; if (b == 9) { cout << "感谢游玩" << endl; return 0; } else if (b == 1) { cout << "1.装备" << endl; cout << "2.药品" << endl; cin >> a; if (a == 1) { cout << "1.攻击" << endl; cout << "2.防御" << endl; cin >> c; if (c == 1) { cout << "1.铁齿 (+20) 收费:金币*40" << endl; cout << "2.钢毛 (+25) 收费:金币*50" << endl; cout << "3.铜爪 (+30) 收费:金币*60" << endl; cout << "4.银掌 (+50) 收费:金币*100" << endl; cout << "5.远古石球 (+100) 收费:金币*300" << endl; cin >> d; if (d == 5 && qian >= 300) { agong += 100; qian -= 300; cout << "当前攻击力:" << agong << endl; } else if (d == 1 && qian >= 40) { agong += 20; qian -= 40; cout << "当前攻击力:" << agong << endl; } else if (d == 2 && qian >= 50) { agong += 25; qian -= 50; cout << "当前攻击力:" << agong << endl; } else if (d == 3 && qian >= 60) { agong += 30; qian -= 60; cout << "当前攻击力:" << agong << endl; } else if (d == 4 && qian >= 100) { agong += 50; qian -= 100; cout << "当前攻击力:" << agong; } else if (d == 1 || d == 2 || d == 3 || d == 4 || d == 5) { cout << "金币不够" << endl << "当前金币:" << qian << endl; } } if (c == 2) { cout << "1.铁甲 (%20) 收费:金币*40" << endl; cout << "2.钢甲 (%30) 收费:金币*50" << endl; cout << "3.铜甲 (%40) 收费:金币*60" << endl; cout << "4.银甲 (%50) 收费:金币*100" << endl; cout << "5.时空金甲 (%90) 收费:金币*300" << endl; cin >> d; if (d == 5 && qian >= 300) { afang = 1; qian -= 300; amin += 150; cout << "当前防御力:%" << afang << endl << "当前血量总值:" << amin << endl; } else if (d == 1 && qian >= 40) { afang = 8; qian -= 40; amin += 20; cout << "当前防御力:%" << afang << endl << "当前血量总值:" << amin << endl; } else if (d == 2 && qian >= 50) { afang = 7; qian -= 50; amin += 25; cout << "当前防御力:%" << afang << endl << "当前血量总值:" << amin << endl; } else if (d == 3 && qian >= 60) { afang = 6; qian -= 60; amin += 30; cout << "当前防御力:%" << afang << endl << "当前血量总值:" << amin << endl; } else if (d == 4 && qian >= 100) { afang = 5; qian -= 100; amin += 50; cout << "当前防御力:%" << afang << endl << "当前血量总值:" << amin << endl; } else if (d == 1 || d == 2 || d == 3 || d == 4 || d == 5) { cout << "金币不够" << endl << "当前金币:" << qian << endl; } } } if (a == 2) { cout << "1.血液回满 收费:金币*1" << endl; cout << "2.快速回复*5(可在战斗中使用) 收费:金币*2" << endl; cin >> c; if (c == 1 && qian >= 1) { aminx = amin; qian -= 1; cout << "当前血量:" << aminx << endl; } else if (c == 1) { cout << "金币不够" << endl << "当前金币:" << qian << endl; } if (c == 2 && qian >= 2) { yao += 5; cout << "当前药品量:" << yao << endl; qian -= 2; } else if (c == 2) { cout << "金币不够" << endl << "当前金币:" << qian << endl; } } } else if (b == 2) { if (afang < 20 && agong < 20) { cout << "请先获得至少一件攻击用具和至少一件防御用具" << endl; } else { cout << "当前等级为" << aden << "级,晋级需要金币*" << aden * 100 << "是否晋级?" << endl; cout << "1.是" << endl; cout << "2.否" << endl; cin >> a; if (a == 1 && qian >= aden * 100) { aden++; agongg *= 2; amin *= 2; qian += aden * 10; cout << "恭喜晋级成功,获得奖励:金币*" << aden * 10 << endl; } else if (a == 1) { cout << "金币不够" << endl << "当前金币:" << qian << endl; } } } else if (b == 3 && aminx > 0) { cout << "1.小怪 攻击力:5 生命值:30" << endl; cout << "2.小怪之王 攻击力:20 生命值:90" << endl; cout << "3.小魔头 攻击力:30 生命值:90" << endl; cout << "4.大魔头 攻击力:40 生命值:120" << endl; cout << "5.万魔之王 攻击力:50 生命值:150" << endl; cin >> a; cout << "开始战斗" << endl; if (afang != 0) { mg[a - 1] /= 10; mg[a - 1] *= afang; } while (aminx > 0 && mm[a - 1] > 0) { cout << "1.攻击" << endl; cout << "2.快速回复" << endl; cin >> c; if (c == 1) { mm[a - 1] -= (agong + agongg); aminx -= mg[a - 1]; cout << "魔兽血量-" << agong + agongg << "=" << mm[a - 1] << endl << "宠物血量-" << mg[a - 1] << "=" << aminx << endl; } else if (c == 2) { if (yao > 0) { yao--; aminx = amin; cout << "当前血量:" << aminx << endl; cout << "剩余药品量:" << yao << endl; } else { cout << "药品不足" << endl; } } } if (mm[a - 1] <= 0 && aminx > 0) { cout << "挑战成功" << endl << "获得奖励 金币*" << mq[a - 1] << endl; qian += mq[a - 1]; if (a != 1) { mg[a - 1] = a * 5 * 2; mm[a - 1] = mg[a - 1] / 2 * 4; } else { mg[a - 1] = 5; mm[a - 1] = 20; } } else { cout << "你死了" << endl; if (a != 1) { mg[a - 1] = a * 5 * 2; mm[a - 1] = mg[a - 1] / 2 * 4; } else { mg[a - 1] = 5; mm[a - 1] = 20; } } } else if (b == 3) { cout << "您的宠物已经没有血了,请先补满血再来" << endl; } else if (b == 4) { cout << "-------------------------" << endl; cout << "|血量总值:" << amin << " "; cout << "当前血量:" << aminx << endl; cout << "|当前金币:" << qian << " "; cout << "当前攻击力:" << agong + agongg << endl; if (afang != 0) { cout << "|当前防御力:%" << (10 - afang) * 10 << " "; } else { cout << "|当前防御力:%0" << " "; } cout << "当前药品量:" << yao << endl; } } return 0; }
贪吃蛇:
#include <iostream> #include <cstdio> #include <cstdlib> #include <ctime> #include <conio.h> #include <cmath> #include <windows.h> using namespace std; /*** 光标定位 ***/ HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord; void locate(int x, int y) { coord.X = y; coord.Y = x; SetConsoleCursorPosition(hout, coord); }; /*** 隐藏光标 ***/ void hide() { CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(hout, &cursor_info); } /*** 生成随机数 ***/ double random(double start, double end) { return start + (end - start) * rand() / (RAND_MAX + 1.0); } /*** 定义地图的长宽,蛇的坐标,长度,方向,食物的位置 ***/ int m, n; struct node { int x, y; } snake[1000]; int snake_length, dir; node food; int direct[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; /*** 输出墙 ***/ void print_wall() { cout << " "; for (int i = 1; i <= n; i++) cout << "-"; cout << endl; for (int j = 0; j <= m - 1; j++) { cout << "|"; for (int i = 1; i <= n; i++) cout << " "; cout << "|" << endl; } cout << " "; for (int i = 1; i <= n; i++) cout << "-"; } /*** 首次输出蛇,其中snake[0]代表头 ***/ void print_snake() { locate(snake[0].x, snake[0].y); cout << "@"; for (int i = 1; i <= snake_length - 1; i++) { locate(snake[i].x, snake[i].y); cout << "*"; } } /*** 判断是否撞墙或者自撞 ***/ bool is_correct() { if (snake[0].x == 0 || snake[0].y == 0 || snake[0].x == m + 1 || snake[0].y == n + 1) return false; for (int i = 1; i <= snake_length - 1; i++) { if (snake[0].x == snake[i].x && snake[0].y == snake[i].y) return false; } return true; } /*** 随机生成并输出食物位置 ***/ bool print_food() { srand((unsigned)time(0)); bool e; while (1) { e = true; int i = (int) random(0, m) + 1, j = (int) random(0, n) + 1; food.x = i; food.y = j; for (int k = 0; k <= snake_length - 1; k++) { if (snake[k].x == food.x && snake[k].y == food.y) { e = false; break; } } if (e) break; } locate(food.x, food.y); cout << "$"; return true; } /*** 蛇的前进 ***/ bool go_ahead() { node temp; bool e = false; temp = snake[snake_length - 1]; for (int i = snake_length - 1; i >= 1; i--) snake[i] = snake[i - 1]; snake[0].x += direct[dir][0]; snake[0].y += direct[dir][1]; locate(snake[1].x, snake[1].y); cout << "*"; /*** 吃到了食物 ***/ if (snake[0].x == food.x && snake[0].y == food.y) { snake_length++; e = true; snake[snake_length - 1] = temp; } /*** 输出此时蛇状态 ***/ if (!e) { locate(temp.x, temp.y); cout << " "; } else print_food(); locate(snake[0].x, snake[0].y); cout << "@"; /*** 如果自撞 ***/ if (!is_correct()) { system("cls"); cout << "You lose!" << endl << "Length: " << snake_length << endl; return false; } return true; } /*** 主函数 ***/ int main() { cout << "--------------------贪吃蛇---------------------" << endl; cout << "请注意窗口大小,以免发生错位.建议将窗口调为最大." << endl; cout << "先选择难度.请在1-10中输入1个数,1最简单,10则最难" << endl; cout << "然后进入游戏画面,以方向键控制方向.祝你游戏愉快!" << endl; cout << "-----------------------------------------------" << endl; m = 25; n = 40; if (m < 10 || n < 10 || m > 25 || n > 40) { cout << "ERROR" << endl; system("pause"); return 0; } int hard; cin >> hard; if (hard <= 0 || hard > 100) { cout << "ERROR" << endl; system("pause"); return 0; } /*** 数据全部初始化,包括蛇长,位置,方向 ***/ snake_length = 5; clock_t a, b; char ch; double hard_len; for (int i = 0; i <= 4; i++) { snake[i].x = 1; snake[i].y = 5 - i; } dir = 3; /*** 输出初始地图,蛇与食物 ***/ system("cls"); hide(); print_wall(); print_food(); print_snake(); locate(m + 2, 0); cout << "Now length: "; /*** 开始游戏 ***/ while (1) { /*** 难度随长度增加而提高 ***/ hard_len = (double)snake_length / (double) (m * n); /*** 调节时间,单位是ms ***/ a = clock(); while (1) { b = clock(); if (b - a >= (int)(400 - 30 * hard) * (1 - sqrt(hard_len))) break; } /*** 接受键盘输入的上下左右,并以此改变方向 ***/ if (kbhit()) { ch = getch(); if (ch == -32) { ch = getch(); switch (ch) { case 72: if (dir == 2 || dir == 3) dir = 0; break; case 80: if (dir == 2 || dir == 3) dir = 1; break; case 75: if (dir == 0 || dir == 1) dir = 2; break; case 77: if (dir == 0 || dir == 1) dir = 3; break; } } } /*** 前进 ***/ if (!go_ahead()) break; /*** 在最后输出此时长度 ***/ locate(m + 2, 12); cout << snake_length; } system("pause"); return 0; }
新代码:
#include<iostream> #include<cmath> #include<time.h> #include<windows.h> #include<dir.h> #define MAX 100 using namespace std; int xue_yuan = 1000, xmax_yuan = 1000, g_yuan = 75; double f_yuan = 0.05; int xue = 1000, xmax = 1000, g = 75, money = 1000, xep = 0, lv = 1; int ren = 0, a, b, c, d, hui_he = 0, face = 0, n = 0, zi_ge = 0, yin_hang = 0, h = 0, jiu_dian = 0, da_gong = 0, Time = 0; int zhuang[3] = {0, 0, 0}; double f = f_yuan; char name[20]; int bag[21]; int k[3] = {0, 0, 0}; int BUILD[50] = {0}; struct Read { char str[100000]; char miwen[50][20]; } READ; void slowout(char *p) { while (1) { if (*p != 0) printf("%c", *p++); else break; Sleep(20); } Sleep(500); } int _3zhandou(int x1, int g1, double f1, char boss[20], int mf, int shu_l) { //g1敌人攻击 x1敌人血量 f1敌人防御 int k1 = 0, tan_ke = 0, i = 0, chan_rao = 0, j = 0, tt = 0, shen = 0, x = 0, xxue = 0, xuex = 0, shu_i = 0; int cc = 0, ccc = 0; int sj, jn; int fx1 = x1, fg1 = g1; for (shu_i = 1; shu_i <= shu_l; ++shu_i) { while (1) { if (f1 > 0.8) f1 = 0.8; if (f > 0.8) f = 0.8; if (chan_rao != 0) printf("你因魔法而本回合内无法攻击!\n"); else { cc = g * (1.0 - f1); x1 -= cc; if (x1 <= 0) x1 = 0; printf("你向第%d个%s发起攻击,%s减血%d滴,还剩%d滴血!\n", shu_i, boss, boss, cc, x1); Sleep(500); } if (x1 <= 0) { k1++; break; } ccc = g1 * (1.0 - f); xue -= ceil(ccc); if (xue < 0) xue = 0; printf("第%d个%s对你发起攻击,你减血%d滴,还剩%d滴血!\n", shu_i, boss, ccc, xue); if (xue <= 0) { slowout("你凉了……\n"); xue_yuan = 1000; xmax_yuan = 1000; g_yuan = 75; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; xep = 0; lv = 1; f = f_yuan; if (zhuang[0] == 1) { g = g_yuan; g += 200; } else if (zhuang[0] == 2) { f = f_yuan; f += 0.1; } if (zhuang[1] == 9) { g = g_yuan; g += 50; } else if (zhuang[1] == 10) { g = g_yuan; g += 75; } else if (zhuang[1] == 11) { g = g_yuan; g += 100; } else if (zhuang[1] == 12) { g = g_yuan; g += 150; } else if (zhuang[1] == 13) { g = g_yuan; g += 250; } if (zhuang[2] == 14) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.4; g += 1000; xue += 2000; xmax += 2000; } else if (zhuang[2] == 15) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.5; g += 1500; xue += 2750; xmax += 2750; } else if (zhuang[2] == 16) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.6; g += 2250; xue + 3000; xmax += 3000; } else if (zhuang[2] == 17) { xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.65; g += 2500; xue += 4000; xmax += 4000; } return 0; } Sleep(500); jn = rand() % 3; if (jn == 0) { if (mf == 1) { printf("%s使出了技能“回血”!增加血量100点!\n", boss, mf); x1 += 100; } else if (mf == 2) { printf("%s使出了技能“狂暴”!攻击力增强100!\n", boss); g1 += 100; } else if (mf == 3) { printf("%s使出了技能“武装”!攻击力增强100,防御力增强5!\n", boss); g1 += 100; f1 += 0.05; } else if (mf == 4) { printf("%s使出了技能“护盾”!增加防御力10!\n", boss); f1 += 0.1; } else if (mf == 5) { printf("%s使出了技能“全副武装”!增加血量200点,攻击力150,防御力8!\n", boss); x1 += 200; g1 += 150; f1 += 0.08; } else if (mf == 6) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“炮击”!你被击中了!减血500滴!\n", boss); xue -= 500; } else { printf("%s使出了技能“炮火连天”!你受到灼烧伤害,每回合减血200滴!\n", boss); tan_ke = 1; } } else if (mf == 7) { printf("%s使出了技能“天谴”!你减血200滴!\n", boss); xue -= 200; } else if (mf == 8) { printf("%s使出了技能“缠绕”!你在一回合内无法攻击!\n", boss); chan_rao = 1; i = 2; } else if (mf == 9) { printf("%s使出了技能“激光扫射”!你减血500滴!\n", boss); xue -= 500; } else if (mf == 10) { printf("%s使出了技能“钻心刻骨”!你将在5回合内连续受到疼痛攻击!\n", boss); tt = 1; j = 5; } else if (mf == 11) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“阿瓦达索命”!你减血1000滴!\n", boss); xue -= 1000; } if (sj == 1) { printf("%s使出了技能“超级狂暴”!加血500滴,攻击力增强250,防御力增强10!\n", boss); x1 += 500; g1 += 250; f1 += 0.1; } if (sj == 2) { printf("%s使出了技能“昏昏欲睡”!你在一回合内无法攻击!\n", boss); chan_rao = 1; i = 2; } } else if (mf == 12) { printf("%s使出了技能“飞斩”!你减血400滴!\n", boss); xue -= 400; } else if (mf == 13) { printf("%s使出了技能“激光轰击”!你减血500滴!\n", boss); xue -= 500; } else if (mf == 14) { sj = rand() % 3; if (sj == 0) { printf("国防部部长用魔杖给议员加血500滴!\n"); g1 += 500; } else if (sj == 1) { printf("国防部部长用魔杖给议员加了一层护盾!议员防御力提升20!\n"); f1 += 0.2; } else if (sj == 2) { printf("国防部部长用魔杖把议员激怒了,议员攻击力提升500!\n"); g1 += 500; } } else if (mf == 15) { sj = rand() % 2; if (sj == 0) { printf("国防部部长用魔杖把你捆住了,两回合内无法攻击!\n"); chan_rao = 1; i = 3; } else { printf("国防部部长用魔杖使机器人保镖进入狂暴状态!机器人保镖增血500滴,攻击力增强200,防御力增强10!\n"); x1 += 500; g1 += 200; f1 += 0.1; } } else if (mf == 16) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“神锋无影”!", boss); shen = rand() % 8; shen += 3; printf("你被连中%d刀,减血%d滴!\n", shen, shen * 150); xue -= shen * 150; } if (sj == 1) { printf("%s使出了技能“星石陨落”!你减血1500滴!\n", boss); xue -= 1500; } if (sj == 2) { printf("%s使出了技能“强力吸血”!该效果持续3回合!\n", boss); xxue = 4; x = 1; xuex = 1; } } else if (mf == 17) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“机枪扫射”!", boss); shen = rand() % 8; shen += 3; printf("你被连中%d枪,减血%d滴!\n", shen, shen * 150); xue -= shen * 150; } else { printf("%s使出了技能“激光扫射”!你减血500滴!\n", boss); xue -= 500; } } else if (mf == 18) { sj = rand() % 2; if (sj == 0) { printf("%s使出了技能“机枪扫射II”!", boss); shen = rand() % 18; shen += 13; printf("你被连中%d枪,减血%d滴!\n", shen, shen * 175); xue -= shen * 150; } else if (sj == 1) { printf("%s使出了技能“火焰喷射”!你受到灼烧伤害,每回合减血400滴!\n", boss); tan_ke = 2; } } else if (mf == 19) { sj = rand() % 3; if (sj == 0) { printf("%s使出了技能“**”!你受到爆炸伤害,减血1000滴!\n", boss); xue -= 1000; } if (sj == 1) { printf("%s使出了技能“凋零”!你受到凋零伤害,每回合减血800滴!\n", boss); tan_ke = 4; } if (sj == 2) { printf("%s使出了技能“汲取”!每回合被吸血800滴,并每回合增加15防御!该效果持续3回合!\n", boss); xxue = 4; x = 2; xuex = 1; } } Sleep(500); } //炮火连天 火焰喷射 凋零 if (tan_ke > 0) { if (tan_ke == 1) printf("灼烧伤害中,减血200滴。\n"); if (tan_ke == 2) printf("灼烧伤害中,减血400滴。\n"); if (tan_ke == 4) printf("凋零伤害中,减血800滴。\n"); xue -= ceil(ceil(200 * tan_ke) * f); } //缠绕 昏昏欲睡 国防部部长用魔杖把你捆住 i--; if (i <= 0) chan_rao = 0; //钻心刻骨 j--; if (j == 0) tt = 0; if (tt == 1) { printf("疼痛伤害中,减血100滴。\n"); xue -= ceil(ceil(100) * f); } //强力吸血 if (x == 1) { xxue--; if (xxue == 0) { xuex = 0; x = 0; } if (xuex == 1) { printf("国防部部长从你那里吸血400滴。\n"); xue -= 400; x1 += 400; } } //汲取 if (x == 2) { xxue--; if (xxue == 0) { xuex = 0; x = 0; } if (xuex == 1) { printf("国防部部长从你那里吸血800滴,并增加15防御。\n"); xue -= 800; x1 += 800; f1 += 0.15; } } } x1 = fx1, g1 = fg1; } if (xue <= ceil(0.25 * xmax)) xue = ceil(0.25 * xmax); return k1; } void ji() { int _ji = 0; for (int sheng = 1; xep >= 500; ++sheng) { xep -= 500; _ji++; } printf("你升了%d级,增加%d攻击,%d血量!\n", _ji, 5 * _ji, 5 * _ji); lv += _ji; g += 5 * _ji; xue += 5 * _ji; xmax += 5 * _ji; xue_yuan += 5 * _ji; xmax_yuan += 5 * _ji; Sleep(1000); } int high, width; //地图高度与宽度 int bird_x, bird_y; //小鸟的位置 int through, wall; //通道的x坐标和墙的起始坐标y int Map[MAX][MAX];//记录页面的显示 /*0代表空白,1代表小鸟的位置,2代表墙 3代表上下围墙,4代表左右围墙*/ bool book[MAX][MAX];//代表改点有围墙 int score;//记录得分 bool result = 0;//游戏结果1代表失败,0代表胜利,不过永远赢不了~~ void startup() { score = 0; high = 20; width = 50; bird_x = high / 2; bird_y = width / 4; through = high / 2; wall = width / 4 * 3; result = 0; } int REST() { if (50 - score > 5) return 50 - score; else return 5; } void startMap() { int i, j; for (i = 1; i <= high - 1; i++) { Map[i][1] = 4; for (j = 2; j <= width - 1; j++) Map[i][j] = 0; Map[i][width] = 4; } //下方围墙的初始化 i = high; for (j = 1; j <= width; j++) Map[i][j] = 3; //小鸟位置的初始化 Map[bird_x][bird_y] = 1; //墙的初始化 for (i = 1; i <= high - 1; i++) { Map[i][wall] = 2; book[i][wall] = 1; } //通道的初始化 for (i = through - 4; i <= through + 4; i++) { //通道的大小可以自定义. Map[i][wall] = 0; book[i][wall] = 0; } } void HideCursor() { //隐藏光标 CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void gotoxy(int x, int y) { //清理一部分屏幕 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle, pos); } void UPdatewithOutinput() { //与输入无关的更新 bird_x++; wall--; if (book[bird_x][bird_y] == 1 || bird_x > high || bird_x <= 0) { //当小鸟死亡时 result = 1; } if (wall == bird_y - 1) //当小鸟走过墙时得一分 score++; if (wall < 1) { srand(time(NULL)); through = rand() % high; while (through <= 3 || through >= high - 2) { through = rand() % high; } } if (wall < 1) { wall = width / 4 * 3; } memset(book, 0, sizeof(book)); Sleep(REST()); } void UPdatewithinput() { char input; if ((GetAsyncKeyState(' ') & 0x8000) && bird_x > 2) //判断是否有键盘输入 bird_x -= 2;//小鸟向上蹦两格 } void show() { gotoxy(0, 0); int i, j; for (i = 1; i <= high; i++) { for (j = 1; j <= width; j++) { switch (Map[i][j]) { case 0: printf(" "); break; case 1: printf("@"); break; case 2: printf("*"); break; case 3: printf("~"); break; case 4: printf("|"); break; } } printf("\n"); } printf("你的分数是:%d\n\n", score); printf("操作说明:空格键向上移动\n"); } int dagong() { printf("每一分是200元!\n"); Sleep(1000); system("cls"); Sleep(1000); startup(); while (1) { HideCursor(); startMap(); show(); UPdatewithOutinput(); if (result == 1) break; UPdatewithinput(); } system("cls"); printf("你输了"); system("pause"); system("pause"); system("pause"); system("pause"); system("pause"); return score; } void begin() { slowout("需要指引吗?(1需要 / 2不了)\n"); cin >> a; if (a == 2) goto a1; slowout("歹徒逃亡 3——刺杀行动\n"); slowout("1.3.2正式版\n"); slowout("绝对原创 不喜勿喷!!!\n"); slowout("游戏中有部分bug,望谅解!\n"); system("cls"); slowout("话说你占领了M城的国防部,贼嗨皮!~!~!~!\n"); slowout("只可是VT市的总统之都已经炸开了锅……\n"); slowout("“那小子太优秀了,提一点好的意见吧,总统。”\n"); slowout("“(他/她)不好惹,呵呵呵将军,带上这个火速赶往M城,嘿嘿嘿~~~”\n"); slowout("“总统,您放心,我会让《歹徒逃亡 3——刺杀行动》这个系列代码不超过100行的(他也不知道自己会打脸)。”\n"); Sleep(1000); system("cls"); slowout("M城…………\n"); slowout("你正在准备接手国防部部长名号,呵呵呵将军来了……\n"); slowout("“尊敬的新任国防部部长呀,请看!”\n"); slowout("只见他拿出核铳(“核铳”是向阿西莫夫的科幻小说致敬!)瞄准了你,并向你开了一枪…………\n"); slowout("没有防御罩的你,自然被轰到十万八千里开外…………\n"); slowout("的一个小水池中,不知水是否也有魔法(特别致谢cyka blyat的《歹徒逃亡 2——魔法之城》),你活了下来。\n"); slowout("自然的,我们不知道你在《歹徒逃亡 2——魔法之城》中的姓名、攻击等数据。\n"); slowout("所以说:“你脑子被炸坏了,物品也毁了。”\n"); slowout("请再起一个名字:\n"); cin >> name; printf("%s,游戏开始!\n", name); Sleep(1500); system("cls"); slowout("你四处瞅了瞅,发现这里是A城。VT首都的临城!\n"); slowout("你也发现墙上贴满了你的通缉令。便赶紧向城郊跑去,定居了下来。\n"); slowout("“咦?你这是什么纸?”你好奇的看了看后,便收进背包里了(开始游戏后再看)。\n"); system("pause"); system("cls"); return; a1: slowout("请起一个名字:\n"); cin >> name; printf("%s,游戏开始!\n", name); Sleep(1500); } void Turn_off() { int fy = ceil(f_yuan * 100), ff = ceil(f * 100); FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "w+"); fprintf(fp, "%s ", name); fprintf(fp, "%d %d %d %d ", xue_yuan, xmax_yuan, g_yuan, fy); fprintf(fp, "%d %d %d %d %d %d %d ", xue, xmax, g, money, xep, lv, ff); fprintf(fp, "%d ", hui_he); fprintf(fp, "%d ", face); fprintf(fp, "%d ", zi_ge); fprintf(fp, "%d ", yin_hang); fprintf(fp, "%d ", h); fprintf(fp, "%d ", jiu_dian); fprintf(fp, "%d ", da_gong); fprintf(fp, "%d ", Time); fprintf(fp, "%d %d %d ", k[0], k[1], k[2]); fprintf(fp, "%d %d %d ", zhuang[0], zhuang[1], zhuang[2]); for (int i = 1; i <= 17; ++i) fprintf(fp, "%d ", bag[i]); fclose(fp); } int Have() { FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "r+"); char ch; ch = fgetc(fp); fclose(fp); if (ch != EOF) return 1; else return 0; } void Build() { int i = 0, k1 = 0; char ch; ch = READ.str[k1]; while (ch != '\0') { if (ch != ' ') { name[k1] = ch; k1++; } else break; ch = READ.str[k1]; } i = 1; ch = READ.str[k1]; while (ch != '\0') { while (ch != ' ') { BUILD[i] = BUILD[i] * 10 + ch - 48; k1++; ch = READ.str[k1]; } i++; ch = READ.str[++k1]; //等于 k++; ch=READ.str[k]; } /* for(int j=0;j<=42;++j) printf("%d ",BUILD[j]); printf("\n"); system("pause");*/ //测试 i = 2; //方便复制代码 xue_yuan = BUILD[i++]; xmax_yuan = BUILD[i++]; g_yuan = BUILD[i++]; f_yuan = BUILD[i++]; xue = BUILD[i++]; xmax = BUILD[i++]; g = BUILD[i++]; money = BUILD[i++]; xep = BUILD[i++]; lv = BUILD[i++]; f = BUILD[i++]; hui_he = BUILD[i++]; face = BUILD[i++]; zi_ge = BUILD[i++]; yin_hang = BUILD[i++]; h = BUILD[i++]; jiu_dian = BUILD[i++]; da_gong = BUILD[i++]; Time = BUILD[i++]; //i=20; for (i = 21; i <= 23; ++i) k[i - 21] = BUILD[i]; for (i = 24; i <= 26; ++i) zhuang[i - 24] = BUILD[i]; for (i = 27; i <= 43; ++i) bag[i - 26] = BUILD[i]; //bag从1开始 f_yuan = f_yuan / 100.0; f = f / 100.0; } void Turn_on() { slowout("是否使用存档?(1是 / 2否)\n"); cin >> a; if (a == 1) { FILE *fp = fopen("C:\\歹徒逃亡\\play.txt", "r+"); char ch; ch = fgetc(fp); for (int i = 0; ch != EOF; ++i) { READ.str[i] = ch; ch = fgetc(fp); } fclose(fp); Build(); } else begin(); } int main() { system("cls"); system("color 70"); mkdir("C:\\歹徒逃亡");//XP系统可能会报错,可在运行一次后注释 for (int i = 1; i <= 20; i++) bag[i] = 0; int gxue, gg; double gf; srand((unsigned)time(NULL)); if (Have()) Turn_on(); else begin(); a1: Turn_off(); if (yin_hang != 0) hui_he++; if (jiu_dian != 0) money += 500; if (Time != 0) Time--; system("cls"); slowout("你要到哪里去?\n"); printf("1.大街 2.练兵场 3.市政府 4.整容店 5.银行 6.赌场 7.工厂 8.医院 9.酒店 10.状态 11.新手指引 0.退出\n"); cin >> a; if (face == 0 && a != 4 && a != 11 && a != 10 && a != 12 && a != 0) { printf("你看见了三名警卫机器人!\n"); Sleep(500); slowout("警卫机器人:“这不是M城来的歹徒吗?抓住他!”\n"); Sleep(500); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 3)) { slowout("你胜利了!\n"); slowout("获得 1000金币,600经验\n"); money += 1000; xep += 600; if (xep >= 500) ji(); } else goto a1; } if (a == 1) { ren = rand() % 10; if (ren == 0 || ren == 1 || ren == 2 || ren == 3) { printf("大街上来了一名路人\n"); gxue = 400; gg = 150; gf = 0.02; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { n = rand() % 2 + 1; if (_3zhandou(gxue, gg, gf, "路人", n, 1)) { slowout("你胜利了!\n"); slowout("获得 100金币,50经验\n"); money += 100; xep += 50; if (xep >= 500) ji(); } } goto a1; } else if (ren == 4 || ren == 5) { printf("你在大街上看见了一家店铺。\n"); cout << endl << "是否抢劫/购买?(1/2)"; cin >> b; if (b == 1) { slowout("老板:“快来警察呀!有人抢劫啦!”\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 2)) { slowout("你胜利了!\n"); int qian = rand() % 5 + 1; printf("抢到 %d金币\n", 200 * qian); money += 200 * qian; } } else if (b == 2) { slowout("老板:“你要买什么?”\n\n"); printf("你的金币:%d\n", money); int fen = 0, dong_xi = 0, dian = rand() % 3; if (dian == 0) { while (1) { printf("你的金币:%d\n", money); printf(" 1.手雷 250 金币 / 个\n"); printf(" 2.盾牌 300 金币 / 个\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; else if (dong_xi == 1) { if (money >= 250) { slowout("购买成功!\n"); money -= 250; bag[1]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 2) { if (money >= 300) { slowout("购买成功!\n"); money -= 300; bag[2]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } else if (dian == 1) { while (1) { printf("你的金币:%d\n", money); printf(" 1.小瓶攻击药水 500 金币 / 瓶\n"); printf(" 2.中瓶攻击药水 750 金币 / 瓶\n"); printf(" 3.大瓶攻击药水 1200 金币 / 瓶\n"); printf(" 4.小瓶增血药水 500 金币 / 瓶\n"); printf(" 5.中瓶增血药水 750 金币 / 瓶\n"); printf(" 6.大瓶增血药水 1200 金币 / 瓶\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; slowout("您买多少?\n"); cin >> fen; if (dong_xi == 1) { if (money >= 500 * fen) { slowout("购买成功!\n"); money -= 500 * fen; bag[3] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 2) { if (money >= 750 * fen) { slowout("购买成功!\n"); money -= 750 * fen; bag[4] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 3) { if (money >= 1200 * fen) { slowout("购买成功!\n"); money -= 1200 * fen; bag[5] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 4) { if (money >= 500 * fen) { slowout("购买成功!\n"); money -= 500 * fen; bag[6] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 5) { if (money >= 750 * fen) { slowout("购买成功!\n"); money -= 750 * fen; bag[7] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } if (dong_xi == 6) { if (money >= 1200 * fen) { slowout("购买成功!\n"); money -= 1200 * fen; bag[8] += fen; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } else if (dian == 2) { while (1) { printf("你的金币:%d\n", money); printf(" 1.钻石剑 1500 金币 / 把\n"); printf(" 2.武士刀 1800 金币 / 把\n"); printf(" 3.青龙偃月刀 2400 金币 / 把\n"); printf(" 4.回旋镖 2000 金币 / 把\n"); printf(" 5.火铳 3000 金币 / 把\n"); printf(" 0.退出\n\n\n"); slowout("您买什么?\n"); cin >> dong_xi; if (dong_xi == 0) break; else if (dong_xi == 1) { if (money >= 1500) { slowout("购买成功!\n"); money -= 1500; bag[9]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 2) { if (money >= 1800) { slowout("购买成功!\n"); money -= 1800; bag[10]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 3) { if (money >= 2400) { slowout("购买成功!\n"); money -= 2400; bag[11]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 4) { if (money >= 2000) { slowout("购买成功!\n"); money -= 2000; bag[12]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } else if (dong_xi == 5) { if (money >= 3000) { slowout("购买成功!\n"); money -= 3000; bag[13]++; slowout("老板:“还买点啥?”\n"); } else { slowout("老板:“没钱还买!走吧!”\n"); break; } } } } } } else if (ren == 5 || ren == 6) { printf("大街上来了一名警卫机器人!\n"); Sleep(1000); if (face == 0) slowout("警卫机器人:“这不是M城来的歹徒吗?抓住他!”\n"); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 1)) { slowout("你胜利了!\n"); slowout("获得 1000金币,600经验\n"); money += 1000; xep += 600; if (xep >= 500) ji(); } goto a1; } else if (ren == 7) { printf("大街上来了一辆装甲车!\n"); gxue = 2000; gg = 600; gf = 0.4; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "装甲车", 5, 1)) { slowout("你胜利了!\n"); slowout("获得 1200金币,800经验\n"); money += 1200; xep += 800; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这辆装甲车!\n"); bag[14]++; } if (xep >= 500) ji(); } } goto a1; } else if (ren == 8) { printf("大街上来了一辆坦克!\n"); gxue = 2750; gg = 700; gf = 0.5; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "坦克", 6, 1)) { slowout("你胜利了!\n"); slowout("获得 1500金币,1000经验\n"); money += 1500; xep += 1000; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这辆坦克!\n"); bag[15]++; } if (xep >= 500) ji(); } } goto a1; } else if (ren == 9) { printf("大街上来了一辆直升机!\n"); gxue = 3250; gg = 800; gf = 0.6; cout << endl << "是否攻击/逃跑?(1/2)"; cin >> b; Sleep(1000); if (b == 1) { if (_3zhandou(gxue, gg, gf, "直升机", 17, 1)) { slowout("你胜利了!\n"); slowout("获得 1800金币,1200经验\n"); money += 1800; xep += 1200; int car = rand() % 25; if (car == 0) { slowout("你也幸运地获取了这架直升机!\n"); bag[16]++; } if (xep >= 500) ji(); } } goto a1; } Sleep(1000); goto a1; } else if (a == 2) { if (k[0] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("你真的要进去?不要作死!进入/离开?(1/2)\n"); cin >> b; if (b == 1) { slowout("在大门口你就看见两名武装警察!\n是否闯入/离开?(1/2)\n"); gxue = 800; gg = 350; gf = 0.1; cin >> c; if (c == 1) { if (_3zhandou(gxue, gg, gf, "武装警察", 4, 2)) { slowout("你胜利了!\n"); slowout("回复200点血量!\n"); xue += 200; } slowout("你刚进入操场,就被两辆装甲车拦住了。\n"); slowout("士兵:“你是谁呀?别进入我们练兵场!吃我一炮!”\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 2)) { slowout("你胜利了!\n"); slowout("回复300点血量!\n"); xue += 300; } else goto a1; slowout("接着你看到了两辆直升机朝你飞来。你没有办法逃跑,只能与他们决战!\n"); gxue = 3250; gg = 850; gf = 0.6; if (_3zhandou(gxue, gg, gf, "直升机", 17, 2)) { slowout("你胜利了!\n"); slowout("回复450点血量!\n"); xue += 450; } else goto a1; slowout("刚刚打败了他们,整沾沾自喜。忽然你发现练兵场场长来了。\n"); slowout("练兵场场长:“不错呀小子,都能打到这里来了。不过我不会再让你闯下去!”\n"); slowout("练兵场场长说着就拿出魔杖,将两辆直升机进化成武装直升机了!\n"); gxue = 4500; gg = 1000; gf = 0.65; if (_3zhandou(gxue, gg, gf, "武装直升机", 18, 2)) { slowout("你胜利了!\n"); slowout("回复800点血量!\n"); xue += 800; } else goto a1; slowout("练兵场场长:“什么!?这都不怕!?好吧,只能我亲自来与你决战了!”\n"); gxue = 6000; gg = 1100; gf = 0.6; if (_3zhandou(gxue, gg, gf, "练兵场场长", 16, 1)) { slowout("你胜利了!获得了一架武装直升机!\n"); bag[17]++; k[0] = 1; zi_ge++; slowout("获得8000金币,2000经验\n"); money += 5000; xep += 2000; if (xep >= 500) ji(); } } } Sleep(1000); goto a1; } else if (a == 3) { if (zi_ge == 3) { slowout("你真的要进去/离开?(1/2)\n"); cin >> b; if (b == 1) { slowout("你谨慎地推开大门,却发现并没有什么异样,跟普通的大楼没什么区别。\n"); slowout("“怎么会这样呢?市政府的防守不应该很严密吗?”你正疑惑着。\n"); slowout("突然你看见了三名武装警察!\n"); gxue = 800; gg = 350; gf = 0.1; if (_3zhandou(gxue, gg, gf, "武装警察", 4, 3)) { slowout("你胜利了!\n"); slowout("回复200点血量!\n"); xue += 200; } slowout("你来到市长办公室... ... ... ... ... ... ... ... ... ...\n"); slowout("突然,市长出来了!\n"); slowout("市长:“你以为我们认不出你?错,你的DNA早就被我们提取了!”\n"); slowout("士兵们,上!!\n"); slowout("你看见了三辆装甲车!\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 3)) { slowout("你胜利了!\n"); slowout("回复1000点血量!\n"); xue += 1000; } else goto a1; slowout("市长:“我还有坦克!”\n"); gxue = 2750; gg = 700; gf = 0.5; if (_3zhandou(gxue, gg, gf, "坦克", 6, 2)) { slowout("你胜利了!\n"); slowout("回复1500点血量!\n"); xue += 1500; } slowout("市长:“这... ... ... 直升机,来吧!”\n"); slowout("接着你看到了两辆直升机朝你飞来。你没有办法逃跑,只能与他们决战!\n"); gxue = 3500; gg = 825; gf = 0.6; if (_3zhandou(gxue, gg, gf, "直升机", 17, 2)) { slowout("你胜利了!\n"); slowout("回复2000点血量!\n"); xue += 2000; } else goto a1; slowout("你正高兴,市长却将直升机进化成武装直升机!!!\n"); gxue = 4500; gg = 1000; gf = 0.65; if (_3zhandou(gxue, gg, gf, "武装直升机", 18, 2)) { slowout("你胜利了!\n"); slowout("回复2500点血量!\n"); xue += 2500; } else goto a1; slowout("市长:“我…………我要与你决战!”\n"); gxue = 30000; gg = 600; gf = 0.5; if (_3zhandou(gxue, gg, gf, "市长", 19, 1)) { slowout("你胜利了!\n"); slowout("已占领市政府!任务完成!\n"); slowout("自然地,请查看后续剧情…………\n"); Sleep(5000); system("cls"); slowout("3000年2月5日\n"); slowout("VT市\n"); slowout("总统:“呵呵呵将军,你的任务失败了,打算怎么挽回?”\n"); slowout("呵呵呵将军:“已派遣全球力量,势必将其拿下!”\n"); Sleep(2000); slowout("《歹徒逃亡》4 ——决战首都 敬请期待!\n"); Turn_off(); return 0; } else goto a1; } goto a1; } else slowout("你没有资格进入市政局!!!\n"); Sleep(1000); goto a1; } else if (a == 4) { slowout("整容师:“你要整容吗?花费1000金币。”整容/离开?(1/2)\n"); cin >> b; if (b == 1) { if (money >= 1000) { money -= 1000; slowout("整容中…………\n"); slowout("整容中…………\n"); slowout("整容中…………\n"); slowout("整容成功!\n"); face = 1; } else slowout("整容师:“钱不够还来!? 快走吧!”\n"); } Sleep(1000); goto a1; } else if (a == 5) { slowout("你要干什么?办业务/抢劫(1/2)\n"); cin >> b; if (b == 1) { slowout("服务员:“您需要什么服务吗?”。存钱/取钱(1/2)\n"); cin >> c; if (c == 1) { if (yin_hang != 0) { slowout("服务员:“业务正在办理,目前无法存钱。”\n"); goto a1; } slowout("服务员:“您要存多少?”\n\n"); printf(" 金额 利润率 回合\n"); printf("1. 1000元 2%% 2回合\n"); printf("2. 2500元 4%% 4回合\n"); printf("3. 5000元 6%% 6回合\n"); printf("4. 10000元 8%% 8回合\n"); printf("5. 25000元 10%% 10回合\n"); printf("6. 退出\n"); cin >> d; if (d == 1) { if (money >= 1000) { money -= 1000; yin_hang = 1040; hui_he = 0; h = 2; } else slowout("钱不够!\n"); } else if (d == 2) { if (money >= 2500) { money -= 2500; yin_hang = 2900; hui_he = 0; h = 4; } else slowout("钱不够!\n"); } else if (d == 3) { if (money >= 5000) { money -= 5000; yin_hang = 6800; hui_he = 0; h = 6; } else slowout("钱不够!\n"); } else if (d == 4) { if (money >= 10000) { money -= 10000; yin_hang = 16400; hui_he = 0; h = 8; } else slowout("钱不够!\n"); } else if (d == 5) { if (money >= 25000) { money -= 25000; yin_hang = 50000; hui_he = 0; h = 10; } else slowout("钱不够!\n"); } } else if (c == 2) { if (hui_he < h) slowout("时间未到!\n"); else { slowout("可以取钱~\n"); money += yin_hang; yin_hang = 0; hui_he = 0; } } } else if (b == 2) { slowout("服务员:“快来警察呀!有人抢劫啦!”\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); int qian = rand() % 5 + 1; printf("抢到 %d金币\n", 500 * qian); money += 500 * qian; } } Sleep(1000); goto a1; } else if (a == 6) { slowout("赌场是一个可以快速致富的地方。\n"); slowout("请选择你要玩的游戏。\n"); printf("1.掷骰子\n"); printf("2.比押金\n"); printf("0.退出\n"); cin >> b; if (b == 1) { int m = 0, AIdu = 0, PCdu = 0; slowout("你要付多少赌金?\n"); cin >> m; if (money < m) { slowout("钱不够!\n"); goto a1; } Sleep(2000); PCdu = rand() % 6 + 1; AIdu = rand() % 6 + 1; if (PCdu < AIdu) { slowout("对不起您输了,赌金扣光!\n"); money -= m; } if (PCdu > AIdu) { slowout("恭喜您赢了,赌金双倍!\n"); money += m; } if (PCdu == AIdu) { slowout("平局。\n"); } } else if (b == 2) { int m = 0; slowout("你要付多少赌金?\n"); cin >> m; if (money < m) { slowout("钱不够!\n"); goto a1; } Sleep(2000); int bi = rand() % 3 + 1, AI = 5000 * bi; if (m > AI) { slowout("恭喜您赢了,获得对方赌金!\n"); money += AI; } else { slowout("对不起您输了,赌金扣光!\n"); money -= m; } } Sleep(1000); goto a1; } else if (a == 7) { slowout("您是要打工还是搞破坏?(1/2)\n"); cin >> b; if (b == 1) { if (Time == 0) { da_gong = 0; da_gong = dagong(); printf("你获得%d元!", 200 * da_gong); money += 200 * da_gong; Time = 3; } else slowout("工厂关门!"); } else if (b == 2) { if (k[1] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("厂长:“有人要搞破坏呀!”\n"); slowout("三名警察向你走来!\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); slowout("加血200滴!\n"); xue += 200; } else goto a1; slowout("厂长:“新鲜出炉的装甲车,快上!”\n"); gxue = 2000; gg = 600; gf = 0.4; if (_3zhandou(gxue, gg, gf, "装甲车", 5, 2)) { slowout("你胜利了!\n"); slowout("加血500滴!\n"); xue += 500; } slowout("厂长:“蛤?魔法师,快给我上!”\n"); gxue = 1500; gg = 450; gf = 0.3; if (_3zhandou(gxue, gg, gf, "魔法师", 11, 1)) { slowout("你胜利了!\n"); slowout("加血750滴!\n"); xue += 750; } else goto a1; slowout("厂长:“我,我跟你拼了!”\n"); gxue = 3000; gg = 600; gf = 0.45; if (_3zhandou(gxue, gg, gf, "厂长", 11, 1)) { slowout("你胜利了!\n"); slowout("获得3000金币,1000经验……………………\n"); slowout("…………和一辆坦克!\n"); money += 3000; xep += 1000; bag[15]++; zi_ge++; k[1] = 1; if (xep >= 500) ji(); } else goto a1; } Sleep(1000); goto a1; } else if (a == 8) { slowout("欢迎光临医院,你要疗伤吗?(1/2)\n"); cin >> b; if (b == 1) { if (xue == xmax) { slowout("你很健康,无需治疗。\n"); } else { printf("需要%d金币。\n", xmax - xue); if (money < xmax - xue) printf("钱不够!\n"); else { money -= xmax - xue; xue = xmax; } } } Sleep(1000); goto a1; } else if (a == 9) { if (k[2] != 0) { slowout("你已经占领此地了。\n"); goto a1; } slowout("你来到酒店,发现不少人都无法无章。\n"); slowout("身为歹徒的你,也看不下去了。\n"); slowout("你来到办公室,想找他们讨论一下。\n"); slowout("谁曾想三个保安冲来了!\n"); gxue = 500; gg = 250; gf = 0.05; if (_3zhandou(gxue, gg, gf, "警察", 3, 3)) { slowout("你胜利了!\n"); slowout("回复300点血量!\n"); xue += 300; } else goto a1; slowout("酒店老板:“你是什么人?\n警卫机器人,快上!”\n"); gxue = 1500; gg = 300; gf = 0.3; if (_3zhandou(gxue, gg, gf, "警卫机器人", 17, 2)) { slowout("你胜利了!\n"); slowout("回复800点血量!\n"); xue += 800; } else goto a1; printf("%s", name); slowout(":“我只是想提醒你们,整改一下酒店风气,别那么紧张。”\n"); slowout("酒店老板:“好吧,你只要能打败我,我就让你接替我!”\n"); gxue = 5000; gg = 900; gf = 0.6; if (_3zhandou(gxue, gg, gf, "酒店老板", 17, 1)) { slowout("你胜利了!\n"); slowout("获得3000金币,1000经验!并每回合收获500金币!\n"); xue = xmax; money += 3000; xep += 1000; k[2] = 1; zi_ge++; if (xep >= 500) ji(); } Sleep(1000); goto a1; } else if (a == 10) { b1: system("cls"); printf("------------------- 歹徒 %s 的状态 -------------------\n", name); printf(" \n"); printf(" 姓名 %s \n", name); printf(" 金币 %d \n", money); printf(" 血量 %d \n", xue); printf(" 血量上限 %d \n", xmax); printf(" 攻击 %d \n", g); printf(" 等级 %d \n", lv); printf(" 经验 %d 还有%d经验升级 \n", xep, 500 - xep); printf(" 防御 %.0lf%% \n", 100.0 * f); printf(" \n"); printf(" \n"); printf(" 副手 "); if (zhuang[0] == 0) printf("无\n"); else if (zhuang[0] == 1) printf("手雷\n"); else if (zhuang[0] == 2) printf("盾牌\n"); printf(" 武器 "); if (zhuang[1] == 0) printf("无\n"); else if (zhuang[1] == 9) printf("钻石剑\n"); else if (zhuang[1] == 10) printf("武士刀\n"); else if (zhuang[1] == 11) printf("青龙偃月刀\n"); else if (zhuang[1] == 12) printf("回旋镖\n"); else if (zhuang[1] == 13) printf("火铳\n"); printf(" 载具 "); if (zhuang[2] == 0) printf("无\n"); else if (zhuang[2] == 14) printf("装甲车\n"); else if (zhuang[2] == 15) printf("坦克\n"); else if (zhuang[2] == 16) printf("直升机\n"); else if (zhuang[2] == 17) printf("武装直升机\n"); printf(" \n"); printf("------------------------------------------------------\n\n\n"); printf("-----------------------你的物品-----------------------\n"); printf(" \n"); printf("1. 手雷 %d \n", bag[1]); printf("2. 盾牌 %d \n", bag[2]); printf("3. 小瓶攻击药水 %d \n", bag[3]); printf("4. 中瓶攻击药水 %d \n", bag[4]); printf("5. 大瓶攻击药水 %d \n", bag[5]); printf("6. 小瓶增血药水 %d \n", bag[6]); printf("7. 中瓶增血药水 %d \n", bag[7]); printf("8. 大瓶增血药水 %d \n", bag[8]); printf("9. 钻石剑 %d \n", bag[9]); printf("10. 武士刀 %d \n", bag[10]); printf("11. 青龙偃月刀 %d \n", bag[11]); printf("12. 回旋镖 %d \n", bag[12]); printf("13. 火铳 %d \n", bag[13]); printf("14. 装甲车 %d \n", bag[14]); printf("15. 坦克 %d \n", bag[15]); printf("16. 直升机 %d \n", bag[16]); printf("17. 武装直升机 %d \n", bag[17]); printf("0. 退出\n\n\n"); printf("你要使用什么?\n"); cin >> b; if (bag[b] == 0 && b != 0) { slowout("你没有这玩意!"); goto b1; } if (b == 1) { printf("该副手增加200攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[0] != 0) bag[zhuang[0]]++; zhuang[0] = b; bag[b]--; g = g_yuan; g += 200; } } else if (b == 2) { printf("该副手增加10防御,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[0] != 0) bag[zhuang[0]]++; zhuang[0] = b; bag[b]--; f = f_yuan; f += 0.1; } } else if (b == 3) { printf("该药水增加10攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[3]--; g_yuan += 10; g += 10; } } } else if (b == 4) { printf("该药水增加25攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[4]--; g_yuan += 25; g += 25; } } } else if (b == 5) { printf("该药水增加40攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[5]--; g_yuan += 40; g += 40; } } } else if (b == 6) { printf("该药水增加50血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[6]--; xue_yuan += 50; xmax_yuan += 50; xue += 50; xmax += 50; } } } else if (b == 7) { printf("该药水增加200血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[7]--; xue_yuan += 200; xmax_yuan += 200; xue += 200; xmax += 200; } } } else if (b == 8) { printf("该药水增加500血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { printf("用多少?"); cin >> d; if (d > bag[b]) { printf("不够!\n"); Sleep(1000); goto a1; } for (int i = 1; i <= d; ++i) { bag[8]--; xue_yuan += 500; xmax_yuan += 500; xue += 500; xmax += 500; } } } else if (b == 9) { printf("该武器增加50攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 50; } } else if (b == 10) { printf("该武器增加75攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 75; } } else if (b == 11) { printf("该武器增加100攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 100; } } else if (b == 12) { printf("该武器增加150攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 150; } } else if (b == 13) { printf("该武器增加250攻击,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[1] != 0) bag[zhuang[1]]++; zhuang[1] = b; bag[b]--; g = g_yuan; g += 250; } } else if (b == 14) { printf("该载具增加400防御,1000攻击,2000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.4; g += 1000; xue += 2000; xmax += 2000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 15) { printf("该载具增加500防御,1500攻击,2750血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.5; g += 1500; xue += 2750; xmax += 2750; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 16) { printf("该载具增加600防御,2250攻击,3000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.6; g += 2250; xue + 3000; xmax += 3000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } else if (b == 17) { printf("该载具增加650防御,2500攻击,4000血量,是否使用?(1/2)\n"); cin >> c; if (c == 1) { if (zhuang[2] != 0) bag[zhuang[2]]++; zhuang[2] = b; bag[b]--; xue = xue_yuan; xmax = xmax_yuan; g = g_yuan; f = f_yuan; f += 0.65; g += 2500; xue += 4000; xmax += 4000; if (zhuang[0] == 1) g += 200; else if (zhuang[0] == 2) f += 0.1; } } Sleep(1000); goto a1; } else if (a == 11) { slowout("A城的军事力量远超过国防部,不要在大街上欺负每一个行人。\n"); slowout("还有,你的开挂系统也没了。(作者前两部都开了外挂打,觉得很没意思!)\n"); slowout("重点是A城很发达,每个重地都有警卫机器人防守,况且他们都有魔法!\n"); slowout("还有,你可能会面临一个人对抗多个敌人的情况!\n"); slowout("请注意,规范输入!\n"); slowout("你最好在他们联网抓住你之前完成刺杀行动,拿到机器人控制权。\n\n\n"); slowout(" 祝你好运!\n\n"); slowout(" 这是作者为你编写的新手指引\n"); system("pause"); goto a1; } else if (a == 0) { Turn_off(); return 0; } else goto a1; }
哈哈!
-
最近活动
- 铁外初级组四月份作业 作业
- 【oiClass公益赛】2025CSP-J模拟赛#15 OI
- 【oiClass公益赛】2025CSP-J模拟赛#13 OI
- 【oiClass公益赛】2025CSP-J模拟赛#11 OI
- 【oiClass公益赛】2025CSP-J模拟赛#10 OI
- 【oiClass公益赛】2025CSP-J模拟赛#09 OI
- 【oiClass公益赛】2025CSP-J模拟赛#07 OI
- 【oiClass公益赛】2025CSP-J模拟赛#06 OI
- 【oiClass公益赛】2025CSP-J模拟赛#05 OI
- 【oiClass公益赛】2025CSP-J模拟赛#04 OI
- 【oiClass公益赛】2025CSP-J模拟赛#03 OI
- 【oiClass公益赛】2025CSP-J模拟赛#02 OI
- 【oiClass公益赛】2025CSP-J模拟赛#01 OI
- 第五届oiClass信息学夏令营线上正式邀请赛3 OI
- 第五届oiClass信息学夏令营线上正式邀请赛2 OI
- 第五届oiClass信息学夏令营线上正式邀请赛1 OI
- 第五届oiClass信息学夏令营线上模拟测试1 OI
- 第五届oiClass信息学夏令营day8作业-for循环专题练习2 作业
- 第五届oiClass信息学夏令营day7作业-for循环专题练习1 作业
- 第五届oiClass信息学夏令营线上模拟测试4 OI
- 第五届oiClass信息学夏令营day21作业-二维数组和二维字符数组 作业
- 第五届oiClass信息学夏令营day19作业-数组与递推算法 作业
- 第五届oiClass信息学夏令营day18作业-普通排序和桶排序 作业
- 第五届oiClass信息学夏令营day17作业-数组标记的应用 作业
- 第五届oiClass信息学夏令营线上模拟测试3 OI
- 第五届oiClass信息学夏令营day15作业-字符、字符数组和字符串 作业
- 第五届oiClass信息学夏令营day14作业-一维数组基础 作业
- 第五届oiClass信息学夏令营day13作业-循环专题练习 作业
- 第五届oiClass信息学夏令营day12作业-多重循环 作业
- 第五届oiClass信息学夏令营day11作业-while2 作业
- 第五届oiClass信息学夏令营day10作业-while1 作业
- 第五届oiClass信息学夏令营day1作业-C++程序结构 作业
- 2024春季线上班class13、差值动态规划的应用 作业
- 2024春季线上班class15-期末测试 OI
- 2024春季线上班class11、动态规划的综合应用 作业
- 2024春季线上班class10、倍增-ST算法 课后作业 作业
- 2024春季线上班class10、倍增-ST算法 随堂练习 作业
- 2024春季线上班class9、区间型动态规划2-区间合并 课后作业 作业
- 2024春季线上班class9、区间型动态规划2-区间合并 随堂练习 作业
- 2024春季线上班class7、背包型动态规划2课后作业 作业
- 2024春季线上班class7、背包型动态规划2随堂练习 作业
- 2024春季线上班class6、背包型动态规划1课后作业 作业
- 2024春季线上班class6、背包型动态规划1随堂练习 作业
- 2024春季线上班class4、最长公共子序列课后作业 作业
- 2024春季线上班class4、最长公共子序列随堂练习 作业
- 2024春季线上班class3、二维动规课后作业 作业
- 2024春季线上班class3、二维动规随堂练习 作业
- 2024春季线上班class2、最长不下降子序列课后作业 作业
- 2024春季线上班class2、最长不下降子序列随堂练习 作业
- 2024春季线上班class1、一维动规课后练习 作业
- 2024春季线上班class1、一维动规随堂练习 作业
- 【oiClass公益赛】2024CSP-J模拟赛#03 OI
- 【oiClass公益赛】2024CSP-J模拟赛#02 OI
- 2023年秋季营结营测试 OI
- 2023年秋季营lesson15作业-深度优先搜索算法2 作业
- 2023学年秋季班_模拟测试10 OI
- 2023年秋季营lesson14作业-深度优先搜索算法1 作业
- 2023年秋季营lesson13作业-递归算法2 作业
- 2023学年秋季班_模拟测试09 OI
- 2023学年秋季班_模拟测试08 OI
- 2023年秋季营lesson12作业-递归算法1 作业
- 2023年秋季营lesson11作业-阶段测试2(仅供改题) 作业
- 2023年秋季营lesson10作业2-队 作业
- 2023年秋季营lesson10作业1-栈 作业
- 2023年秋季营阶段测试2 OI
- 2023学年秋季班_模拟测试07 OI
- 2023年秋季营lesson9作业2-差分前缀和 作业
- 2023年秋季营lesson9作业1-递推算法 作业
- 2023学年秋季班_模拟测试06 OI
- 2023年秋季营lesson8作业-指针&贪心 作业
- 2023学年秋季班_模拟测试05 OI
- 2023年秋季营lesson7作业-位运算 作业
- 2023年秋季营lesson6作业-进制转换 作业
- 2023年秋季营阶段测试1 OI
- 【oiClass公益赛】2023CSPJ模拟赛#10 OI
- 【oiClass公益赛】2023CSPJ模拟赛#09 OI
- 【oiClass公益赛】2023CSPJ模拟赛#08 OI
- 【oiClass公益赛】2023CSPJ模拟赛#07 OI
- 【oiClass公益赛】2023CSPJ模拟赛#06 OI
- 【oiClass公益赛】2023CSPJ模拟赛#05 OI
- 【oiClass公益赛】2023CSPJ模拟赛#04 OI
- 【oiClass公益赛】2023CSPJ模拟赛#03 OI
- 【oiClass公益赛】2023CSPJ模拟赛#02 OI
- 2023学年秋季班_模拟测试04 OI
- 2023年秋季营lesson4作业-排序&枚举 作业
- 第五届oiClass信息学夏令营day22作业-结构体和函数 作业
- 夏令营模拟测试-04 OI
- 夏令营day18作业-一维数组3 作业
- 2023年第四届oiClass夏令营线上选拔赛 OI
- 夏令营day17作业-一维数组2 作业
- 夏令营day16作业-一维数组1 作业
- 新初一夏令营day7作业-while语句1 作业
- 第五届oiClass信息学夏令营day6作业-for语句3 作业
-
Stat
-
Rating