用c语言编一个小游戏
#include "std.h" #include "graphics.h" #include "conio.h" #include "stdlib.h" #include "math.h" void initgr(void){ int gd=DETECT,gm; registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,""); } int x1=200,y1=100; char accept,*p,*q; int *you; void turn_right(char accept); void turn_left(char accept) ; void turn_down(char accept) ; void change(); void main() { int i; int polygon1[18],polygon2[18],polygon3[18],polygon4[18]; /*第一方块*/ polygon1[0]=x1; polygon1[1]=y1; polygon1[2]=x1+30; polygon1[3]=y1; polygon1[4]=x1+30; polygon1[5]=y1+10; polygon1[6]=x1+20; polygon1[7]=y1+10; polygon1[8]=x1+20; polygon1[9]=y1+20; polygon1[10]=x1+10; polygon1[11]=y1+20; polygon1[12]=x1+10; polygon1[13]=y1+10; polygon1[14]=x1; polygon1[15]=y1+10; polygon1[16]=x1; polygon1[17]=y1; /*第二方块*/ polygon2[0]=x1+10; polygon2[1]=y1; polygon2[2]=x1+20; polygon2[3]=y1; polygon2[4]=x1+20; polygon2[5]=y1+30; polygon2[6]=x1+10; polygon2[7]=y1+30; polygon2[8]=x1+10; polygon2[9]=y1+20; polygon2[10]=x1; polygon2[11]=y1+20; polygon2[12]=x1; polygon2[13]=y1+10; polygon2[14]=x1+10; polygon2[15]=y1+10; polygon2[16]=x1+10; polygon2[17]=y1; you=polygon2; initgr(); /*设置方块*/ setcolor(RED); setbkcolor(8); setfillstyle(1,RED); drawpoly(9,polygon2); floodfill(x1+14,y1+14,RED); setcolor(14); drawpoly(9,polygon2); /*把方块信息载入*/ p=malloc(imagesize(x1,y1,x1+30,y1+20)); /*enter=13*/ getimage(x1,y1,x1+30,y1+30,p); /*接受字符判断和实现方块的具体移动*/ accept=getch(); while(accept!='*'){ if(accept=='d'||accept=='D') turn_right(accept); else if(accept=='a'||accept=='A') turn_left(accept); else if(accept=='s'||accept=='S') turn_down(accept); accept=getch(); /* if(accept==13) change(); */ } /*结束函数*/ closegraph(); } void turn_right(char accept) /*把方块向右移动*/ { while(accept=='d'||accept=='D'){ putimage(x1,y1,p,1); x1+=10; putimage(x1,y1,p,1); accept=getch(); /* if(accept==13) change(); */ delay(100000000000000000000000000); } } void turn_left(char accept) /*把方块向左移动*/ { while(accept=='a'||accept=='A'){ putimage(x1,y1,p,1); x1-=10; putimage(x1,y1,p,1); accept=getch(); /* if(accept==13) change(); */ delay(100000000000000000000000000); } } void turn_down(char accept) /*把方块向下移动*/ { while(accept=='s'||accept=='S'){ putimage(x1,y1,p,1); y1+=3; putimage(x1,y1,p,1); accept=getch(); /* if(accept==13) change(); */ delay(1000000); } } /*void change() { setcolor(8); setfillstyle(1,8); rectangle(x1,y1,x1+30,y1+30); floodfill(x1+15,y1+15,8); setcolor(RED); setbkcolor(8); setfillstyle(1,RED); drawpoly(9,you); floodfill(x1+14,y1+14,RED); setcolor(14); drawpoly(9,you); p=malloc(imagesize(x1,y1,x1+30,y1+20)); getimage(x1,y1,x1+30,y1+30,p); } */