推箱子游戏的代码.docx

上传人:b****2 文档编号:2252735 上传时间:2022-10-28 格式:DOCX 页数:27 大小:17.23KB
下载 相关 举报
推箱子游戏的代码.docx_第1页
第1页 / 共27页
推箱子游戏的代码.docx_第2页
第2页 / 共27页
推箱子游戏的代码.docx_第3页
第3页 / 共27页
推箱子游戏的代码.docx_第4页
第4页 / 共27页
推箱子游戏的代码.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

推箱子游戏的代码.docx

《推箱子游戏的代码.docx》由会员分享,可在线阅读,更多相关《推箱子游戏的代码.docx(27页珍藏版)》请在冰豆网上搜索。

推箱子游戏的代码.docx

推箱子游戏的代码

#include

#include

#include

#include

#include

#include

typedefstructwiner

{

intx,y;

structwiner*p;

}winer;

charstatus[20][20];

charfar*printScreen=(charfar*)0xB8000000;

voidputoutChar(inty,intx,charch,charfc,charbc);

voidprintWall(intx,inty);

voidprintBox(intx,inty);

voidprintBoxDes(intx,inty);

voidprintDestination(intx,inty);

voidprintDestination1(intx,inty,winer**win,winer**pw);

voidprintMan(intx,inty);

voidinit();

winer*initStep1();

winer*initStep2();

winer*initStep3();

winer*initStep4();

voidmoveBoxSpacetoSpace(intx,inty,chara);

voidmoveBoxDestoSpace(intx,inty,chara);

voidmoveBoxSpacetoDes(intx,inty,chara);

voidmoveBoxDestoDes(intx,inty,chara);

intjudge(intx,inty);

voidmove(intx,inty,chara);

voidreset(inti);

 

voidputoutChar(inty,intx,charch,charfc,charbc)

{

printScreen[(x*160)+(y<<1)+0]=ch;

printScreen[(x*160)+(y<<1)+1]=(bc*16)+fc;

}

voidprintWall(intx,inty)

{

putoutChar(y-1,x-1,219,GREEN,BLACK);

status[x][y]='w';

}

voidprintBox(intx,inty)

{

putoutChar(y-1,x-1,10,WHITE,BLACK);

status[x][y]='b';

}

voidprintDestination1(intx,inty,winer**win,winer**pw)

{

winer*qw;

putoutChar(y-1,x-1,003,YELLOW,BLACK);

status[x][y]='m';

if(*win==NULL)

{

*win=*pw=qw=(winer*)malloc(sizeof(winer));

(*pw)->x=x;

(*pw)->y=y;

(*pw)->p=NULL;

}

else

{

qw=(winer*)malloc(sizeof(winer));

qw->x=x;

qw->y=y;

(*pw)->p=qw;

(*pw)=qw;qw->p=NULL;

}

}

voidprintDestination(intx,inty)

{

putoutChar(y-1,x-1,003,YELLOW,BLACK);

status[x][y]='m';

}

voidprintMan(intx,inty)

{

gotoxy(y,x);

_AL=02;

_CX=01;

_AH=0xa;

geninterrupt(0x10);

}

voidprintBoxDes(intx,inty)

{

putoutChar(y-1,x-1,10,YELLOW,BLACK);

status[x][y]='i';

}

voidinit()

{

inti,j;

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

for(j=0;j<20;j++)

status[i][j]=0;

_AL=3;

_AH=0;

geninterrupt(0x10);

gotoxy(40,4);

printf("Welcometotheboxworld!

");

gotoxy(40,6);

printf("Youcanuseup,down,left,");

gotoxy(40,8);

printf("rightkeytocontrolit,or");

gotoxy(40,10);

printf("youcanpressEsctoquitit.");

gotoxy(40,12);

printf("Pressspacetoresetthegame.");

gotoxy(40,14);

printf("Wishyouhaveagoodtime!

");

gotoxy(40,16);

printf("April,2007");

}

winer*initStep1()

{

intx;

inty;

winer*win=NULL;

winer*pw;

for(x=1,y=5;y<=9;y++)

printWall(x+4,y+10);

for(y=5,x=2;x<=5;x++)

printWall(x+4,y+10);

for(y=9,x=2;x<=5;x++)

printWall(x+4,y+10);

for(y=1,x=3;x<=8;x++)

printWall(x+4,y+10);

for(x=3,y=3;x<=5;x++)

printWall(x+4,y+10);

for(x=5,y=8;x<=9;x++)

printWall(x+4,y+10);

for(x=7,y=4;x<=9;x++)

printWall(x+4,y+10);

for(x=9,y=5;y<=7;y++)

printWall(x+4,y+10);

for(x=8,y=2;y<=3;y++)

printWall(x+4,y+10);

printWall(5+4,4+10);

printWall(5+4,7+10);

printWall(3+4,2+10);

printBox(3+4,6+10);

printBox(3+4,7+10);

printBox(4+4,7+10);

printDestination1(4+4,2+10,&win,&pw);

printDestination1(5+4,2+10,&win,&pw);

printDestination1(6+4,2+10,&win,&pw);

printMan(2+4,8+10);

returnwin;

}

winer*initStep2()

{

intx;

inty;

winer*win=NULL;

winer*pw;

for(x=1,y=4;y<=7;y++)

printWall(x+4,y+10);

for(x=2,y=2;y<=4;y++)

printWall(x+4,y+10);

for(x=2,y=7;x<=4;x++)

printWall(x+4,y+10);

for(x=4,y=1;x<=8;x++)

printWall(x+4,y+10);

for(x=8,y=2;y<=8;y++)

printWall(x+4,y+10);

for(x=4,y=8;x<=8;x++)

printWall(x+4,y+10);

for(x=4,y=6;x<=5;x++)

printWall(x+4,y+10);

for(x=3,y=2;x<=4;x++)

printWall(x+4,y+10);

for(x=4,y=4;x<=5;x++)

printWall(x+4,y+10);

printWall(6+4,3+10);

printBox(3+4,5+10);

printBox(6+4,6+10);

printBox(7+4,3+10);

printDestination1(5+4,7+10,&win,&pw);

printDestination1(6+4,7+10,&win,&pw);

printDestination1(7+4,7+10,&win,&pw);

printMan(2+4,6+10);

returnwin;

}

winer*initStep3()

{

intx;

inty;

winer*win=NULL;

winer*pw;

for(x=1,y=2;y<=8;y++)

printWall(x+4,y+10);

for(x=2,y=2;x<=4;x++)

printWall(x+4,y+10);

for(x=4,y=1;y<=3;y++)

printWall(x+4,y+10);

for(x=5,y=1;x<=8;x++)

printWall(x+4,y+10);

for(x=8,y=2;y<=5;y++)

printWall(x+4,y+10);

for(x=5,y=5;x<=7;x++)

printWall(x+4,y+10);

for(x=7,y=6;y<=9;y++)

printWall(x+4,y+10);

for(x=3,y=9;x<=6;x++)

printWall(x+4,y+10);

for(x=3,y=6;y<=8;y++)

printWall(x+4,y+10);

printWall(2+4,8+10);

printWall(5+4,7+10);

printBox(6+4,3+10);

printBox(4+4,4+10);

printBox(5+4,6+10);

printDestination1(2+4,5+10,&win,&pw);

printDestination1(2+4,6+10,&win,&pw);

printDestination1(2+4,7+10,&win,&pw);

printMan(2+4,4+10);

returnwin;

}

winer*initStep4()

{

intx;

inty;

winer*win=NULL;

winer*pw;

for(

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1