c语言switch语句不运行,求解,为什么switch中的语句不执行?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#define bjys 0

#define qjys WHITE

#define maxbox 7

#define zuox 12

#define zuoy 12

#define bianchang 9

#define spcd 50

#define czcd 50

int chushix=zuox+bianchang*spcd/2;

int chushiy=zuoy+bianchang*42;

struct diban

{

int zhanyong;

int ys;

}dibanzt[czcd][spcd];

struct moxing

{

char box[8];

int color;

int next;

};

struct moxing moxingti[maxbox]=

{

{0x3c,0x3c,0x3c,0x3c,0xc3,0xc3,0xff,0xff,RED,1},

{0x30,0x30,0x30,0x30,0x30,0x30,0xff,0xff,LIGHTGRAY,2},

{0x30,0x30,0xff,0xff,0x3c,0x3c,0xff,0xff,GREEN,3},

{0x0c,0x0c,0xff,0xff,0x3c,0x3c,0xff,0xff,LIGHTGREEN,4},

{0x3c,0x3c,0xc3,0xc3,0xc3,0xc3,0x3c,0x3c,BLUE,5},

{0xcf,0xcf,0x3c,0x3c,0x3c,0x3c,0xc3,0xc3,LIGHTMAGENTA,6},

{0xf3,0xf3,0x3c,0x3c,0x3c,0x3c,0xc3,0xc3,MAGENTA,7} /*未包含boss模型*/

};

void guanqia()

{

rectangle(468+13,12,468+110,52+60);

outtextxy(468+20,12+10,"关卡");

}

void fssm()

{

rectangle(468+13,12+110,468+110,52+300);

outtextxy(468+20,12+120,"分数");

outtextxy(468+20,12+210,"生命值");

}

int dikuang(int x,int y,int bc)

{

int oldx=x;

int m,n;

for(m=0;m

{

for(n=0;n

{

dibanzt[n][m].zhanyong=0;

dibanzt[n][m].ys=bjys;

line(x,y,x+bc,y);

line(x,y,x,y+bc);

line(x,y+bc,x+bc,y+bc);

line(x+bc,y,x+bc,y+bc);

x+=bc;

}

y+=bc;

x=oldx;

}

}

void biankuang()

{

line(12,12,463,12);

line(12,12,12,463);

line(463,12,463,463);

line(12,463,463,463);

}

void showbox(int x,int y)

{

int m,n,i,l;

l=x;

setfillstyle(1,WHITE);

for(i=0;i<8;i++)

{

int duibi=128;

for(n=0;n<8;n++)

{

if((moxingti[0].box[i])&duibi)

{

bar(x,y,x+bianchang,y+bianchang);

}

x+=bianchang;

duibi/=2;

}

y+=bianchang;

x=l;

}

}

int xiaochu(int x,int y)

{

int m,n,i,l;

l=x;

setfillstyle(1,BLACK);

for(i=0;i<8;i++)

{

for(n=0;n<8;n++)

{

bar(x,y,x+bianchang,y+bianchang);

x+=bianchang;

}

y+=bianchang;

x=l;

}

}

void yidong()

{

int key1,key2;

while(key1=getch())

{

if(key1==27) /*ESC建退出*/

break;

key2=getch();

if(key1=224)

{

switch(key2)

{

case 72: /*上*/

xiaochu(chushix,chushiy);

chushiy-=bianchang;

showbox(chushix,chushiy);

break;

case 80: /*下*/

xiaochu(chushix,chushiy);

chushiy+=bianchang;

showbox(chushix,chushiy);

break;

case 75: /*左*/

xiaochu(chushix,chushiy);

chushix-=bianchang;

showbox(chushix,chushiy);

break;

case 77: /*右*/

xiaochu(chushix,chushiy);

chushix+=bianchang;

showbox(chushix,chushiy);

break;

}

}

}

}

int main()

{

int gd=VGA,gm=VGAHI;

setinitmode(NULL); /*去除ege片头动画*/

initgraph(&gd,&gm,"");

SetBkColor(0,0);

setcolor(qjys);/*setfillstyle(1,WHITE); bar(实填充)的颜色由它控制*/

randomize();

dikuang(zuox,zuoy,bianchang);

biankuang();

guanqia();

showbox(chushix,chushiy);

fssm();

yidong();

getch();

closegraph();

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值