茫然ing
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
注意不要站在炸弹上,会承受四倍伤害
玩家一 ↑ ↓←→ 控制移动 [回车] 放炸弹
玩家二 w s a d 控制移动 [空格] 放炸弹
∷ 增加炸弹数量
▓ 增加炸弹威力
※ 减短炸弹引线
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>const int M = 1e3 + 5;
int wall[15][15] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},{0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1},{0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},{0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1},{0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},{0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1},{0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1},{0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},{0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1},{0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},{0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1},{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}};
int block[15][15] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0},{0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0},{0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0},{0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0},{0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0},{0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0},{0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0},{0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
int thing[M][M];
int num, start;void stop() {while(true) {system("pause");}
}struct player{int x, y;int bown;int nom_bown;int time;int life;int fire;
}a[M];struct bown{int x, y;int time;int from;
}b[M];bool bow(int x, int y) {for(int i = start; i <= num && num != 0; i ++) {if(b[i].x == x && b[i].y == y) return true;}return false;
}int main() {srand((unsigned)time(0));a[1].life = 20;a[2].life = 20;a[1].fire = 1;a[2].fire = 1;a[1].bown = 1;a[2].bown = 1;a[1].x = 13;a[1].y = 2;a[2].x = 2;a[2].y = 13;a[1].time = 2000;a[2].time = 2000;while(a[1].life > 0 && a[2].life > 0) {for(int i = 1; i <= 14; i ++) {for(int j = 1; j <= 14; j ++) {if(wall[i][j] == 1) printf("■");else if(block[i][j] == 1) printf("☆");else if(a[1].x == i && a[1].y == j) printf("①");else if(a[2].x == i && a[2].y == j) printf("②");else if(bow(i, j)) printf("●");else if(thing[i][j] == 1) printf("∷");else if(thing[i][j] == 2) printf("▓");else if(thing[i][j] == 3) printf("※");else if(thing[i][j] == 4) printf("◆");else printf(" ");}puts("");}printf("玩家一 生命值 %d %d● %d级炸弹 爆炸时间 %dms\n", a[1].life, a[1].bown - a[1].nom_bown, a[1].fire, a[1].time);printf("玩家二 生命值 %d %d● %d级炸弹 爆炸时间 %dms\n", a[2].life, a[2].bown - a[2].nom_bown, a[2].fire, a[2].time);if(kbhit()){char c = getch();if(c == -32) {c = getch();if(c == 72 && block[a[1].x - 1][a[1].y] == 0 && wall[a[1].x - 1][a[1].y] == 0 && bow(a[1].x - 1, a[1].y) == false) {-- a[1].x;}if(c == 80 && block[a[1].x + 1][a[1].y] == 0 && wall[a[1].x + 1][a[1].y] == 0 && bow(a[1].x + 1, a[1].y) == false) {++ a[1].x;}if(c == 75 && block[a[1].x][a[1].y - 1] == 0 && wall[a[1].x][a[1].y - 1] == 0 && bow(a[1].x, a[1].y - 1) == false) {-- a[1].y;}if(c == 77 && block[a[1].x][a[1].y + 1] == 0 && wall[a[1].x][a[1].y + 1] == 0 && bow(a[1].x, a[1].y + 1) == false) {++ a[1].y;}}if(c == 'w' && block[a[2].x - 1][a[2].y] == 0 && wall[a[2].x - 1][a[2].y] == 0 && bow(a[2].x - 1, a[2].y) == false) {-- a[2].x;}if(c == 's' && block[a[2].x + 1][a[2].y] == 0 && wall[a[2].x + 1][a[2].y] == 0 && bow(a[2].x, a[2].y + 1) == false) {++ a[2].x;}if(c == 'a' && block[a[2].x][a[2].y - 1] == 0 && wall[a[2].x][a[2].y - 1] == 0 && bow(a[2].x, a[2].y - 1) == false) {-- a[2].y;}if(c == 'd' && block[a[2].x][a[2].y + 1] == 0 && wall[a[2].x][a[2].y + 1] == 0 && bow(a[2].x, a[2].y + 1) == false) {++ a[2].y;}if(c == 13 && a[1].nom_bown < a[1].bown) {++ num;b[num].x = a[1].x;b[num].y = a[1].y;b[num].time = clock() + a[1].time;b[num].from = 1;++ a[1].nom_bown;}if(c == ' ' && a[2].nom_bown < a[2].bown) {++ num;b[num].x = a[2].x;b[num].y = a[2].y;b[num].time = clock() + a[2].time;b[num].from = 2;++ a[2].nom_bown;}}for(int i = start; i <= num; i ++) {if(clock() >= b[i].time) {++ start;-- a[b[i].from].nom_bown;for(int j = b[i].x; j <= b[i].x + a[b[i].from].fire; j ++){thing[j][b[i].y] = 0;if(wall[j][b[i].y] == true) break;if(block[j][b[i].y] == true) {block[j][b[i].y] = false;thing[j][b[i].y] = rand() % 5;break;}if(a[1].x == j && a[1].y == b[i].y) a[1].life -= a[b[i].from].fire;if(a[2].x == j && a[2].y == b[i].y) a[2].life -= a[b[i].from].fire;}for(int j = b[i].x; j >= b[i].x - a[b[i].from].fire; j --){thing[j][b[i].y] = 0;if(wall[j][b[i].y] == true) break;if(block[j][b[i].y] == true) {block[j][b[i].y] = false;thing[j][b[i].y] = rand() % 5;break;}if(a[1].x == j && a[1].y == b[i].y) a[1].life -= a[b[i].from].fire;if(a[2].x == j && a[2].y == b[i].y) a[2].life -= a[b[i].from].fire;}for(int j = b[i].y; j <= b[i].y + a[b[i].from].fire; j ++){thing[b[i].x][j] = 0;if(wall[b[i].x][j] == true) break;if(block[b[i].x][j] == true) {block[b[i].x][j] = false;thing[b[i].x][j] = rand() % 5;break;}if(a[1].x == b[i].x && a[1].y == j) a[1].life -= a[b[i].from].fire;if(a[2].x == b[i].x && a[2].y == j) a[2].life -= a[b[i].from].fire;}for(int j = b[i].y; j >= b[i].y - a[b[i].from].fire; j --){thing[b[i].x][j] = 0;if(wall[b[i].x][j] == true) break;if(block[b[i].x][j] == true) {block[b[i].x][j] = false;thing[b[i].x][j] = rand() % 5;break;}if(a[1].x == b[i].x && a[1].y == j) a[1].life -= a[b[i].from].fire;if(a[2].x == b[i].x && a[2].y == j) a[2].life -= a[b[i].from].fire;}}}if(thing[a[1].x][a[1].y] == 1) {thing[a[1].x][a[1].y] = 0;++ a[1].bown;}if(thing[a[1].x][a[1].y] == 2) {thing[a[1].x][a[1].y] = 0;++ a[1].fire;}if(thing[a[2].x][a[2].y] == 1) {thing[a[2].x][a[2].y] = 0;++ a[2].bown;}if(thing[a[2].x][a[2].y] == 2) {thing[a[2].x][a[2].y] = 0;++ a[2].fire;}if(thing[a[1].x][a[1].y] == 3) {thing[a[1].x][a[1].y] = 0;a[1].time -= a[1].time >= 500 ? 150 : 0;}if(thing[a[2].x][a[2].y] == 3) {thing[a[2].x][a[2].y] = 0;a[2].time -= a[2].time >= 500 ? 150 : 0;}if(thing[a[1].x][a[1].y] == 4) {thing[a[1].x][a[1].y] = 0;a[1].life += 5;}if(thing[a[2].x][a[2].y] == 4) {thing[a[2].x][a[2].y] = 0;a[2].life += 5;}Sleep(5);system("cls");}if((a[1].life || a[2].life ) == 0) {printf("一虎杀两羊\n");stop();return 0; }if(a[1].life > 0) {printf("二号在轰的一声巨响中消失了\n");stop();return 0;}printf("一号已升天\n"); stop();return 0;
}