这是我肝了几节课做出来的小恐龙c++制作,换因游玩,代码如下:
#include<bits/stdc++.h> #include<windows.h> #define VK_W 0x57 using namespace std; const int max_x=55,max_y=25; int d[max_y+1][max_x+1],y_z,t_z=0,x_z=16,l_f[99999],z_1[9999][5],z_s1; double time_lou; bool s_z=1; void c_6() { int i=0,l=0; for(int j=1;j<=z_s1;j++) { if(z_1[j][4]!=0) { i++; z_1[i][1]=z_1[j][1]; z_1[i][2]=z_1[j][2]; z_1[i][3]=z_1[j][3]; z_1[i][4]=z_1[j][4]; }else { l++; } } z_s1-=l; } void c_5() { for(int i=1;i<=z_s1;i++) { if(z_1[i][3]==1) { COORD pos={z_1[i][1],z_1[i][2]}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); cout<<" "; z_1[i][1]-=1; if(z_1[i][1]!=1) { pos={z_1[i][1],z_1[i][2]}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; if(z_1[i][1]==x_z&&z_1[i][2]<=y_z) { s_z=0; } }else { z_1[i][4]=0; } }/*else { if(z_1[i][3]==2) { COORD pos={z_1[i][1],z_1[i][2]}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); cout<<" "; pos={z_1[i][1],z_1[i][2]-1}; SetConsoleCursorPosition(hOut,pos); cout<<" "; z_1[i][1]-=1; if(z_1[i][1]!=1) { pos={z_1[i][1],z_1[i][2]}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; pos={z_1[i][1],z_1[i][2]-1}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; }else { z_1[i][4]=0; } }else { if(z_1[i][3]==3) { COORD pos={z_1[i][1],z_1[i][2]}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); cout<<" "; pos={z_1[i][1],z_1[i][2]-1}; SetConsoleCursorPosition(hOut,pos); cout<<" "; pos={z_1[i][1],z_1[i][2]-2}; SetConsoleCursorPosition(hOut,pos); cout<<" "; if(z_1[i][1]!=1) { pos={z_1[i][1],z_1[i][2]}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; pos={z_1[i][1],z_1[i][2]-1}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; pos={z_1[i][1],z_1[i][2]-2}; SetConsoleCursorPosition(hOut,pos); cout<<"▌"; }else { z_1[i][4]=0; } } } }*/ } c_6(); } void c_4(int x,int y) { int n=0,u=time_lou; while(u>0) { n++; l_f[n]=u%10; u/=10; } COORD pos={x,y}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); for(int i=1;i<=n+5;i++) { cout<<" "; COORD pos={x-i,y}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); } cout<<"分数:"; for(int i=n;i>=1;i--) { COORD pos={x-i,y}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); cout<<l_f[i]; } } void c_3(int x,int y) { COORD pos={x,y}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); } void c_2() { y_z=2; while(y_z+1!=20) { c_3(x_z,y_z); cout<<"●"; c_3(x_z,y_z-1); cout<<" "; Sleep(90); y_z++; } } void c_1() { for(int i=1;i<=max_y;i++) { for(int j=1;j<=max_x;j++) { if(i>=20) { d[i][j]=2; } if(i==1||i==max_y||j==1||j==max_x) { d[i][j]=1; } } } } void x1() { for(int i=1;i<=max_y;i++) { for(int j=1;j<=max_x;j++) { if(d[i][j]==1) { printf("■"); }else { if(d[i][j]==2) { printf("█ "); }else { printf(" "); } } } printf("\n"); } return; } int main() { c_1(); x1(); c_2(); y_z=19; srand(time(0)); while(s_z==1) { if(s_z==0) { break; } if(GetAsyncKeyState(VK_W)&&y_z==19) { t_z=1;y_z--; } if(y_z>10&&t_z==1) { y_z--; c_3(x_z,y_z); cout<<"●"; c_3(x_z,y_z+1); cout<<" "; }else { if(t_z==1) { t_z=0; } } if(t_z==0&&y_z!=19) { t_z=-1; } if(y_z!=19&&t_z==-1) { c_3(x_z,y_z); cout<<"●"; c_3(x_z,y_z-1); cout<<" "; y_z++; }else { if(t_z==-1) { t_z=0; y_z=19; } } int j_xr=rand()%15+1; if(j_xr==15) { int g=rand()%1+1; z_s1++; z_1[z_s1][1]=105; z_1[z_s1][2]=19-g; z_1[z_s1][3]=g; z_1[z_s1][4]=1; }/*else { j_xr=rand()%30+1; }*///以后更新别的障碍 c_5(); for(int i=1;i<=1;i++) { time_lou+=0.6; c_4(104,3); Sleep(50); } } for(int i=0;i<=max_y;i++) { for(int j=0;j<=max_x*2-1;j++) { COORD pos={j,i}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); cout<<" "; Sleep(0.75); } } c_4(62,12); printf("\n\n\n\n\n\n\n\n\n\n\n\n"); return 0; }
共280多行,制作不宜
本站作者已申明原创,禁止转载!
文章内容属作者个人观点,不代表本站立场,如有侵权立删。