资源描述:
《c语言控制台版2048小游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言控制台版2048小游戏本文给大家分享的是2则使用C语言控制台编写的2048小游戏,各有优劣,小伙伴们对比着参考下吧。效果不好,见谅,没事就写了一个!!!/***@authorRouth*@main.c*@date2014,4,26*/#include#include#include#include//consolewidth#defineCONSOLE_WIDTH80#defineBOX_WIDTH10intBOX[4][
2、4]={{0z0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};//theconsoleoutputhandleHANDLEc_handle;voidsetCursorPosition(shortx,shorty){staticCOORDc;c.X=x;c.Y=y;SetConsoleCursorPosition(c_handle,c);}voiddrawTheGameBox(){printf("%15sl■■■■■■■■■■■■■■■■■■■■,“”);printf(H%
3、15s■%8s■%8s■%8s■%8s■Mz””,,,nz“mprintf(H%15s■%8s■%8s■%8s■%8s■",“y);printf(n%15s■%8s■%8s■%8s■%8s■"z",",,H,);printf(H%15s■%8s■%8s■%8s■%8s■Nzprintf(H%15sH■■■■■■■■■■■■■■■■■■■■,,/IH,);printf("%15s■%8s■%8s■%8s■%8s■","");printf("%15s■%8s■%8s■%8s■%8s・
4、n“,H"zt"nz””);printf(,,%15sH%8sH%8sH%8sH%8sH,,/"");printf("%15s■%8s■%8s■%8s■%8s■Xn",”“,””);printf(”%15s・■■■■■■■■■■■■■■■■■■■■,,/printf(H%15s■%8s■%8s■%8s■%8s■Xn",t““);printf("%15s■%8s■%8s■%8s■%8s■printf(H%15s■%8s■%8s・%8s・%8s・”,““,匸tprintf(,,%15sB%8sB%
5、8sB%8sB%8sB,,/n,,zprintf(u%15s■■■■■■■■■■■■■■■■■■■■■n,,H,);printf(H%15s■%8s■%8s■%8s■%8s■Xn",printf(H%15s■%8s■%8s■%8s■%8sBHz””);printf(H%15s■%8s■%8s■%8s■%8s■",M,,z”蔦",,,H);printf(H%15s■%8s■%8s■%8s■%8s■u,:“”);printf(n%15sH■■■■■■■■■■■■■■■■■■■■"/""
6、);}/***getarandomposition:R*thex:Oxff&(R»4)*they:OxOf&R*/intrandom(){inti=0,j=0,_index=0,rrr=0;intrand_arr[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};srand((unsigned)time(NULL));//rand()for(i=0;i<4;i++){for(j=0;j<4;j++){讦(BOX[i][j]==0){rand_arr[_index++]=(Oxff
7、&ivv4)
8、(Oxf&j);}}}讦(Jndex==0){return}returnrand_arr[rand()%_index];}/**thecleanarray.**/int*alogs(intitem[]){inti=0,j=0;inttep[4]={0,0,0,0},tmp[4]={0,0z0,0};for(i=0;i<4;i++){if(item[i]!=0){tep[j++]=item[i];}}for(i=0;i<3;i++){if(tep[O]==0)break;if(tep[i]==
9、tep[i+1]){tep[i]*=2;tep[i+1]=0;}}j=0;for(i=0;i<4;i++){if(tep[i]!=0){tmp[j++]=tep[i];}}return(int*)(&tmp);}/**BOXcanmove.*/intvalidate(intitem[]){inti=0;for(i=0;i<3;i++){if(item[i]!=0&&item[i]==item[i+1])return1;if(i