推箱子C语言小游戏代码Word文件下载.docx

上传人:b****5 文档编号:8482554 上传时间:2023-05-11 格式:DOCX 页数:17 大小:16.54KB
下载 相关 举报
推箱子C语言小游戏代码Word文件下载.docx_第1页
第1页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第2页
第2页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第3页
第3页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第4页
第4页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第5页
第5页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第6页
第6页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第7页
第7页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第8页
第8页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第9页
第9页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第10页
第10页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第11页
第11页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第12页
第12页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第13页
第13页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第14页
第14页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第15页
第15页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第16页
第16页 / 共17页
推箱子C语言小游戏代码Word文件下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

推箱子C语言小游戏代码Word文件下载.docx

《推箱子C语言小游戏代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《推箱子C语言小游戏代码Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。

推箱子C语言小游戏代码Word文件下载.docx

//0:

空地;

3箱子的目的地4箱子

//6人7箱子与目的地的集合

//1:

墙壁;

9人在箱子的目的地

intg_map[2][10][12]=

{

{

{0,0,0,0,1,1,1,0,0,0,0,0},

{0,0,0,0,1,3,1,0,0,0,0,0},

{0,0,0,0,1,0,1,1,1,1,1,1},

{1,1,1,1,1,4,0,4,0,0,3,1},

{1,3,0,0,0,4,6,1,1,1,1,1},

{1,1,1,1,1,1,4,1,0,0,0,0},

{0,0,0,0,0,1,0,1,0,0,0,0},

{0,0,0,0,0,1,3,1,0,0,0,0},

{0,0,0,0,0,1,1,1,0,0,0,0},

},

{1,1,1,1,1,0,0,0,0,0,0,0},

{1,0,0,0,1,0,1,1,1,0,0,0},

{1,0,4,0,1,0,1,1,1,1,1,1},

{1,0,4,6,1,0,1,0,0,0,3,1},

{1,1,1,4,1,1,1,0,0,0,3,1},

{1,1,1,0,0,0,0,0,0,0,3,1},

{0,1,0,0,0,1,0,0,0,0,0,1},

{0,1,0,0,0,1,1,1,1,1,1,1},

{1,1,1,1,1,1,0,0,0,0,0,0},

}

};

intg_nCurrentLevel=0;

//当前管卡

intmain()

//设置窗口大小

system("

modeconcols=26lines=11"

);

//设置标题

//SetConsoLeTitle("

推箱子"

charnInput=0;

//输入字符

while

(1)

//如果箱子推完了过关

if(0==GetSpareBox())

g_nCurrentLevel++;

//清屏

system("

cls"

//如果没有关卡,那就恭喜你成功通关。

if(g_nCurrentLevel>

=sizeof(g_map)/sizeof(g_map[0]))

printf("

恭喜你已经通关!

"

break;

}

//打印地图

DrawMap();

nInput=_getch();

switch(nInput)

{

//往上

case'

w'

:

case72:

Up();

break;

s'

case80:

Down();

a'

case75:

Left();

d'

case77:

Right();

}

pause"

return0;

}

voidDrawMap()

for(inti=0;

i<

10;

i++)

for(intj=0;

j<

12;

j++)

switch(g_map[g_nCurrentLevel][i][j])

{

case0:

//道路,空地

printf("

"

break;

case1:

SetColor(FOREGROUND_RED|FOREGROUND_INTENSITY);

■"

case3:

SetColor(FOREGROUND_GREEN|FOREGROUND_INTENSITY);

☆"

case4:

SetColor(FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY);

□"

case6:

♂"

case7:

★"

case9:

}

\n"

voidSetColor(intnColor)

HANDLEhConsole=GetStdHandle(STD_OUTPUT_HANDLE);

//MSD

SetConsoleTextAttribute(hConsole,nColor);

//获取玩家的坐标

POINTGetGamerPosition()

POINTpos={-1,-1};

if(g_map[g_nCurrentLevel][i][j]==6||g_map[g_nCurrentLevel][i][j]==9)

pos.x=i;

pos.y=j;

returnpos;

returnpos;

voidUp()

//获取玩家坐标

POINTpos=GetGamerPosition();

//1.人的前面是空地

if(g_map[g_nCurrentLevel][pos.x-1][pos.y]==0)

g_map[g_nCurrentLevel][pos.x-1][pos.y]=6;

//空地改为人

//如果人原来站在目的地上面

if(g_map[g_nCurrentLevel][pos.x][pos.y]==9)

g_map[g_nCurrentLevel][pos.x][pos.y]=3;

//改成目的地

else

g_map[g_nCurrentLevel][pos.x][pos.y]=0;

//改成空地

//2,人前是目的地

if(g_map[g_nCurrentLevel][pos.x][pos.y]==3)

g_map[g_nCurrentLevel][pos.x-1][pos.y]=9;

//人在目的地

//3.人前是箱子

if(g_map[g_nCurrentLevel][pos.x-1][pos.y]==4)

//a.箱子前面是空地

if(g_map[g_nCurrentLevel][pos.x-2][pos.y]==0)

g_map[g_nCurrentLevel][pos.x-2][pos.y]=4;

//空地变箱子

g_map[g_nCurrentLevel][pos.x-1][pos.y]=6;

//箱子变人

//如果人原来站在目的地上面

if(g_map[g_nCurrentLevel][pos.x][pos.y]==9)

g_map[g_nCurrentLevel][pos.x][pos.y]=3;

else

g_map[g_nCurrentLevel][pos.x][pos.y]=0;

//b.箱子前面是目的地

if(g_map[g_nCurrentLevel][pos.x-2][pos.y]==3)

g_map[g_nCurrentLevel][pos.x-2][pos.y]=7;

//箱子到达目的地重合

//箱子位子变成人

//4.人的前面是箱子和目的地的重合

if(g_map[g_nCurrentLevel][pos.x-1][pos.y]==7)

//箱子到达目的地

g_map[g_nCurrentLevel][pos.x-1][pos.y]=9;

//箱子变成人

voidDown()

//获取玩家坐标

POINTpos=GetGamerPosition();

//1.人的前面是空地

if(g_map[g_nCurrentLevel][pos.x+1][pos.y]==0)

g_map[g_nCurrentLevel][pos.x+1][pos.y]=6;

//2,人前是目的地

if(g_map[g_nCurrentLevel][pos.x+1][pos.y]==3)

g_map[g_nCurrentLevel][pos.x+1][pos.y]=9;

//3.人前是箱子

if(g_map[g_nCurrentLevel][pos.x+1][pos.y]==4)

//a.箱子前面是空地

if(g_map[g_nCurrentLevel][pos.x+2][pos.y]==0)

g_map[g_nCurrentLevel][pos.x+2][pos.y]=4;

g_map[g_nCurrentLevel][pos.x+1][pos.y]=6;

//如果人原来站在目的地上面

if(g_map[g_nCurrentLevel][pos.x][pos.y]==9)

g_map[g_nCurrentLevel][pos.x][pos.y]=3;

else

g_map[g_nCurrentLevel][pos.x][pos.y]=0;

//b.箱子前面是目的地

if(g_map[g_nCurrentLevel][pos.x+2][pos.y]==3)

g_map[g_nCurrentLevel][pos.x+2][pos.y]=7;

//4.人的前面是箱子和目的地的重合

if(g_map[g_nCurrentLevel][pos.x+1][pos.y]==7)

g_map[g_nCurrentLevel][pos.x-1][pos.y]=6;

g_map[g_nCurrentLevel][pos.x+1][pos.y]=9;

voidLeft()

if(g_map[g_nCurrentLevel][pos.x][pos.y-1]==0)

g_map[g_nCurrentLevel][pos.x][pos.y-1]=6;

if(g_map[g_nCurrentLevel][pos.x][pos.y-1]==3)

g_map[g_nCurrentLevel][pos.x][pos.y-1]=9;

//人站在目的地

if(g_map[g_nCurrentLevel][pos.x][pos.y-1]==4)

if(g_map[g_nCurrentLevel][pos.x][pos.y-2]==0)

g_map[g_nCurrentLevel][pos.x][pos.y-2]=4;

g_map[g_nCurrentLevel][pos.x][pos.y-1]=6;

if(g_map[g_nCurrentLevel][pos.x][pos.y-2]==3)

g_map[g_nCurrentLevel][pos.x][pos.y-2]=7;

if(g_map[g_nCurrentLevel][pos.x][pos.y-1]==7)

g_map[g_nCurrentLevel][pos.x][pos.y-2]=7;

g_map[g_nCurrentLevel][pos.x][pos.y-1]=9;

g_map[g_nCurrentLe

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2