济南正规网站建设公司,手机网站图片切换,午夜dj在线观看免费完整版社区,客户说做网站没效果游戏效果 小人可以随便在一些元素#xff08;如石头#xff0c;岩浆#xff0c;水#xff0c;宝石等#xff09;上跳跃#xff0c;“地面”一直在上升#xff0c;小人上升到顶部或者没有血的时候游戏结束#xff08;初始20点血#xff09;#xff0c;小人可以随意放炸…游戏效果 小人可以随便在一些元素如石头岩浆水宝石等上跳跃“地面”一直在上升小人上升到顶部或者没有血的时候游戏结束初始20点血小人可以随意放炸弹共有八种炸弹。但是被炸到或者碰到岩浆就要减一滴血拿到宝石加一滴血。炸弹炸掉石头可以得分得到200分即可获胜。
游戏代码:
#includebits/stdc.h
#includewindows.h
#includestdio.h
#includeconio.h
#includetime.h
#define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME)0x8000)?1:0)
using namespace std;
int m[10001][21];
struct node {int xx,yy,Zhong,rr,mr;} B[100001];
int K,X,Y,tX,tY,tY2,tT,Er,T,Yb,Zb,Win,Blood,Score,Kb;
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|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_INTENSITY|BACKGROUND_RED);if(a10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE|BACKGROUND_INTENSITY|BACKGROUND_BLUE);
}
void SetPos(int x,int y)
{COORD pos; pos.Xy*2-1,pos.Yx1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void Zha(int x,int y)
{Zb;int k1rand()%22,k2rand()%32,rrand()%6;if(r0) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhong1,B[Zb].rr0,B[Zb].mrk1*2;if(r1) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhong2;if(r2) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhong3,B[Zb].rrk2,B[Zb].mrk1;if(r3) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhong4;if(r4) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhong5,B[Zb].rr1,B[Zb].mrk2*2;if(r5) B[Zb].xxx-K,B[Zb].yyy,B[Zb].Zhongrand()%26,B[Zb].rrk11,B[Zb].mrk23;
}
void Cout(int i,int j,int a)
{int Rrand()%500,jk0;if(i-K0i-K1j2j6) return;if(a!4){if(m[i][j]0(a0||a3)) SetPos(i-K,j),Color(7),cout■;if(m[i][j]1a5) SetPos(i-K,j),Color(0),cout ;//空气 if(m[i][j]2) SetPos(i-K,j),Color(8),cout■;if(m[i][j]3m[i][j]6) SetPos(i-K,j),Color(5),cout█,m[i][j];if(m[i][j]6a!5) SetPos(i-K,j),cout ,m[i][j]1;if(m[i][j]7) SetPos(i-K,j),Color(9),cout~ ;if(m[i][j]8) SetPos(i-K,j),Color(10),cout~ ;if(m[i][j]9) SetPos(i-K,j),Color(3),cout◆;if((m[i][j]1||m[i][j]8)m[i-1][j]10m[i-1][j]30a!5) {int Mm[i][j];m[i][j]m[i-1][j],m[i-1][j]M;if(M1) SetPos(i-K-1,j),cout ;}//炸弹下落 if(m[i][j]1m[i-1][j]9a!5) {m[i][j]9,m[i-1][j]1,SetPos(i-K-1,j),Color(0),cout ;jk1;}//宝石下落if(m[i][j]10m[i][j]30) {m[i][j];if(m[i][j]%30) Color(4);else Color(5);SetPos(i-K,j),cout●;}//炸弹计时if(m[i][j]1m[i-1][j]7a!5) {m[i][j]7,m[i-1][j]1,SetPos(i-K-1,j),Color(0),cout ;jk1;}//岩浆下落if(m[i][j]0m[i-1][j]7R2) m[i][j]m[i-1][j],m[i-1][j]1,SetPos(i-K-1,j),cout ;//岩浆融解 if(m[i][j]7R2R5) {int rrand()%3-1; if(m[i][jr]1) m[i][jr]m[i][j];if(m[i][jr]8) m[i][jr]2;}//岩浆扩散 if(R50R20m[i1][j1]1m[i1][j]8m[i][j]8) m[i1][j1]8,m[i][j]1,SetPos(i-K,j),Color(0),cout ;if(R80R50m[i1][j-1]1m[i1][j]8m[i][j]8) m[i1][j-1]8,m[i][j]1,SetPos(i-K,j),Color(0),cout ;//岩浆平面 if(m[i][j]1m[i-1][j]8a!5) {m[i][j]8,m[i-1][j]1,SetPos(i-K-1,j),Color(0),cout ;jk1;}//水下落if(m[i1][j1]1m[i1][j]8m[i][j]8) m[i1][j1]8,m[i][j]1,SetPos(i-K,j),Color(0),cout ;if(m[i1][j-1]1m[i1][j]8m[i][j]8) m[i1][j-1]8,m[i][j]1,SetPos(i-K,j),Color(0),cout ;//水平面 if((m[i1][j]8m[i][j]7)||(m[i1][j]7m[i][j]8)) m[i][j]2,m[i-1][j]1,SetPos(i-K-1,j),Color(0),cout ;//变石头if(m[i][j]0m[i-1][j]8R5R7) m[i][j]m[i-1][j],m[i-1][j]1,SetPos(i-K-1,j),cout ;//水融解 if(m[i][j]8R7R9) {int rrand()%3-1; if(m[i][jr]1) m[i][jr]m[i][j];if(m[i][jr]7) m[i][jr]2;}//水扩散 if(m[i][j]31) SetPos(i-K,j),cout ,Zha(i,j);}else if(a!5)//界外 {if(m[i][j]3m[i][j]6) m[i][j]; if(m[i][j]6) m[i][j]1;if((m[i][j]1||(m[i][j]3m[i][j]6))m[i-1][j]10m[i-1][j]30) m[i][j]m[i-1][j],m[i-1][j]1;//炸弹下落 if(m[i][j]10m[i][j]30) m[i][j];//炸弹计时if(m[i][j]1m[i-1][j]9) m[i][j]9,m[i-1][j]1;//宝石下落if(m[i][j]1m[i-1][j]7) m[i][j]7,m[i-1][j]1;//岩浆下落if(m[i][j]1m[i-1][j]8) m[i][j]8,m[i-1][j]1;//水下落}if(jk1) jk0,Cout(i,j,5);Color(0);
}
void Map(int a);
void Wo()
{SetPos(X-K,Y),cout ; //清除上一次残影if(m[X][Y]9) Blood,Score5,m[X][Y]1,system(color 2F),Sleep(50),system(color 0F),Map(3);if(tX!0(m[X-1][Y]1||m[X-1][Y]7||m[X-1][Y]8||m[X-1][Y]9||(m[X-1][Y]3m[X-1][Y]6))) tX--,X-2; //上跳 if(m[X1][Y]1||(m[X1][Y]3m[X1][Y]6)||m[X1][Y]7||m[X1][Y]8||m[X1][Y]9) X; //掉落 if(m[X1][Y]0||m[X1][Y]2||(m[X1][Y]3m[X1][Y]6)) tXEr0; //跳跃次数清零 if(m[X-1][Y]0||m[X-1][Y]2||(m[X-1][Y]10m[X-1][Y]31)) tXEr0; //跳跃次数清零 if(XK) tXEr0,XK; if(XK28) XK28,Kb1; //高度上下限if(m[X][Y]7) m[X-1][Y]m[X-2][Y]1,tX8;if(m[X][Y]!1m[X][Y]!8m[X][Y]!9) Blood--,m[X][Y]1,system(color 4F),Sleep(50),system(color 0F),Map(3);if(Blood0) Win-1;SetPos(X-K,Y),Color(1),cout●;
}
void Map(int a)
{SetPos(0,2);coutBlood: Blood ;SetPos(1,2);coutScore: Score ;if(a3) system(cls);for(int iK28;iK;i--)for(int j1;j20;j) Cout(i,j,a);for(int iK33;iK28;i--)for(int j1;j20;j) Cout(i,j,4);if(a!3) Wo();
}
void CircleBomb(int x,int y,int s,int ms)
{if(sms) return;for(int ix-s;ixs;i)for(int jy-s;jys;j){float k(i-x)*(i-x)(j-y)*(j-y)-s*s;if(ksk-sj0j20m[iK][j]!2m[iK][j]!9) m[iK][j]3;}Zb;B[Zb].xxx,B[Zb].yyy,B[Zb].Zhong1,B[Zb].rrs1,B[Zb].mrms;Sleep(30);
}
void LineBomb(int i,int j)
{for(int k0;jk20;k) if(m[iK][jk]!2m[iK][jk]!9) m[iK][jk]3;for(int k0;jk20;k) if(m[iK1][jk]!2m[iK1][jk]!9) m[iK1][jk]3;for(int k0;j-k0;k) if(m[iK][j-k]!2m[iK][j-k]!9) m[iK][j-k]3;for(int k0;j-k0;k) if(m[iK1][j-k]!2m[iK1][j-k]!9) m[iK1][j-k]3;
}
void ZuanBomb(int i,int j)
{int k;for(k0;m[iKk][j]!2k7;k) if(m[iKk][j]!9) m[iKk][j]3;int k1rand()%22;Zb;B[Zb].xxik,B[Zb].yyj,B[Zb].Zhong1,B[Zb].rr0,B[Zb].mrk1*3/2;
}
void TrigleBomb(int i,int j,int r,int mr)
{if(rmr) return;if(r1) m[iK][j]3,i;for(int kmax(0,j-r);kmin(20,jr);k) if(m[iK][k]!2m[iK][k]!9) m[iK][k]3;Zb;B[Zb].xxi1,B[Zb].yyj,B[Zb].Zhong5,B[Zb].rrr1,B[Zb].mrmr;
}
void GunBomb(int i,int j,int r,int mr)
{if(mr0) return;Zb;B[Zb].xxi,B[Zb].yyj2,B[Zb].Zhong6,B[Zb].rrr,B[Zb].mrmr-1;Zb;B[Zb].xxi,B[Zb].yyj,B[Zb].Zhong1,B[Zb].rrr-1,B[Zb].mrr;
}
void GunBomb2(int i,int j,int r,int mr)
{if(mr0) return;Zb;B[Zb].xxi,B[Zb].yyj-2,B[Zb].Zhong7,B[Zb].rrr,B[Zb].mrmr-1;Zb;B[Zb].xxi,B[Zb].yyj,B[Zb].Zhong1,B[Zb].rrr-1,B[Zb].mrr;
}
void ThreeBomb(int x,int y,int s,int ms)
{for(int i1;i3;i){int Xxrand()%(2*s1)-s,Yyrand()%(2*s1)-s; Zb;B[Zb].xxXxx,B[Zb].yyYyy,B[Zb].Zhong1,B[Zb].rr0,B[Zb].mrmsrand()%3-1;}
}
void Sheng(int a)
{K;for(int i1;i20;i){int Rrand()%max(80-(K/10),30);int Rrrand()%200;if(R3) m[K28][i]2;else if(R6) m[K28][i]7;else if(R9) m[K28][i]8;if(Rr0) m[K28][i]9;}if(a!1) system(cls),Map(0);
}
void Jiao()
{SetPos(0,2);Color(1),cout●,Color(7),cout ■ ,Color(8),cout ■ ,Color(4),cout ● ,Color(9),cout~ ,Color(0),cout ,Color(10),cout~ ,Color(3),cout ◆;SetPos(2,2);Color(0),cout你 泥土 石块 炸弹 岩浆 水 宝石;SetPos(4,1),cout ↑ 空格放炸弹...; SetPos(5,1),cout← →移动 ;SetPos(6,1),cout ↓ 可二段跳。;SetPos(8,1),cout炸弹种类随机计时3秒爆炸。;SetPos(10,1),cout(一共有7种炸弹有几率组合一起爆炸);SetPos(12,1),cout岩浆和水有几率向左右扩散...;SetPos(14,1),cout它们相融会产生石块。;SetPos(16,1),cout岩浆和爆炸波会使你减血...;SetPos(18,1),cout岩浆还会使你上跳宝石可以加血。;SetPos(20,1),cout画面每隔一段时间会下降...;SetPos(22,1),cout当你抵达画面底部时画面会随你一起下降...;SetPos(24,1),cout当你被抵在画面顶部时会持续减血。;SetPos(26,1),cout每隔一段时间分数会增加...,Color(5),cout200分即可通关;SetPos(28,1);Color(1);cout按 y 开始游戏!;char tt;while(tt!y) tt_getch();
}
void Start()
{Color(5);SetPos(2,3);Color(7),cout ■ ,Color(5),cout掘,Color(7),cout ■■■■ ;SetPos(3,3);Color(7),cout ■■ ,Color(5),cout ↓,Color(7),cout ■■■■ ;SetPos(4,3);Color(7),cout ■■■■ ,Color(5),cout ↓,Color(7),cout ■■■■■ ;SetPos(5,3);Color(7),cout ■■■■■,Color(5),cout↓,Color(7),cout ■■■■■ ;SetPos(6,3);Color(7),cout ■■■■■ ■■■,Color(5),cout地,Color(7),cout■■ ;SetPos(7,3);Color(7),cout ■■■■■■■■■■■■ ;Color(5);SetPos(22,2);Color(1);cout按 y 确定!;SetPos(22,10);Color(9);cout 开始游戏! ;SetPos(24,10);Color(0);cout 操作攻略! ;SetPos(27,1);Color(3);cout注意这里 绝对不能是拼音输入法!;SetPos(28,5);Color(3);cout↓;Color(0);char tt;int Ee0;while(tt!y){tt_getch();if(tt72Ee!0) Ee--;if(tt80Ee!2) Ee;SetPos(22,10);if(Ee0) Color(9);else Color(0);cout 开始游戏! ;SetPos(24,10);if(Ee1) Color(9);else Color(0);cout 操作攻略! ;}system(color 0F);system(cls);Color(0);if(Ee1) Jiao();
}
int main()
{system(mode con cols42 lines31);CONSOLE_CURSOR_INFO cursor_info{1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),cursor_info);srand((unsigned)time(NULL));Start();St:system(cls);K-5,TWinScore0;XY2;Blood20;memset(m,0,sizeof(m));memset(B,0,sizeof(B));for(int i5;i15;i) for(int j1;j20;j) m[i][j]1;for(int i1;i10;i) Sheng(1);Map(0);while(Win0){T;Kb0;if(Score200) Win1;if(GetAsyncKeyState(VK_UP)0x8000tT0Er2) tT,tX4,Er;if((GetAsyncKeyState(VK_UP)0x8000)?0:1) tT0;if(GetAsyncKeyState(VK_LEFT)0x8000Y1(m[X][Y-1]1||m[X][Y-1]7||m[X][Y-1]8||m[X][Y-1]9)(tY0||tY2)) SetPos(X-K,Y),cout ,Y--;if(GetAsyncKeyState(VK_RIGHT)0x8000Y20(m[X][Y1]1||m[X][Y1]7||m[X][Y1]8||m[X][Y1]9)(tY20||tY22)) SetPos(X-K,Y),cout ,Y;if((GetAsyncKeyState(VK_LEFT)0x8000)?0:1) tY0;if((GetAsyncKeyState(VK_RIGHT)0x8000)?0:1) tY20;if((GetAsyncKeyState(VK_LEFT)0x8000)?1:0) tY;if((GetAsyncKeyState(VK_RIGHT)0x8000)?1:0) tY2;if(kbhit()) {char e_getch();if(e m[X-1][Y]!0m[X-1][Y]!2(m[X1][Y]10||m[X1][Y]31)Kb0) m[X][Y]10,X--;}int zbZb;for(int izb-10;izb;i){if(B[i].Zhong1) CircleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong0;if(B[i].Zhong2) LineBomb(B[i].xx,B[i].yy),B[i].Zhong0;if(B[i].Zhong3) ThreeBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong0;if(B[i].Zhong4) ZuanBomb(B[i].xx,B[i].yy),B[i].Zhong0;if(B[i].Zhong5) TrigleBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong0;if(B[i].Zhong6) GunBomb(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong0;if(B[i].Zhong7) GunBomb2(B[i].xx,B[i].yy,B[i].rr,B[i].mr),B[i].Zhong0;}Map(1);Sleep(40);if(T%max(10,40-Score/16)0||Kb1) Sheng(0);if(T%200) Score;}if(Win!0){if(Win0) {system(color 6E),Color(3);SetPos(0,2);coutYou! Win!!!,Sleep(1000);}if(Win0) {system(color 7F),Color(4);SetPos(0,2);coutYou! Die!!!,Sleep(1000);}SetPos(1,2);cout请输入y重新开始游戏;A:char e_getch();if(e!y) goto A;goto St;}
}