资源描述:
《C++俄罗斯方块代码.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include<>#include<>#include<>#include<>#include#include""//老师的文件voidbegin();//开始游戏voidframe();//边框设定int*getblocks();//方块产生voidmove(intline);//移动voiddrawblocks(intline);//方块显示voidclearsquare(intline);//方块擦出voidturn(intline);//方块旋转boolisavailable(intline);//判断是否能下落voidremember(in
2、tline);//记忆方块位置voiddeleteline(intline);//方块满一行消除boolifgameover();//判断是否游戏结束voidend();//游戏结束#defineup72#definedown80#defineleft75#defineright77#defineesc27HANDLEhandle;inta2[4][4]={{0,1},{1,1,1}};inta3[4][4]={{1,1},{0,1,1}};inta4[4][4]={{0,0,1},{1,1,1}};inta5[4][4]={{0,1,1},{1,1}};inta6
3、[4][4]={{1,1,1,1}};inta7[4][4]={{1,1},{1,1}};introw=0;intscore=0;intlevel=0;int*block1=NULL;int*block2=NULL;int*block3=NULL;intcoordinate[12][18]={0};在内)intjudge=0;intscorex=0;inttemp[4][4]={0};voidmain(){intt=1;handle=initiate();while(t){t=0;//列数//坐标数组,边框12*18(最后一行,两边边框计算//主函数begin();
4、sndPlaySound("",SND_LOOP
5、SND_ASYNC);frame();WORDwColors[1];wColors[0]=FOREGROUND_GREEN
6、FOREGROUND_RED
7、FOREGROUND_INTENSITY;for(intk=1;k<=999999;k++){if(ifgameover())//判断是否结束{textout(handle,34,10,wColors,1,"GameOver");Sleep(800);end();}else{if(k==1)block2=getblocks();block3=block2;//blo
8、ck2指向将出现的方块地址block2=getblocks();//获取下一个新的方块block1=block3;//擦除next的方块//在next显示下一块方块图形row=52;clearsquare(16);block1=block2;drawblocks(15);row=34;block1=block3;for(inti=4;i<=7;i++)//所构建的方块图形最多只有占有两排,所以只用4-7即可对应{{if(*(block1+i)){textout(handle,26+i*2,4,wColors,1,"■");}Sleep(500-50*level);f
9、or(intline=4;line<=22;line++)方块从第四排开始出现{if(isavailable(line))方块是否碰壁,碰到已落方块{clearsquare(line);露初的下面分drawblocks(line);下落方块move(line);}else{remember(line);这些位置对应的all数组中元素置1deleteline(line);分if(line==4)judge=1;//方块先露出下面部分//方块自主下落,//检验刚产生的//消除方块先//产生完整的//落定后将//消行以及加break;}■——");■■■");J・■■k"
10、);■7••'■■")■◎◎■■")'■kTJ^F")■kJ・");");voidbegin(){inti=1;WORDwColors[1];wColors[0]=FOREGROUND_GREEN
11、FOREGROUND_INTENSITY;WORDwColors1[2];wColors1[0]=FOREGROUND_RED
12、FOREGROUND_GREEN
13、FOREGROUND_INTENSITY;wColors1[1]=FOREGROUND_RED
14、FOREGROUND_INTENSITY;textout(handle,18,4,wColors,1,"text