为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

七彩俄罗斯方块c语言

2012-02-28 24页 doc 123KB 39阅读

用户头像

is_383168

暂无简介

举报
七彩俄罗斯方块c语言#include graphics.h 头文件 #include time.h #include stdlib.h #include bios.h #include dos.h #include stdio.h #define ESC 0x11b 键盘扫描码 #define UP 0x4800 #define DOWN 0x5000 #define LEFT 0x4b00 #define F1 0x3b00 #define RIGHT 0x4d00 #define YES 0x1...
七彩俄罗斯方块c语言
#include graphics.h 头文件 #include time.h #include stdlib.h #include bios.h #include dos.h #include stdio.h #define ESC 0x11b 键盘扫描码 #define UP 0x4800 #define DOWN 0x5000 #define LEFT 0x4b00 #define F1 0x3b00 #define RIGHT 0x4d00 #define YES 0x1579 #define NO 0x316e #define RESTART 0x1372 struct diamond 每种方块每种状态的信息 { int x[4]; int y[4]; int start_x; int start_y; int color; struct diamond next; }; int grid[12][23]; 记录所有格子的状态 (0)没有方块 (1)有固定方块 (2)有活动方块 int x; 活动方块所在位置 int y; int level; 游戏难度 int count; 计数器 int score;得分 struct diamond nowinfo; 当前活动方块 struct diamond nextinfo; 下一个方块 int color;画格子的颜色 int backcolor;游戏区域背景色 void show_interface (int mode);显示游戏界面 void show_copsign (int topx,int topy,int size,int color);显示公司标志--恒基伟业 void show_intro (int xs,int ys);显示软件介绍区 void print(); 测试用函数 void scandel();扫描所有格子看是否有可消除行 void show_down ();方块下落后的下一个状态 void show_next ();方块翻转后的下一个状态 void show_left ();方块向左移动后的下一个状态 void show_right ();方块向右移动后的下一个状态 void interrupt (oldtimer)();指向未安装前的中断向量,即函数指针,指向一段可执行的代码 void install();安装新的中断向量,即将中断服务程序安装到中断向量表中 void interrupt newtimer();中断服务程序 struct diamond get_diamond();随机得到一个方块 struct diamond create_I();函数用来构造各种类形方块的环形链表 struct diamond create_T();返回链表中随机一个状态的指针 struct diamond create_L(); struct diamond create_J(); struct diamond create_Z(); struct diamond create_N(); struct diamond create_H(); void delinfo (struct diamond info);释放当前方块所占用的空间 void addtobuffer(int c);向键盘缓冲区中增加一个DOWN void clrkey();调用dos中断清空键盘缓冲区,未使用此. void showsubwin(struct diamond next);在小窗口显示下一个方块 void showscore(int scoreget);显示分数 void startset();初始化游戏 main () { int driver=VGA; int mode=VGAHI; int i;计数器 int j; int key;记录键盘扫描码 initgraph (&driver,&mode,);初始化 color=8; backcolor=7; level=1; score=298; count=0; show_interface (9);显示界面 setfillstyle(SOLID_FILL,1); bar(0,465,640,480); outtextxy(5,469,Press any key to start...); getch(); setfillstyle(SOLID_FILL,9); bar(0,465,640,480); showscore(0);显示分数 randomize(); nowinfo=get_diamond ();得到一个当前方块 oldtimer=getvect(0x1c); install(newtimer); for(i=0;i=21;i++)初始化grid[12][23] { for(j=1;j=10;j++) grid[j]=0; } for(i=0;i=22;i++) { grid[0]=1; grid[11]=1; } for(i=0;i=11;i++) { grid[22]=1; } x=nowinfo-start_x;初始化方块位置 y=nowinfo-start_y; nextinfo=get_diamond ();得到下一个方块 showsubwin(nextinfo); for (;;) { key=bioskey(0);得到键盘扫描码 if (key) { switch(key) { case DOWN{ show_down (); break; } case UP{ show_next (); break; } case LEFT{ show_left(); break; } case RIGHT{ show_right(); break; } case RESTART{ install(oldtimer); setfillstyle(SOLID_FILL,1); bar(0,465,640,480); outtextxy(5,469,Are you sure to restart (YN)...); for (;;) { key=bioskey(0);得到键盘扫描码 if (key==YES) { startset(); setfillstyle(SOLID_FILL,9); bar(0,465,640,480); break; } if (key==NO) { setfillstyle(SOLID_FILL,9); bar(0,465,640,480); install(newtimer); break; } } break; }  case F1{ print(); break; }   case ESC{ install(oldtimer); setfillstyle(SOLID_FILL,1); bar(0,465,640,480); outtextxy(5,469,Are you sure to exit (YN)...); for (;;) { key=bioskey(0);得到键盘扫描码 if (key==YES) { closegraph(); exit(0); } if (key==NO) { setfillstyle(SOLID_FILL,9); bar(0,465,640,480); install(newtimer); break; } } } } } } } struct diamond get_diamond() { struct diamond now; switch (random(7)+1) { case 1{ now=create_I(); return now; } case 2{ now=create_T(); return now; } case 3{ now=create_L(); return now; } case 4{ now=create_J(); return now; } case 5{ now=create_Z(); return now; } case 6{ now=create_N(); return now; } case 7{ now=create_H(); return now; } } } void show_interface (int fill_mode) { int i; setbkcolor (9); setcolor (color); setfillstyle (SOLID_FILL,backcolor); bar (100,60,300,420); bar (360,60,440,140); rectangle (100,60,300,420); rectangle (96,56,304,424); rectangle (360,60,440,140); rectangle (356,56,444,144); setfillstyle (fill_mode,14); floodfill (97,57,color); floodfill (397,57,color); setcolor(1); rectangle(96,56,304,424); setcolor (color); for (i=80;i=400;i+=20) { line (100,i,300,i); } for (i=120;i=280;i+=20) { line (i,60,i,420); } for (i=80;i=120;i+=20) { line (360,i,440,i); } for (i=380;i=420;i+=20) { line (i,60,i,140); } show_intro (360,180); show_copsign (475,320,40,1); setfillstyle(SOLID_FILL,1); setcolor(14); rectangle(420,405,534,417); floodfill (421,406,14); outtextxy(422,408,HI-TECH WEALTH); } void show_copsign (int topx,int topy,int size,int color) { int halfsize,qtrsize; int xadd,xdel,yadd1,yadd2; halfsize=0.5size; qtrsize=0.25size; xadd=topx+size; xdel=topx-size; yadd1=topy+size; yadd2=topy+2size; setcolor(color); line (topx,topy,xdel,yadd1); line (xdel,yadd1,topx,yadd2); line (topx,yadd2,xadd,yadd1); line (xadd,yadd1,topx,topy); rectangle (topx-halfsize,topy+halfsize,topx+halfsize,yadd1+halfsize); setfillstyle (SOLID_FILL,color); floodfill (topx,topy+1,color); floodfill (xdel+1,yadd1,color); floodfill (topx,yadd2-1,color); floodfill (xadd-1,yadd1,color); rectangle (topx-halfsize,yadd1-qtrsize,topx-0.75halfsize,yadd1+qtrsize); floodfill (topx-halfsize+1,yadd1-qtrsize+1,color); rectangle (topx-qtrsize,yadd1-halfsize,topx+qtrsize,yadd1-0.25halfsize); floodfill (topx-qtrsize+1,yadd1-halfsize+1,color); rectangle (topx+0.75halfsize,yadd1-qtrsize,topx+halfsize,yadd1+qtrsize); floodfill (topx+0.75halfsize+1,yadd1-qtrsize+1,color); rectangle (topx-qtrsize,yadd1+0.25halfsize,topx+qtrsize,yadd2-halfsize); floodfill (topx-qtrsize+1,yadd1+0.25halfsize+1,color); setcolor(14); line (topx,topy-1,xdel-1,yadd1); line (xdel-1,yadd1,topx,yadd2+1); line (topx,yadd2+1,xadd+1,yadd1); line (xadd+1,yadd1,topx,topy-1); setfillstyle (SOLID_FILL,14); floodfill (topx,yadd1,color); } void show_intro (int xs,int ys) { char stemp[20]; setcolor (15); rectangle(xs-3,ys-3,xs+239,ys+115); line (xs-3,ys+26,xs+239,ys+26); line (xs-3,ys+72,xs+239,ys+72); outtextxy(xs,ys,Level); outtextxy(xs,ys+15,Score); sprintf(stemp, -Roll -Downwards); stemp[0]=24; stemp[7]=25; outtextxy(xs,ys+30,Help); setcolor(14); outtextxy(xs+40,ys+30,stemp); outtextxy(xs+40,ys+45,-Turn Left -Turn Right); outtextxy(xs+40,ys+60,Esc-Exit R-Restart); outtextxy(xs,ys+75,Russia Diamonds Ver 1.0); outtextxy(xs,ys+90,CopyRight By GZ clever boy); outtextxy(xs,ys+105,Emaillihongx2007@163.com); } struct diamond create_I() { struct diamond info; struct diamond first; first=(struct diamond )malloc(sizeof(struct diamond)); info=(struct diamond )malloc(sizeof(struct diamond)); first-next=info; info-next=first; first-x[0]=0; first-y[0]=0; first-x[1]=-1; first-y[1]=0; first-x[2]=1; first-y[2]=0; first-x[3]=2; first-y[3]=0; first-start_x=5; first-start_y=3; first-color=2; info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=-1; info-x[2]=0; info-y[2]=1; info-x[3]=0; info-y[3]=2; info-start_x=5; info-start_y=1; info-color=2; if(random(2)==0) {return first;} else {return first-next;} } struct diamond create_T() { struct diamond info; struct diamond first; struct diamond last; int i; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=0; info-y[2]=-1; info-x[3]=1; info-y[3]=0; info-start_x=5; info-start_y=3; info-color=4; first=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=1; info-y[3]=0; info-start_x=5; info-start_y=2; info-color=4; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=1; info-y[2]=0; info-x[3]=0; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=4; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=-1; info-y[3]=0; info-start_x=5; info-start_y=2; info-color=4; last-next=info; last=info; last-next=first; for (i=0;i=random(4);i++) { first=first-next; } return first; } struct diamond create_L() { struct diamond info; struct diamond first; struct diamond last; int i; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=1; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=5; first=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=1; info-y[2]=0; info-x[3]=-1; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=5; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=-1; info-y[3]=-1; info-start_x=5; info-start_y=2; info-color=5; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=1; info-y[2]=0; info-x[3]=1; info-y[3]=-1; info-start_x=5; info-start_y=2; info-color=5; last-next=info; last=info; last-next=first; for (i=0;i=random(4);i++) { first=first-next; } return first; } struct diamond create_J() { struct diamond info; struct diamond first; struct diamond last; int i; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=-1; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=6; first=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=1; info-y[2]=0; info-x[3]=-1; info-y[3]=-1; info-start_x=5; info-start_y=2; info-color=6; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=0; info-y[2]=-1; info-x[3]=1; info-y[3]=-1; info-start_x=5; info-start_y=2; info-color=6; last-next=info; last=info; info=(struct diamond )malloc(sizeof(struct diamond)); info-x[0]=0; info-y[0]=0; info-x[1]=-1; info-y[1]=0; info-x[2]=1; info-y[2]=0; info-x[3]=1; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=6; last-next=info; last=info; last-next=first; for (i=0;i=random(4);i++) { first=first-next; } return first; } struct diamond create_Z() { struct diamond info; struct diamond first; first=(struct diamond )malloc(sizeof(struct diamond)); info=(struct diamond )malloc(sizeof(struct diamond)); first-next=info; info-next=first; first-x[0]=0; first-y[0]=0; first-x[1]=-1; first-y[1]=0; first-x[2]=0; first-y[2]=1; first-x[3]=1; first-y[3]=1; first-start_x=5; first-start_y=2; first-color=9; info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=1; info-x[2]=1; info-y[2]=0; info-x[3]=1; info-y[3]=-1; info-start_x=5; info-start_y=2; info-color=9; if(random(2)==0) {return first;} else {return first-next;} } struct diamond create_N() { struct diamond info; struct diamond first; first=(struct diamond )malloc(sizeof(struct diamond)); info=(struct diamond )malloc(sizeof(struct diamond)); first-next=info; info-next=first; first-x[0]=0; first-y[0]=0; first-x[1]=0; first-y[1]=1; first-x[2]=-1; first-y[2]=1; first-x[3]=1; first-y[3]=0; first-start_x=5; first-start_y=2; first-color=14; info-x[0]=0; info-y[0]=0; info-x[1]=0; info-y[1]=-1; info-x[2]=1; info-y[2]=0; info-x[3]=1; info-y[3]=1; info-start_x=5; info-start_y=2; info-color=14; if(random(2)==0) {return first;} else {return first-next;} } struct diamond create_H() { struct diamond first; first=(struct diamond )malloc(sizeof(struct diamond)); first-next=first; first-x[0]=0; first-y[0]=0; first-x[1]=0; first-y[1]=1; first-x[2]=1; first-y[2]=0; first-x[3]=1; first-y[3]=1; first-start_x=5; first-start_y=2; first-color=1; return first; } void show_next () { int nowx;记录当前每个格子的位置 int nowy; int i;计数器 int j; int haveit;当前格子是否已经显示 struct diamond next;当前方块的翻转后的下一个状态 next=nowinfo-next; if (next==NULL) {gotoxy(1,1);printf(null);} for (i=0;i=3;i++)判断是否能够翻转,若不能,就直接退出该函数 { if (grid[x+next-x][y+next-y]==1) { return; } } setfillstyle(SOLID_FILL,backcolor);设置背景色以消除不需要的格子 for (i=0;i=3;i++) { haveit=0; for (j=0;j=3;j++) { if (next-x[j]==nowinfo-x&&next-y[j]==nowinfo-y) {haveit=1;break;} } if (haveit==0) 判断翻转后该格子是否显示,若不显示,将该格子设为背景色 { grid[x+nowinfo-x][y+nowinfo-y]=0; if (y+nowinfo-y=4)判断该格子是否到了可以显示的区域 floodfill(80+(nowinfo-x+x)20+1,-20+(nowinfo-y+y)20+1,color); } } nowinfo=next; nowx=x; nowy=y; setfillstyle(SOLID_FILL,nowinfo-color);设置填冲色为方块的颜色 for (i=0;i=3;i++) { if (grid[x+nowinfo-x][y+nowinfo-y]!=2)如果该格子还没有被显示 { nowx=x+nowinfo-x; nowy=y+nowinfo-y; if (y+nowinfo-y=4) floodfill(80+nowx20+1,-20+nowy20+1,color); grid[nowx][nowy]=2; 设置该格子当前有活动方块 } } return; } void show_left () { int i;计数器 int j; int haveit;当前格子是否已经显示 int nowx;记录当前每个格子的位置 int nowy; for (i=0;i=3;i++)判断是否可以向左移动 { if (grid[x-1+nowinfo-x][y+nowinfo-y]==1) { return; } } setfillstyle(SOLID_FILL,backcolor);设置背景色以消除不需要的格子 for (i=0;i=3;i++) { haveit=0; for (j=0;j=3;j++) { if (nowinfo-x==nowinfo-x[j]-1&&nowinfo-y==nowinfo-y[j]) {haveit=1;break;} } if (haveit==0) 判断翻转后该格子是否显示,若不显示,将该格子设为背景色 { grid[x+nowinfo-x][y+nowinfo-y]=0; if (y+nowinfo-y=4)判断该格子是否到了可以显示的区域 floodfill(80+(nowinfo-x+x)20+1,-20+(nowinfo-y+y)20+1,color); } } setfillstyle(SOLID_FILL,nowinfo-color);设置填冲色为方块的颜色 for (i=0;i=3;i++) { nowx=x+nowinfo-x-1; nowy=y+nowinfo-y; if (grid[nowx][nowy]!=2)如果该格子还没有被显示 { if (nowy=4) floodfill(80+nowx20+1,-20+nowy20+1,color); grid[nowx][nowy]=2; } } x=x-1; return; } void show_right () { int i;计数器 int j; int haveit;当前格子是否已经显示 int nowx;记录当前每个格子的位置 int nowy; for (i=0;i=3;i++) { if (grid[x+1+nowinfo-x][y+nowinfo-y]==1) { return;判断是否可以向右移动 } } setfillstyle(SOLID_FILL,backcolor);设置背景色以消除不需要的格子 for (i=0;i=3;i++) { haveit=0; for (j=0;j=3;j++) { if (nowinfo-x==nowinfo-x[j]+1&&nowinfo-y==nowinfo-y[j]) {haveit=1;break;} } if (haveit==0)判断翻转后该格子是否显示,若不显示,将该格子设为背景色 { grid[x+nowinfo-x][y+nowinfo-y]=0; if (y+nowinfo-y=4)判断该格子是否到了可以显示的区域 floodfill(80+(nowinfo-x+x)20+1,-20+(nowinfo-y+y)20+1,color); } } setfillstyle(SOLID_FILL,nowinfo-color);设置填冲色为方块的颜色 for (i=0;i=3;i++) { nowx=x+nowinfo-x+1; nowy=y+nowinfo-y; if (grid[nowx][nowy]!=2) { if (nowy=4)判断该格子是否到了可以显示的区域 floodfill(80+nowx20+1,-20+nowy20+1,color); grid[nowx][nowy]=2; } } x=x+1; return; } void show_down () { int i;计数器 int j; int haveit;当前格子是否已经显示 int nowx;记录当前每个格子的位置 int nowy; int key; for (i=0;i=3;i++) { if (grid[x+nowinfo-x][y+nowinfo-y+1]==1)判断方块是否能够下落 { for (j=0;j=3;j++) { grid[x+nowinfo-x[j]][y+nowinfo-y[j]]=1; if (y+nowinfo-y[j]=3) {判断游戏是否已经玩完 install(oldtimer); setfillstyle(SOLID_FILL,1); bar(0,465,640,480); outtextxy(5,469,Do you want to restart (YN)...); for (;;) { key=bioskey(0); if (key==YES) { startset(); setfillstyle(SOLID_FILL,9); bar(0,465,640,480); return; } if (key==NO) { closegraph(); exit (0);} } } } delinfo(nowinfo); scandel();扫描,删除 delay(2500); while(bioskey(1)) bioskey(0);清除键盘缓冲区  clrkey(); nowinfo=nextinfo;得到新的方块 nextinfo=get_diamond();得到下一个方块 showsubwin(nextinfo); x=nowinfo-start_x;重新设置方块位置 y=nowinfo-start_y; return; } } setfillstyle(SOLID_FILL,backcolor);设置背景色以消除不需要的格子 for (i=0;i=3;i++) { haveit=0; for (j=0;j=3;j++) { if (nowinfo-x==nowinfo-x[j]&&nowinfo-y==nowinfo-y[j]+1) {haveit=1;break;} } if (haveit==0)判断翻转后该格子是否显示,若不显示,将该格子设为背景色 { grid[x+nowinfo-x][y+nowinfo-y]=0; if (y+nowinfo-y=4)判断该格子是否到了可以显示的区域 floodfill(80+(nowinfo-x+x)20+1,-20+(nowinfo-y+y)20+1,color); } } setfillstyle(SOLID_FILL,nowinfo-color);设置填冲色为方块的颜色 for (i=0;i=3;i++) { nowx=x+nowinfo-x; nowy=y+nowinfo-y+1; if (grid[nowx][nowy]!=2)如果该格子还没有被显示 { if (nowy=4) floodfill(80+nowx20+1,-20+nowy20+1,color); grid[nowx][nowy]=2; } } y=y+1; return; } void print()测试用函数 { int i; int j; gotoxy(1,1); for (j=0;j=22;j++) {for (i=0;i=11;i++) { printf (%d,grid[j]);} printf (n); } } void scandel() { int i; int k; int j; int num; int scoreadd; scoreadd=0; for (k=21;k=4;k--) { num=0; for (i=1;i=10;i++) { if (grid[k]==1) num++; } if (num==10) { scoreadd++; for (i=1;i=10;i++) { setfillstyle(SOLID_FILL,backcolor); floodfill(80+i20+1,-20+k20+1,color); } for (j=k;j=5;j--) { for (i=1;i=10;i++) { setfillstyle(SOLID_FILL,getpixel(80+i20+1,-40+j20+1)); floodfill(80+i20+1,-20+j20+1,color); grid[j]=grid[j-1]; } } for (i=1;i=10;i++) { setfillstyle(SOLID_FILL,backcolor); floodfill(80+i20+1,61,color); grid[4]=0; } k++; } } if (scoreadd!=0) showscore(2scoreadd-1); } void interrupt newtimer()新的定时中断调用 { int leveltemp; leveltemp=11-level; count++; if(count=leveltemp) { addtobuffer(DOWN); count=0; } (oldtimer)(); } void install (void interrupt (paddr)()) { disable(); setvect(0x1c,paddr); enable(); } void delinfo (struct diamond info)释放开辟的空间 { struct diamond now; struct diamond next; now=info-next; next=info-next; while(next!=info) { next=now-next; free(now); now=next; } free(info); } void addtobuffer(int c)向键盘缓冲区中增加一个DOWN { unsigned i; i=(unsigned far )0x0040001CL; (unsigned far )(0x00400000L  i)=c; i+=2; if (i=(unsigned far )0x00400082L) i=(unsigned far )0x00400080L; (unsigned far )0x0040001CL=i; } void clrkey()调用dos中断清空键盘缓冲区,未使用此方法. { union REGS in ; in.h.ah = 0x0c ; in.h.al = 0x00 ; intdos(&in , &in) ; }   void showsubwin(struct diamond next) { int i;计数器 int j; setfillstyle (SOLID_FILL,backcolor); for (i=0;i=3;i++) { for(j=0;j=3;j++) { floodfill(361+20i,61+20j,color); } } setfillstyle (SOLID_FILL,next-color); for (i=0;i=3;i++) { floodfill(381+next-x20,81+next-y20,color); } } void showscore(int scoreget) { char sscore[6]; char slevel[2]; score+=scoreget; if (score1000) level=score100+1; sprintf(sscore,%d,score); sprintf(slevel,%d,level); setfillstyle(SOLID_FILL,9); bar(406,179,490,203); setcolor(14); outtextxy (408,180,slevel); outtextxy (408,195,sscore); } void startset() { int i; int j; setfillstyle(SOLID_FILL,backcolor); for(i=0;i=21;i++)重新初始化 { for(j=1;j=10;j++) if (grid[j]!=0) { grid[j]=0; if (i=4) floodfill(80+j20+1,-20+i20+1,color); } } score=0; showscore(0); nowinfo=get_diamond ();得到一个当前方块 x=nowinfo-start_x;初始化方块位置 y=nowinfo-start_y; nextinfo=get_diamond ();得到下一个方块 showsubwin(nextinfo); install(newtimer); }
/
本文档为【七彩俄罗斯方块c语言】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索