apache 无法解析html文件,apache怎么不解析html内嵌的php语句

9bf62466a6fd2317f3a4a67c2bddb649.png

# 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();

}

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值