语句"/>
apache 无法解析html文件,apache怎么不解析html内嵌的php语句
# include
# include
# include
# include
# include
# include
/* 七种拼块的形状数据 */
char fk[7][4][2]={
1,1,1,2,1,3,1,4,
1,1,1,2,1,3,2,3,
2,1,2,2,1,3,2,3,
1,1,1,2,2,2,2,3,
2,1,2,2,1,3,2,3,
1,1,2,1,1,2,2,2,
1,1,1,2,1,3,2,2};
/* 存放组成拼块的四个小方块X和Y坐标 */
int kx[4],ky[4];
/* 桶 */
int tong[13][25];
/* 等待按键并延时的函数 */
char key(int s)
{
clock_t t1,t2;
char c;
t1=clock();
do
t2=clock();
while (((t2-t1)
if (kbhit())
c=getch();
else
c=0;
return c;
}
/* 显示或清除方块的函数 */
void kuai(int x,int y,int c)
{
char cc[3];
if(c==1)
strcpy(cc,"[]");
else
strcpy(cc," ");
gotoxy(x*2,y);
puts(cc);
gotoxy(79,24);
}
/* 画出拼块 */
void hua()
{
int i;
for(i=0;i<4;i++)
kuai(kx[i],ky[i],1);
}
/* 清除拼块的函数 */
void ca()
{
int i;
for(i=0;i<4;i++)
kuai(kx[i],ky[i],0);
}
/* 拼块下落一行 */
int xialuo()
{
int t,i;
ca();
t=1;
for(i=0;i<4;i++){
if(ky[i]==24) {t=0; break;};
if(tong[kx[i]][ky[i]+1]==1) {t=0; break;};
}
if(t==1)
for(i=0;i<4;i++)
ky[i]=ky[i]+1;
else
for(i=0;i<4;i++)
tong[kx[i]][ky[i]]=1;
hua();
return t;
}
/* 拼块左右移动函数 */
void yidong(int p)
{
int t,i;
ca();
t=1;
i=0;
do{
if((kx[i]==1)&&(p==-1)) {t=0; break;};
if((kx[i]==12)&&(p==1)) {t=0; break;};
if (tong[kx[i]+p][ky[i]]==1) {t=0; break;};
i++;
} while (i<4);
if(t==1)
for(i=0;i<4;i++)
kx[i]=kx[i]+p;
hua();
}
/* 旋转拼块的函数 */
void zhuan()
{
int i,t,x,y;
int kx1[4],ky1[4];
ca();
x=kx[1]; y=ky[1];
for(i=0;i<4;i++) {
kx1[i]=x+y-ky[i]; ky1[i]=y-x+kx[i];
}
t=1;
for(i=0;i<4;i++){
if((kx1[i]<1)||(kx1[i]>12)||(ky1[i]<1)||(ky1[i]>24)) {t=0; break;};
if (tong[kx1[i]][ky1[i]]==1) {t=0; break;};
}
if(t==1)
for(i=0;i<4;i++){
kx[i]=kx1[i]; ky[i]=ky1[i];
};
hua();
}
/* 计算一行中的方块数 */
int fangkuaishu(int h)
{
int i,p=0;
for(i=1;i<=12;i++)
p=p+tong[i][h];
if(p==12)
for(i=1000;i<=4000;i+=80){
sound(i);
delay(10);
}
nosound();
return p;
}
/* 桶中方块除去一行,在此行上面的方块下移一行 */
void yihang(int h)
{
int k,j,q;
for(k=h;k>0;k--){
q=0;
for(j=1;j<=12;j++){
if(tong[j][k]!=tong[j][k-1]){
kuai(j,k,tong[j][k-1]);
tong[j][k]=tong[j][k-1];
}
q=q+tong[j][k];
}
if(q==0) break;
}
}
/* 检查有无完成的行,并处理之 */
void jiancha()
{
int i,n;
i=24;
do{
n=fangkuaishu(i);
if(n==12) yihang(i); else i--;
} while((i>0)&&(n>0));
}
/* 开始函数,初始化,画出空桶*/
void kaishi()
{
int i,j;
for(i=1;i<=24;i++)
for(j=1;j<=12;j++)
tong[j][i]=0;
clrscr();
for(i=0;i<24;i++)
puts("| |");
printf("`------------------------'");
randomize();
}
/**********************************************/
/* 主程序 */
main()
{
int i,j,k,s;
int m,t;
char kk;
kaishi(); /* 屏幕初始化,显示空桶 */
for(;;){ /* 开始一个循环,在此循环中不断检测按键并处理之 */
m=rand()%7; /* 随机产生一种拼块 */
for(i=0;i<4;i++){ /* 计算拼块在桶中的坐标 */
kx[i]=fk[m][i][0]+5;
ky[i]=fk[m][i][1];
}
t=1;
for(i=0;i<4;i++) /* 检查拼块是否能放入桶中,不能放则退出游戏 */
if (tong[kx[i]][ky[i]]==1)
exit(0);
hua(); /* 画出拼块 */
s=0; /* S是一个标志,指示是否按了空格键 */
for(;;){ /* 此循环中处理一个拼块的下落过程 */
if(s==0) kk=key(9); else kk=key(0); /* 按过了空格键则不延时 */
if((kk>='a')&&(kk<='z')) kk=kk-32; /* 将小写字母转换为大写 */
switch (kk){ /* 根据按键作相应处理 */
case ' ' : s=1; break; /* 按空格, 快速下落 */
case 'K': zhuan(); break; /* 按K,旋转拼块 */
case 'J': yidong(-1); break; /* 按J,左移拼块 */
case 'L': yidong(1); break; /* 按L,右移拼块 */
case 'S': while(kbhit()==0);break; /* 按S,暂停游戏 */
case 'E': exit(0); break; /* 按E,结束游戏 */
default : t=xialuo(); /* 没按上面的键,或未按任何键,拼块下落一格 */
}
if(t==0) break; /* 拼块落到桶底或不能再下落退出循环 */
}
jiancha(); /* 检查是否有完成的行,并处理之 */
}
}
#include
#include
#include
#define LEFTPRESS 0xff01
#define LEFTCLICK 0xff10
#define LEFTDRAG 0xff19
#define MOUSEMOVE 0xff08
int num[10][10];/*范围*/
int p[10][10];/*统计雷的数组*/
int loop;/*重新来的标志*/
int again=0;/*是否重来的变量*/
int scorenum;/*一开始统计有几个雷*/
char score[3];/*输出一共有几个地雷*/
int Keystate;
int MouseExist;
int MouseButton;
int MouseX;
int MouseY;
/*鼠标光标形状定义*/
typedef struct
{
unsigned int shape[32];
char hotx;
char hoty;
}SHAPE;
/*箭头型*/
SHAPE ARROW={
{
0x3fff,0x1fff,0x0fff,0x07ff,
0x03ff,0x01ff,0x00ff,0x007f,
0x003f,0x00ff,0x01ff,0x10ff,
0x30ff,0xf87f,0xf87f,0xfc3f,
0x0000,0x7c00,0x6000,0x7000,
0x7800,0x7c00,0x7e00,0x7f00,
0x7f80,0x7e00,0x7c00,0x4600,
0x0600,0x0300,0x0300,0x0180
},
0,0,
};
/*鼠标光标显示*/
void MouseOn()
{
_AX=0x01;
geninterrupt(0x33);
}
/*鼠标光标掩示*/
void MouseOff()/*鼠标光标隐藏*/
{
_AX=0x02;
geninterrupt(0x33);
}
void MouseSetXY(int x,int y)/*设置当前位置*/
{
_CX=x;
_DX=y;
_AX=0x04;
geninterrupt(0x33);
}
int LeftPress()/*左键按下*/
{
_AX=0x03;
geninterrupt(0x33);
return(_BX&1);
}
void MouseGetXY()/*得到当前位置*/
{
_AX=0x03;
geninterrupt(0x33);
MouseX=_CX;
MouseY=_DX;
}
begain()/*游戏开始画面*/
{
int i,j;
loop: cleardevice();
MouseOn();
MouseSetXY(180,30);
MouseX=180;
MouseY=30;
scorenum=0;
setfillstyle(SOLID_FILL,7);
bar(190,60,390,290);
setfillstyle(SOLID_FILL,8);
for(i=100;i<300;i+=20)/*画格子*/
for(j=200;j<400;j+=20)
bar(j-8,i+8,j+8,i-8);
setcolor(7);
setfillstyle(SOLID_FILL,YELLOW);/*画脸*/
fillellipse(290,75,10,10);
setcolor(YELLOW);
setfillstyle(SOLID_FILL,0);
fillellipse(285,75,2,2);
fillellipse(295,75,2,2);
setcolor(0);
bar(287,80,293,81);
randomize();
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
num[i][j]=random(7)+10;/*用10代表地雷算了*/
if(num[i][j]==10)
scorenum++;
}
sprintf(score,"%d",scorenum);
setcolor(1);
settextstyle(0,0,2);
outtextxy(210,70,score);
scorenum=100-scorenum;/*为了后面判断胜利*/
}
gameove()/*游戏结束画面*/
{
int i,j;
setcolor(0);
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(num[i][j]==10)/*是地雷的就显示出来*/
{
setfillstyle(SOLID_FILL,RED);
bar(200+j*20-8,100+i*20-8,200+j*20+8,100+i*20+8);
setfillstyle(SOLID_FILL,0);
fillellipse(200+j*20,100+i*20,7,7);
}
}
int tongji(int i,int j)/*计算有几个雷*/
{
int x=0;/*10代表地雷*/
if(i==0&&j==0)
{
if(num[0][1]==10)
x++;
if(num[1][0]==10)
x++;
if(num[1][1]==10)
x++;
}
else if(i==0&&j==9)
{
if(num[0][8]==10)
x++;
if(num[1][9]==10)
x++;
if(num[1][8]==10)
x++;
}
else if(i==9&&j==0)
{
if(num[8][0]==10)
x++;
if(num[9][1]==10)
x++;
if(num[8][1]==10)
x++;
}
else if(i==9&&j==9)
{
if(num[9][8]==10)
x++;
if(num[8][9]==10)
作者:c闲人 2004-8-20 00:45 回复此发言
--------------------------------------------------------------------------------
2 c扫雷小游戏
x++;
if(num[8][8]==10)
x++;
}
else if(j==0)
{
if(num[i][j+1]==10)
x++;
if(num[i+1][j]==10)
x++;
if(num[i-1][j]==10)
x++;
if(num[i-1][j+1]==10)
x++;
if(num[i+1][j+1]==10)
x++;
}
else if(j==9)
{
if(num[i][j-1]==10)
x++;
if(num[i+1][j]==10)
x++;
if(num[i-1][j]==10)
x++;
if(num[i-1][j-1]==10)
x++;
if(num[i+1][j-1]==10)
x++;
}
else if(i==0)
{
if(num[i+1][j]==10)
x++;
if(num[i][j-1]==10)
x++;
if(num[i][j+1]==10)
x++;
if(num[i+1][j-1]==10)
x++;
if(num[i+1][j+1]==10)
x++;
}
else if(i==9)
{
if(num[i-1][j]==10)
x++;
if(num[i][j-1]==10)
x++;
if(num[i][j+1]==10)
x++;
if(num[i-1][j-1]==10)
x++;
if(num[i-1][j+1]==10)
x++;
}
else
{
if(num[i-1][j]==10)
x++;
if(num[i-1][j+1]==10)
x++;
if(num[i][j+1]==10)
x++;
if(num[i+1][j+1]==10)
x++;
if(num[i+1][j]==10)
x++;
if(num[i+1][j-1]==10)
x++;
if(num[i][j-1]==10)
x++;
if(num[i-1][j-1]==10)
x++;
}
return(x);
}
funcheck(int i,int j)/*开始找无雷*/
{
scorenum--;
if(p[i][j]==0&&num[i][j]!=10)
{
setfillstyle(SOLID_FILL,7);/*显示无雷区*/
bar(200+j*20-7,100+i*20-7,200+j*20+7,100+i*20+7);
num[i][j]=-1;
}
else if(p[i][j]!=0)
{
sprintf(score,"%d",p[i][j]);/*输出雷数*/
setcolor(RED);
outtextxy(195+j*20,95+i*20,score);
num[i][j]=-1;
return ;
}
if(i!=0&&num[i-1][j]!=-1&&num[i-1][j]!=10)/*第归开始*/
funcheck(i-1,j);
if(i!=0&&j!=9&&num[i-1][j+1]!=-1&&num[i-1][j+1]!=10)
funcheck(i-1,j+1);
if(j!=9&&num[i][j+1]!=-1&&num[i][j+1]!=10)
funcheck(i,j+1);
if(j!=9&&i!=9&&num[i+1][j+1]!=-1&&num[i+1][j+1]!=10)
funcheck(i+1,j+1);
if(i!=9&&num[i+1][j]!=-1&&num[i+1][j]!=10)
funcheck(i+1,j);
if(i!=9&&j!=0&&num[i+1][j-1]!=-1&&num[i+1][j-1]!=10)
funcheck(i+1,j-1);
if(j!=0&&num[i][j-1]!=-1&&num[i][j-1]!=10)
funcheck(i,j-1);
if(i!=0&&j!=0&&num[i-1][j-1]!=-1&&num[i-1][j-1]!=10)
funcheck(i-1,j-1);
}
playgame()/*游戏过程*/
{int i,j,numx;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
p[i][j]=tongji(i,j);/*把标记有几个雷的数字都存放起来*/
while(!kbhit())
{
if(LeftPress())/*左键盘按下*/
{
MouseGetXY();
if(MouseX>280&&MouseX<300&&MouseY>65&&MouseY<85)/*重新来*/
{
MouseOff();
again=1;
break;
}
if(MouseX>190&&MouseX<390&&MouseY>90&&MouseY<290)/*是否在游戏范围内*/
{
j=(MouseX-190)/20;/*x坐标*/
i=(MouseY-90)/20;/*y坐标*/
if(num[i][j]!=-1)
{
if(num[i][j]==10)/*中雷*/
{
MouseOff();
gameove();/*失败*/
break;
}
else/*非中雷*/
{
MouseOff();
numx=tongji(i,j);
if(numx==0)/*周围没地雷*/
funcheck(i,j);/*开始找无雷*/
else/*有地雷*/
{
sprintf(score,"%d",numx);/*输出雷数*/
setcolor(RED);
outtextxy(195+j*20,95+i*20,score);
scorenum--;
}
MouseOn();
num[i][j]=-1;
if(scorenum<1)/*胜利了*/
{
setcolor(11);
settextstyle(0,0,2);
outtextxy(230,30,"YOU WIN!");
break;
}
}
}
}
}
}
}
main()
{int gd=DETECT,gr;
registerbgidriver(EGAVGA_driver);
initgraph(&gd,&gr,"c:\\tc");
loop: begain();
playgame();/*具体游戏*/
if(again)/*游戏中重新开始*/
{
again=0;
goto loop;
}
MouseOn();
while(!kbhit())/*重新来*/
{
if(LeftPress())
{
MouseGetXY();/*失败后重新来*/
if(MouseX>280&&MouseX<300&&MouseY>65&&MouseY<85)
goto loop;
}
}
MouseOff();
closegraph();
}
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试
更多推荐
apache 无法解析html文件,apache怎么不解析html内嵌的php语句
发布评论