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
    评论
switch/case语句是一种在编程常用的条件语句。它允许我们根据一个变量的不同取值来执行相应的代码块。在switch/case语句,我们使用一个控制表达式来决定执行哪一个case语句。每个case语句都包含一个常量,当控制表达式的值与某个case语句的常量相同时,就会执行该case语句后面的代码。如果没有找到匹配的case语句,可以使用default语句执行默认的代码块。在执行完匹配的case语句后,如果遇到break语句,会跳出switch/case语句。否则,会继续执行后面的case语句。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C语言学习——多路分支switch-case语句](https://blog.csdn.net/xi_wen_/article/details/124538221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [switch()语句的使用//求解简单的四则运算表达式](https://blog.csdn.net/courage_sir/article/details/119461632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值