环球观天下!俄罗斯方块c语言代码_c语言俄罗斯方块源代码

来源:互联网 2023-04-15 05:44:35


(资料图)

1、#include #include #include #define mDRAW 5 #define mLINE 6 #define mADOWN 7 #define mGEN 8 #define mLEFT 75 #define mRIGHT 77 #define mSPACE 57 #define mDOWN 80 #define mESC 1 #define TIMEINT 2 #define MAXX 9 #define MAXY 30 #define BACKCOLOR BLACK #define WINX 50 #define WINY 470 #define GAP 6 #define AREAX (WINX+GAP) #define AREAY (WINY-GAP) #define BOXW 15 int oldarea[MAXY+1][MAXX]; int area[MAXY+1][MAXX]; int actW,actH,actX,actY; int curX,curY,curColor,curW,curH; int newX,newY,newColor,newW,newH; int active; int box[4][4]; int FORCOLOR; int MESSAGE; int BOX[7][4][4]={ { {1,1,1,1}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, {1,0,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, {0,0,1,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,1,0}, {0,1,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,0,0}, {0,1,1,0}, {0,0,0,0}, {0,0,0,0} },{ {0,1,1,0}, {1,1,0,0}, {0,0,0,0}, {0,0,0,0} },{ {1,1,0,0}, {1,1,0,0}, {0,0,0,0}, {0,0,0,0} } }; void init(); void draw(); int genBox(); int getKey(); void lineFull(); int moveLeft(); int moveRight(); int moveDown(); int rotate(); int getW(); int getH(); void clearOldBox(); void putNewBox(); int collisionRotate(int box[][4]); void getMessage(); void dispatchMessage(); int timeCome(); void fallDown(); int gameOver(); main() { int i; init(); do { getMessage(); dispatchMessage(); } while(!gameOver()); getch(); closegraph(); } void getMessage() { if(MESSAGE) return; if(timeCome()) { MESSAGE=mADOWN; return; } if(bioskey(1)) { MESSAGE=bioskey(0)>>8; return; } } void dispatchMessage() { switch(MESSAGE) { case mLEFT: moveLeft();break; case mRIGHT: moveRight();break; case mADOWN: moveDown();break; case mSPACE: rotate();break; case mDOWN: fallDown(); break; case mDRAW: draw();break; case mLINE: lineFull();break; case mGEN: genBox();break; case mESC: closegraph(); exit(0); default: MESSAGE=0; } } void fallDown() { while(active) { moveDown(); draw(); } MESSAGE=mLINE; } int timeCome() { static long tm, old; tm=biostime(0,tm); if(tm-old=MAXX)curX=MAXX-1-curW; curY=MAXY-1-curH; newX=curX; newY=curY; actX=curX;actY=curY; actW=newW=curW; actH=newH=curH; active=1; if(collision(box)) return 0; putNewBox(); draw(); MESSAGE=0; return 1; } void lineFull() { int row,col, rowEnd,full,i,j; rowEnd=newY+newH; if(rowEnd>=MAXY-1) rowEnd=MAXY-2; for(row=newY; row<=rowEnd;) { full=1; for(col=0;colcurH? newH:curH; actW=curX+actH-newX; actX=newX; actY=newY; curX=newX; curY=newY; curW=newW; curH=newH; MESSAGE=mDRAW; return 1; } int getW() { int i,j; for(i=3;i>0;i--) for(j=0;j<4;j++) if(box[j][i]) return i; return 0; } int getH() { int i,j; for(j=3;j>0;j--) for(i=0;i<4;i++) if(box[j][i]) return j; return 0; } void clearOldBox() { int i,j; for(j=0;j<=curH; j++) for(i=0;i<=curW; i++) if(box[j][i]) area[curY+j][curX+i]=0; } void putNewBox() { int i,j; for(j=0;j<=newH;j++) for(i=0;i<=newW;i++) if(box[j][i]) area[newY+j][newX+i]=FORCOLOR; } int collision(int cbox[][4]) { int i,j; if(newX<0) return 1; if(newX+newW>=MAXX) return 1; if(newY<0) return 1; for(j=0;j<=newH;j++) for(i=0;i<=newW;i++) if(area[newY+j][newX+i]&&cbox[j][i]) return 1; return 0; } int collisionRotate(int cbox[][4]) { int i,j; if(newX+newW>=MAXX) newX=MAXX-1-newW; if(newY+newH>=MAXY) newY=MAXY-1-newH; if(collision(cbox)) return 1; for(i=0;i<=newW;i++) for(j=0;j<=newH;j++) if(area[newY+j][newX+i]) { newX-=newW-i+1; goto L; } L: return collision(cbox); } int gameOver() { if(!active &&(curY+curH>MAXY-3)) return 1; else return 0; }。

本文到此分享完毕,希望对大家有所帮助。

上一篇: 下一篇:
精彩推荐

环球观天下!俄罗斯方块c语言代码_c语言俄罗斯方块源代码

2023-04-15

观察:dotnetfx35setup点开没反应_dotnetfx35setup

2023-04-15

焦点短讯!名侦探柯南651是谁唱的(名侦探柯南651)

2023-04-14

观速讯丨中国社会组织在人权理事会积极发出民间声音

2023-04-14

每日快播:武汉一大型聚众赌博窝点被捣毁

2023-04-14

观天下!异业联盟:本地生活电商新风口,实体商家也该团结起来了

2023-04-14

最新消息:首开挂牌转让北京联宝房地产,底价6.9亿元

2023-04-14

世界信息:北京:明年起 违规电动三、四轮车不得上路行驶 不得在公共场所停放

2023-04-14

天天讯息:广东调整退休人员基本养老金时间什么时候?2023年几月几日开始调?

2023-04-14

每日观察!安全升级,德施曼将首发虹膜识别智能门锁 | 科技前线

2023-04-14

世界速递!金乡县开展“军地共建 送法进军营”活动

2023-04-14

热点评!亚运之城杭州:电竞大赛落地中心场馆,打造“动漫大IP”融合产业链

2023-04-14

【天天新视野】酷我可以转换mp3格式 酷我音乐kwm格式怎么转换成mp3

2023-04-14

世界头条:崇仁县消防救援大队多措并举提高接警调度服务水平

2023-04-14

讯息:【贯彻二十大 推动强省会·加快绿色经济发展】贵州正和天筑科技有限公司:固废再造 变废为宝

2023-04-14

全球信息:山西珍贵野生保护动植物_山西的珍惜野生动物有哪些

2023-04-14

环球热消息:北大成都前沿交叉生物技术研究院揭牌

2023-04-14

通讯!探访成都古蜀蜀锦研究所:大运会奖牌绶带 蜀锦织就

2023-04-14

全球快看点丨美股异动 | 和黄医药(HCM.US)涨超9% 将于美国癌症研究协会披露五项药物最新研究结果

2023-04-14

视讯!矛盾特殊性

2023-04-14
相关推荐

环球观天下!俄罗斯方块c语言代码_c语言俄罗斯方块源代码

2023-04-15

观察:dotnetfx35setup点开没反应_dotnetfx35setup

2023-04-15

焦点短讯!名侦探柯南651是谁唱的(名侦探柯南651)

2023-04-14

观速讯丨中国社会组织在人权理事会积极发出民间声音

2023-04-14

每日快播:武汉一大型聚众赌博窝点被捣毁

2023-04-14

观天下!异业联盟:本地生活电商新风口,实体商家也该团结起来了

2023-04-14

最新消息:首开挂牌转让北京联宝房地产,底价6.9亿元

2023-04-14

世界信息:北京:明年起 违规电动三、四轮车不得上路行驶 不得在公共场所停放

2023-04-14

天天讯息:广东调整退休人员基本养老金时间什么时候?2023年几月几日开始调?

2023-04-14

每日观察!安全升级,德施曼将首发虹膜识别智能门锁 | 科技前线

2023-04-14