失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > fighter(1.0)

fighter(1.0)

时间:2020-06-30 15:44:14

相关推荐

fighter(1.0)

最近写了一个战斗机的游戏

此处特别鸣谢蒟蒻尹对本游戏的大力支持

#include <bits/stdc++.h>#include <iostream>#include <stdio.h>#include <cstdlib>#include <conio.h>#include "windows.h"#pragma GCC optimize(3)#pragma GCC optimize(2)using namespace std;const int row = 26+12;const int col = 18*2;struct enemy {int x,y;bool life;} enemy[1000];int enemy_top=1;int tim_fire;int tim_enemy_making;bool v[row][col];int Map[row][col] = {// 0 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 27 28 29 30 31 32 33 34 35{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, 8, 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, 0, 0, 0, 0},// 1{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, 0, 0},// 2{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, 0, 0},// 3{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, 0, 0},// 4{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, 0, 0},// 5{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, 0, 0},// 6{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, 0, 0},// 7{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, 0, 0},// 8{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, 0, 0},// 9{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, 0, 0},//10{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, 0, 0},//11{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, 0, 0},//12{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, 0, 0},//13{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, 0, 0},//14{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, 0, 0},//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, 0, 0},//16{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, 0, 0},//17{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, 0, 0},//18{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, 0, 0},//19{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, 0, 0},//20{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, 0, 0},//21{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, 0, 0},//22{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, 0, 0},//23{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, 0, 0},//24{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, 0, 0},//25{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, 0, 0},//26{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, 0, 0},//27{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, 0, 0},//28{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, 0, 0},//29{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, 0, 0},//30{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, 0, 0},//31{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, 0, 0},//32{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, 0, 0},//33{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, 0, 0},//34{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, 0, 0},//35{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, 0, 0},//36{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, 0, 0},//37};int p_x=17,p_y=9; //玩家的坐标 map[p_x][p_y];void hide_cursor() {HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);//获取控制台光标信息CursorInfo.bVisible = false; //隐藏控制台光标SetConsoleCursorInfo(handle, &CursorInfo);//设置控制台光标状态}void color (string ss) {if(ss=="RED")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);if(ss=="BLU")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 1);if(ss=="GRE")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);if(ss=="YEL")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);if(ss=="PUR")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5);if(ss=="WHI")SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_RED);}bool check(int x,int y) {if(x>=0&&y>=0&&x<=37&&y<=35) return true;return false;}void move(int x_mov,int y_mov) { //玩家坐标位移p_x+=x_mov,p_y+=y_mov;}void fire(int p_x,int p_y) {int now_fire=time(0);if(tim_fire==0||now_fire-tim_fire>=1) {Map[p_x-1][p_y]=8;Map[p_x-1][p_y+1]=8;tim_fire=now_fire;}}void player_step() { //位移操作Map[p_x][p_y]=0;Map[p_x][p_y+1]=0;Map[p_x+1][p_y+1]=0;Map[p_x+1][p_y]=0;//Map[p_x+1][p_y-1]=0;Map[p_x+1][p_y-2]=0;//Map[p_x+1][p_y+2]=0;Map[p_x+1][p_y+3]=0;Map[p_x+2][p_y+3]=0;Map[p_x+2][p_y+4]=0;Map[p_x+2][p_y+5]=0;Map[p_x+2][p_y+6]=0;Map[p_x+2][p_y+2]=0;Map[p_x+2][p_y+1]=0;Map[p_x+2][p_y]=0;Map[p_x+2][p_y-1]=0;Map[p_x+2][p_y-3]=0;Map[p_x+2][p_y-4]=0;Map[p_x+2][p_y-5]=0;Map[p_x+2][p_y-2]=0;//Map[p_x+3][p_y]=0;//Map[p_x+3][p_y+1]=0;Map[p_x+3][p_y+2]=0;Map[p_x+3][p_y-1]=0;Map[p_x+4][p_y]=0;Map[p_x+4][p_y+1]=0;Map[p_x+4][p_y-1]=0;Map[p_x+4][p_y+2]=0;Map[p_x+4][p_y+3]=0;Map[p_x+4][p_y+4]=0;Map[p_x+4][p_y-2]=0;Map[p_x+4][p_y-3]=0;if(GetKeyState(VK_UP) < 0&&p_x-1>=0) {move(-1, 0);}if(GetKeyState(VK_DOWN ) < 0&&p_x+1<=33) {move( 1, 0);}if(GetKeyState(VK_LEFT) < 0&&p_y-1>=5) {move( 0,-1);}if(GetKeyState(VK_RIGHT) < 0&&p_y+1<=29) {move( 0, 1);}if(GetKeyState(' ') < 0) {fire(p_x,p_y);}Map[p_x][p_y]=2;Map[p_x][p_y+1]=2;Map[p_x+1][p_y+1]=1;Map[p_x+1][p_y]=1;//Map[p_x+1][p_y-1]=7;Map[p_x+1][p_y-2]=1;//Map[p_x+1][p_y+2]=7;Map[p_x+1][p_y+3]=1;Map[p_x+2][p_y+3]=1;Map[p_x+2][p_y+4]=3;Map[p_x+2][p_y+5]=3;Map[p_x+2][p_y+6]=3;Map[p_x+2][p_y+2]=3;Map[p_x+2][p_y+1]=3;Map[p_x+2][p_y]=3;Map[p_x+2][p_y-1]=3;Map[p_x+2][p_y-3]=3;Map[p_x+2][p_y-4]=3;Map[p_x+2][p_y-5]=3;Map[p_x+2][p_y-2]=1;//Map[p_x+3][p_y]=7;//Map[p_x+3][p_y+1]=7;Map[p_x+3][p_y+2]=1;Map[p_x+3][p_y-1]=1;Map[p_x+4][p_y]=3;Map[p_x+4][p_y+1]=3;Map[p_x+4][p_y-1]=1;Map[p_x+4][p_y+2]=1;Map[p_x+4][p_y+3]=3;Map[p_x+4][p_y+4]=3;Map[p_x+4][p_y-2]=3;Map[p_x+4][p_y-3]=3;}//puts(" || ");//puts(" | || | ");//puts(" ===|====|=== ");//puts(" | | ");//puts("==|==|==");//puts("");//puts("");void enemy_check(int e_x,int e_y,int id,int cor) {if(Map[e_x][e_y]==8) {enemy[id].life=false;return ;}if(check(e_x,e_y)&&Map[e_x][e_y]>=1&&Map[e_x][e_y]<=3) exit(0);Map[e_x][e_y]=cor;}void enemy_clear(int e_x,int e_y) {if(v[e_x][e_y])Map[e_x][e_y]=0;if(v[e_x][e_y+1])Map[e_x][e_y+1]=0;if(v[e_x-1][e_y])Map[e_x-1][e_y]=0;if(v[e_x-2][e_y])Map[e_x-2][e_y]=0;if(v[e_x-3][e_y])Map[e_x-3][e_y]=0;if(v[e_x-1][e_y+1])Map[e_x-1][e_y+1]=0;if(v[e_x-2][e_y+1])Map[e_x-2][e_y+1]=0;if(v[e_x-3][e_y+1])Map[e_x-3][e_y+1]=0;if(v[e_x-1][e_y-1])Map[e_x-1][e_y-1]=0;if(v[e_x-2][e_y-3])Map[e_x-1][e_y-2]=0;if(v[e_x-1][e_y-3])Map[e_x-1][e_y-3]=0;if(v[e_x-1][e_y-4])Map[e_x-1][e_y-4]=0;if(v[e_x-1][e_y+2])Map[e_x-1][e_y+2]=0;if(v[e_x-1][e_y+3])Map[e_x-1][e_y+3]=0;if(v[e_x-1][e_y+4])Map[e_x-1][e_y+4]=0;if(v[e_x-1][e_y+5])Map[e_x-1][e_y+5]=0;if(v[e_x-3][e_y-1])Map[e_x-3][e_y-1]=0;if(v[e_x-3][e_y+2])Map[e_x-3][e_y+2]=0;}void enemy_move(int e_x,int e_y,int id) {enemy_clear(e_x,e_y);e_x+=1;enemy[id].x=e_x;if(v[e_x][e_y]) {enemy_check(e_x,e_y,id,4);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x][e_y+1]) {enemy_check(e_x,e_y+1,id,4);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y]) {enemy_check(e_x-1,e_y,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-2][e_y]) {enemy_check(e_x-2,e_y,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-3][e_y]) {enemy_check(e_x-3,e_y,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y+1]) {enemy_check(e_x-1,e_y+1,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-2][e_y+1]) {enemy_check(e_x-2,e_y+1,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-3][e_y+1]) {enemy_check(e_x-3,e_y+1,id,6);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y-1]) {enemy_check(e_x-1,e_y-1,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y-2]) {enemy_check(e_x-1,e_y-2,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y-3]) {enemy_check(e_x-1,e_y-3,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y-4]) {enemy_check(e_x-1,e_y-4,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y+2]) {enemy_check(e_x-1,e_y+2,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y+3]) {enemy_check(e_x-1,e_y+3,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y+4]) {enemy_check(e_x-1,e_y+4,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-1][e_y+5]) {enemy_check(e_x-1,e_y+5,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-3][e_y-1]) {enemy_check(e_x-3,e_y-1,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}if(v[e_x-3][e_y+2]) {enemy_check(e_x-3,e_y+2,id,7);if(enemy[id].life==false) {enemy_clear(e_x,e_y);return ;}}}void enemy_step() {for(int i=1; i<=enemy_top; i++) {if(!enemy[i].life) continue;enemy_move(enemy[i].x,enemy[i].y,i);}}void make_enemy() {int now_tim_enemy=time(0);srand(time(0));int enemy_making_lie=rand()%27+4;if(now_tim_enemy-tim_enemy_making>=5) {enemy[++enemy_top].life=1;enemy[enemy_top].x=1;enemy[enemy_top].y=enemy_making_lie;tim_enemy_making=now_tim_enemy;}}// =||=//||// ====||====// --void draw(int x,int y) {if(Map[x][y]==0) putchar (' ');// 1~3:playerif(Map[x][y]==1||Map[x][y]==2) color("GRE"),putchar('|');if(Map[x][y]==3)color("GRE"),putchar('=');// 4~7:enemyif(Map[x][y]==4||Map[x][y]==5) color("WHI"),putchar('-');if(Map[x][y]==6)color("WHI"),putchar('|');if(Map[x][y]==7)color("WHI"),putchar('=');if(Map[x][y]==8) { //子弹特殊操作color("YEL"),putchar('^');Map[x][y]=0;if(x-1)Map[x-1][y]=8;}}int main() {hide_cursor();for(int i=0; i<=37; i++) {for(int j=0; j<=35; j++) {v[i][j]=1;}}system("mode con cols=37 lines=38");while (true) {for(int i=0; i<=37; i++) {for(int j=0; j<=35; j++) {draw(i,j);}if(i!=row-1)puts("");}make_enemy();enemy_step();player_step();Sleep(100);system("cls");}cout<<1;while(1) {}}

如果觉得《fighter(1.0)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
fighter什么意思

fighter什么意思

2019-11-30

Fighter

Fighter

2021-03-26

fighters怎么读

fighters怎么读

2023-05-01

street fighter iv

street fighter iv

2022-02-07