📄 efc.txt
字号:
#include <dos.h>
#include<graphics.h>
#include<stdlib.h>
#define KEY_UP 0x4800
#define KEY_DOWN 0x5000
#define KEY_LEFT 0x4b00
#define KEY_RIGHT 0x4d00
void interrupt (*old)();
int score=0;
int le=0;
int cou=0;
int xing_type;
int pos_x=260;
int pos_y=20;
int scene[10][20];
char *go="Game Over~~";
struct pos{int x; int y; };
struct rb4{struct pos b[4][4];int type;};
struct rb4 gun[7];
void interrupt intproc()
{ cou++;
old();}
int can_do(int kk,int typ_g,int typ_x)
{ int kkey=kk;
int type_gun=typ_g;
int type_xing=typ_x;
int i,j,k,ind_x,ind_y;
int now_x,now_y;
now_x=pos_x;
now_y=pos_y;
switch(kkey){
case(KEY_LEFT):now_x=pos_x-20; now_y=pos_y; break;
case(KEY_RIGHT):now_x=pos_x+20; now_y=pos_y;break;
case(KEY_DOWN): now_x=pos_x;now_y=pos_y+20; break;
case(KEY_UP):
if(type_xing==3)
type_xing=0;
else
type_xing++;
break;
}
for(i=0;i<=3;i++)
{ind_x=(now_x+gun[type_gun].b[i][type_xing].x-200)/20;
ind_y=(now_y+gun[type_gun].b[i][type_xing].y-20)/20;
if (ind_x<0 || ind_x>9||ind_y>19||scene[ind_x][ind_y]==1)
return 0; }
return 1;}
main()
{ int next_type;
int yu_x=50;
int yu_y=50;
int key,b_type;
int i,ii,j,jj,jjj,iii,k,zong;
int grap_c=DETECT,grap_m;
int zu_x,zu_y;
int jiading=5;
initgraph(&grap_c,&grap_m,"");
setlinestyle(0,0,3);
setcolor(4);
moveto(195,15);
lineto(405,15);
lineto(405,425);
lineto(195,425);
lineto(195,15);
gotoxy(10,10);
printf("Score:%d",score);
gotoxy(10,11);
printf("Level:%d",le);
gotoxy(62,24);
printf("copyright@Kxw");
/* gun1 init */
gun[0].b[0][0].x=20;gun[0].b[0][0].y=0;gun[0].b[1][0].x=40; gun[0].b[1][0].y=0;
gun[0].b[2][0].x=40;gun[0].b[2][0].y=20; gun[0].b[3][0].x=40;gun[0].b[3][0].y=40;
gun[0].b[0][1].x=40;gun[0].b[0][1].y=0;gun[0].b[1][1].x=40; gun[0].b[1][1].y=20;
gun[0].b[2][1].x=20;gun[0].b[2][1].y=20; gun[0].b[3][1].x=0;gun[0].b[3][1].y=20;
gun[0].b[0][2].x=40;gun[0].b[0][2].y=40;gun[0].b[1][2].x=20; gun[0].b[1][2].y=40;
gun[0].b[2][2].x=20;gun[0].b[2][2].y=20; gun[0].b[3][2].x=20;gun[0].b[3][2].y=0;
gun[0].b[0][3].x=20;gun[0].b[0][3].y=40;gun[0].b[1][3].x=20; gun[0].b[1][3].y=20;
gun[0].b[2][3].x=40;gun[0].b[2][3].y=20; gun[0].b[3][3].x=60;gun[0].b[3][3].y=20;
gun[0].type=4;
/* gun2 init */
gun[1].b[0][0].x=40;gun[1].b[0][0].y=0;gun[1].b[1][0].x=20; gun[1].b[1][0].y=0;
gun[1].b[2][0].x=20;gun[1].b[2][0].y=20; gun[1].b[3][0].x=20;gun[1].b[3][0].y=40;
gun[1].b[0][1].x=40;gun[1].b[0][1].y=40;gun[1].b[1][1].x=40; gun[1].b[1][1].y=20;
gun[1].b[2][1].x=20;gun[1].b[2][1].y=20; gun[1].b[3][1].x=0;gun[1].b[3][1].y=20;
gun[1].b[0][2].x=20;gun[1].b[0][2].y=40;gun[1].b[1][2].x=40; gun[1].b[1][2].y=40;
gun[1].b[2][2].x=40;gun[1].b[2][2].y=20; gun[1].b[3][2].x=40;gun[1].b[3][2].y=0;
gun[1].b[0][3].x=20;gun[1].b[0][3].y=20;gun[1].b[1][3].x=20; gun[1].b[1][3].y=40;
gun[1].b[2][3].x=40;gun[1].b[2][3].y=40; gun[1].b[3][3].x=60;gun[1].b[3][3].y=40;
gun[1].type=4;
/* gun[2] init */
gun[2].b[0][0].x=20;gun[2].b[0][0].y=0;gun[2].b[1][0].x=00; gun[2].b[1][0].y=20;
gun[2].b[2][0].x=20;gun[2].b[2][0].y=20; gun[2].b[3][0].x=40;gun[2].b[3][0].y=20;
gun[2].b[0][1].x=40;gun[2].b[0][1].y=20;gun[2].b[1][1].x=20; gun[2].b[1][1].y=0;
gun[2].b[2][1].x=20;gun[2].b[2][1].y=20; gun[2].b[3][1].x=20;gun[2].b[3][1].y=40;
gun[2].b[0][2].x=20;gun[2].b[0][2].y=40;gun[2].b[1][2].x=0; gun[2].b[1][2].y=20;
gun[2].b[2][2].x=20;gun[2].b[2][2].y=20; gun[2].b[3][2].x=40;gun[2].b[3][2].y=20;
gun[2].b[0][3].x=0;gun[2].b[0][3].y=20;gun[2].b[1][3].x=20; gun[2].b[1][3].y=0;
gun[2].b[2][3].x=20;gun[2].b[2][3].y=20; gun[2].b[3][3].x=20;gun[2].b[3][3].y=40;
gun[2].type=4;
/* zuo init */
gun[3].b[0][0].x=0;gun[3].b[0][0].y=20;gun[3].b[1][0].x=20; gun[3].b[1][0].y=20;
gun[3].b[2][0].x=20;gun[3].b[2][0].y=40; gun[3].b[3][0].x=40;gun[3].b[3][0].y=40;
gun[3].b[0][1].x=0;gun[3].b[0][1].y=40;gun[3].b[1][1].x=0; gun[3].b[1][1].y=20;
gun[3].b[2][1].x=20;gun[3].b[2][1].y=20; gun[3].b[3][1].x=20;gun[3].b[3][1].y=0;
gun[3].b[0][2].x=0;gun[3].b[0][2].y=20;gun[3].b[1][2].x=20; gun[3].b[1][2].y=20;
gun[3].b[2][2].x=20;gun[3].b[2][2].y=40; gun[3].b[3][2].x=40;gun[3].b[3][2].y=40;
gun[3].b[0][3].x=0;gun[3].b[0][3].y=40;gun[3].b[1][3].x=0; gun[3].b[1][3].y=20;
gun[3].b[2][3].x=20;gun[3].b[2][3].y=20; gun[3].b[3][3].x=20;gun[3].b[3][3].y=0;
gun[3].type=4;
/* you init */
gun[4].b[0][0].x=0;gun[4].b[0][0].y=40;gun[4].b[1][0].x=20; gun[4].b[1][0].y=40;
gun[4].b[2][0].x=20;gun[4].b[2][0].y=20; gun[4].b[3][0].x=40;gun[4].b[3][0].y=20;
gun[4].b[0][1].x=20;gun[4].b[0][1].y=0;gun[4].b[1][1].x=20; gun[4].b[1][1].y=20;
gun[4].b[2][1].x=40;gun[4].b[2][1].y=20; gun[4].b[3][1].x=40;gun[4].b[3][1].y=40;
gun[4].b[0][2].x=0;gun[4].b[0][2].y=40;gun[4].b[1][2].x=20; gun[4].b[1][2].y=40;
gun[4].b[2][2].x=20;gun[4].b[2][2].y=20; gun[4].b[3][2].x=40;gun[4].b[3][2].y=20;
gun[4].b[0][3].x=20;gun[4].b[0][3].y=0;gun[4].b[1][3].x=20; gun[4].b[1][3].y=20;
gun[4].b[2][3].x=40;gun[4].b[2][3].y=20; gun[4].b[3][3].x=40;gun[4].b[3][3].y=40;
gun[4].type=4;
/* gang init */
gun[5].b[0][0].x=0;gun[5].b[0][0].y=20;gun[5].b[1][0].x=20; gun[5].b[1][0].y=20;
gun[5].b[2][0].x=40;gun[5].b[2][0].y=20; gun[5].b[3][0].x=60;gun[5].b[3][0].y=20;
gun[5].b[0][1].x=20;gun[5].b[0][1].y=0;gun[5].b[1][1].x=20; gun[5].b[1][1].y=20;
gun[5].b[2][1].x=20;gun[5].b[2][1].y=40; gun[5].b[3][1].x=20;gun[5].b[3][1].y=60;
gun[5].b[0][2].x=0;gun[5].b[0][2].y=20;gun[5].b[1][2].x=20; gun[5].b[1][2].y=20;
gun[5].b[2][2].x=40;gun[5].b[2][2].y=20; gun[5].b[3][2].x=60;gun[5].b[3][2].y=20;
gun[5].b[0][3].x=20;gun[5].b[0][3].y=0;gun[5].b[1][3].x=20; gun[5].b[1][3].y=20;
gun[5].b[2][3].x=20;gun[5].b[2][3].y=40; gun[5].b[3][3].x=20;gun[5].b[3][3].y=60;
gun[5].type=4;
/* fang init*/
for(i=0;i<=3;i++){
gun[6].b[0][i].x=20;gun[6].b[0][i].y=0;gun[6].b[1][i].x=40; gun[6].b[1][i].y=0;
gun[6].b[2][i].x=20;gun[6].b[2][i].y=20; gun[6].b[3][i].x=40;gun[6].b[3][i].y=20;}
gun[6].type=4;
for(i=0;i<=9;i++)
for(j=0;j<=19;j++)
scene[i][j]=0;
/* interrupt */
old=getvect(0x1c);
setvect(0x1c,intproc);
enable();
xing_type=0;
/*b_type=jiading;*/
next_type=random(7);
b_type=next_type;
next_type=random(7);
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[next_type].b[i][0].x+yu_x,gun[next_type].b[i][0].y+yu_y,gun[next_type].b[i][0].x+yu_x+20,gun[next_type].b[i][0].y+yu_y+20);
/*b_type=now_type;*/
for(;;)
{
if(kbhit()!=0)
{key=bioskey(0);
if(key==KEY_LEFT)
if (can_do(KEY_LEFT,b_type,xing_type))
{ setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
pos_x=pos_x-20;
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);}
else ;
else
if(key==KEY_RIGHT)
if (can_do(KEY_RIGHT,b_type,xing_type))
{ setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
pos_x=pos_x+20;
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);}
else ;
else
if(key==KEY_DOWN)
if (can_do(KEY_DOWN,b_type,xing_type))
{ setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
pos_y=pos_y+20;
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);}
else ;
else
if(key==KEY_UP)
if (can_do(KEY_UP,b_type,xing_type))
{ setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
xing_type++;
if(xing_type==4)
xing_type=0;
else ;
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);}
else ;
else
break;
}
if(cou>=(18-le))
if (can_do(KEY_DOWN,b_type,xing_type))
{setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
pos_y=pos_y+20;
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[b_type].b[i][xing_type].x+pos_x,gun[b_type].b[i][xing_type].y+pos_y,gun[b_type].b[i][xing_type].x+pos_x+20,gun[b_type].b[i][xing_type].y+pos_y+20);
cou=0;
}
else
{
for(i=0;i<=3;i++)
{zu_x=(pos_x+gun[b_type].b[i][xing_type].x-200)/20;
zu_y=(pos_y+gun[b_type].b[i][xing_type].y-20)/20;
scene[zu_x][zu_y]=1; }
for(jj=0;jj<=19;jj++){
zong=0;
for(ii=0;ii<=9;ii++)
if(scene[ii][jj]==0)
break;
else
{zong=zong+scene[ii][jj];
if(zong==10){
score++;
le=score/10;
gotoxy(16,10);
printf("%d",score);
gotoxy(16,11);
printf("%d",le);
setfillstyle(SOLID_FILL,BLACK);
for(jjj=jj;jjj>=1;jjj--)
for(iii=0;iii<=9;iii++){
scene[iii][jjj]=scene[iii][jjj-1];
bar(20*iii+200,20*jjj+20,20*iii+220,20*jjj+40);
}
}
}
}
setfillstyle(SOLID_FILL,GREEN);
for(ii=0;ii<=9;ii++)
for(jj=0;jj<=19;jj++)
if(scene[ii][jj]==1)
bar(20*ii+200,20*jj+20,20*ii+220,20*jj+40);
pos_x=260;
pos_y=20;
/*b_type=jiading; */
xing_type=0;
b_type=next_type;
setfillstyle(SOLID_FILL,BLACK);
for(i=0;i<=3;i++)
bar(gun[next_type].b[i][0].x+yu_x,gun[next_type].b[i][0].y+yu_y,gun[next_type].b[i][0].x+yu_x+20,gun[next_type].b[i][0].y+yu_y+20);
next_type=random(7);
setfillstyle(SOLID_FILL,GREEN);
for(i=0;i<=3;i++)
bar(gun[next_type].b[i][0].x+yu_x,gun[next_type].b[i][0].y+yu_y,gun[next_type].b[i][0].x+yu_x+20,gun[next_type].b[i][0].y+yu_y+20);
/* b_type=now_type;*/
for(iii=0;iii<=9;iii++)
if(scene[iii][0]==1)
{ moveto(300,200);
outtext(go);
while(getch()!=0)
exit(0); }
}
else
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -