资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
#include #include #include #include #include #include colorConsole.h /老师的文件void begin(); /开始游戏void frame(); /边框设定int * getblocks(); /方块产生void move(int line); /移动void drawblocks(int line); /方块显示void clearsquare(int line); /方块擦出void turn(int line); /方块旋转bool isavailable(int line); /判断是否能下落void remember(int line); /记忆方块位置void deleteline(int line); /方块满一行消除bool ifgameover(); /判断是否游戏结束void end(); /游戏结束 #define up 72#define down 80#define left 75#define right 77#define esc 27HANDLE handle;int a144=1,1,1,1; /七种方块的二维数组int a244=0,1,1,1,1;int a344=1,1,0,1,1;int a444=0,0,1,1,1,1;int a544=0,1,1,1,1;int a644=1,1,1,1;int a744=1,1,1,1;int row=0; /列数int score=0;int level=0;int * block1=NULL; int * block2=NULL;int * block3=NULL;int coordinate1218=0; /坐标数组,边框12*18(最后一行,两边边框计算在内)int judge=0;推荐精选int scorex=0;int temp44=0;void main() /主函数 int t=1;handle = initiate();while(t)t=0; begin(); sndPlaySound(music.wav,SND_LOOP|SND_ASYNC); frame(); WORD wColors1; wColors0=FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY; for(int k=1;k=999999;k+)if(ifgameover() /判断是否结束 textout(handle,34,10,wColors,1,Game Over); Sleep(800); end(); else if(k=1)block2=getblocks();block3=block2; /block2指向将出现的方块地址block2=getblocks(); /获取下一个新的方块block1=block3; row=52; clearsquare(16); /擦除next的方块block1=block2;drawblocks(15); /在next显示下一块方块图形row=34;block1=block3;for(int i=4;i=7;i+) /所构建的方块图形最多只有占有两排,所以只用4-7即可对应 if(*(block1+i)textout(handle,26+i*2,4,wColors,1,); /方块先露出下面部分Sleep(500-50*level);推荐精选for(int line=4;line=22;line+) /方块自主下落,方块从第四排开始出现if(isavailable(line) /检验刚产生的方块是否碰壁,碰到已落方块clearsquare(line); /消除方块先露初的下面分drawblocks(line); /产生完整的下落方块move(line);elseremember(line); /落定后将这些位置对应的all数组中元素置1deleteline(line); /消行以及加分if(line=4)judge=1;break;void begin()int i=1;WORD wColors1;wColors0=FOREGROUND_GREEN|FOREGROUND_INTENSITY;WORD wColors12;wColors10=FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY; wColors11=FOREGROUND_RED|FOREGROUND_INTENSITY;textout(handle,18,4,wColors,1, );textout(handle,18,5,wColors,1, );textout(handle,18,6,wColors,1,);textout(handle,18,7,wColors,1,);textout(handle,18,8,wColors,1, );textout(handle,18,9,wColors,1,);textout(handle,18,10,wColors,1,);推荐精选textout(handle,18,11,wColors,1,);textout(handle,18,12,wColors,1,);textout(handle,18,13,wColors,1,);textout(handle,18,14,wColors,1,);textout(handle,18,15,wColors,1, );textout(handle,18,16,wColors,1, 简单 中等);textout(handle,18,17,wColors,1,请按1 请按2);textout(handle,18,18,wColors,1, );textout(handle,18,19,wColors,1, );textout(handle,18,20,wColors,1, 困难 请按 3); textout(handle,54,22,wColors,1,MADE BY );while(i)textout(handle,30,8,wColors1,2,俄罗斯方块);Sleep(800);textout(handle,30,8,wColors1,2, ); Sleep(800); if (_kbhit() /输入等级switch(_getch()case 1: level=1;i=0; /跳出循环break;case 2: level=4;i=0;break;case 3: level=7;i=0;break;system(cls); /清屏推荐精选void frame() /边框的设定WORD wColors1;wColors0=FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_INTENSITY;WORD wColors11;wColors10=FOREGROUND_RED|FOREGROUND_INTENSITY;for(int i=0;i=11;i+)coordinatei17=1; /底排边框定义为1for(int j=0;j=17;j+)coordinate0j=1; /两边边框定义为1coordinate11j=1;char string5;textout(handle,59,5,wColors,1,itoa(level,string,10); textout(handle,52,5,wColors,1,level: );textout(handle,52,9,wColors
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号