C语言+EGE实现推箱子小游戏
**下面展示一些 内联代码片
。
// main.cpp
main函数进入代码块
#include "head.h"
#include "jiemian.cpp"
#include "caozuo.cpp"
#include "drawmap.cpp"
#include "playgame.cpp"
#include "shezhi.cpp"
int main()
{
int x;
setinitmode(0);
initgraph(20*35,16*35);
loop:
a.OpenFile("1.mp3");
b.OpenFile("2.mp3");
c.OpenFile("3.wav");
jiemian();
Level = caozuo();
if(Level == 0)
{
return 0;
}
a.Close();
while(Level < 100)
{
changeMap(Level);
x = playgame();
switch(x)
{
case 0:
drawmap();
break;
case 1:
Level -= 2;
break;
case 2:
break;
case 3:
Level--;
break;
case 4:
goto loop;
break;
}
Level++;
if(Level<=0)
{
Level = 1;
}
if(Level >= 99)
{
Level = 99;
}
rememberlevel(Level);
}
getch();
return 0;
}
#include "head.h"
int caozuo()//开始的操作
{
mouse_msg msg = {
0};
for(; is_run(); delay_fps(60))
{
jiemian();
msg.x = msg.y = 0;
while(mousemsg())
{
msg = getmouse();
}
if(msg.x>=8*35&&msg.x<=12*35&&msg.y>=5*35&&msg.y<=6*35)//如果点击开始游戏
{
if(msg.is_left() == 1 && msg.is_up() == 1)
{
return 1;
}
}
if(msg.x>=8*35&&msg.x<=12*35&&msg.y>=7*35&&msg.y<=8*35)//如果点击继续游戏
{
if(msg.is_left() == 1 && msg.is_up() == 1)
{
FILE* fp;
fp = fopen("level.txt","r");
fscanf(fp,"%d",&Level);
fclose(fp);
return Level;
}
}
if(msg.x>=8*35&&msg.x<=12*35&&msg.y>=9*35&&msg.y<=10*35)//如果点击退出游戏
{
if(msg.is_left() == 1 && msg.is_up() == 1)
{
return 0;
}
}
if(msg.x>=8*35&&msg.x<=12*35&&msg.y>=11*35&&msg.y<=12*35)//如果点击游戏说明
{
if(msg.is_left() == 1 && msg.is_up() == 1)
{
shuoming();
}
}
if(msg.x>=8*35&&msg.x<=12*35&&msg.y>=13*35&&msg.y<=14*35)//如果点击游戏设置
{
if(msg.is_left() == 1 && msg.is_up() == 1)
{
shezhi();
}
}
}
}
#include "head.h"
void drawmap()
{
int x,y,i;
num = 0;
PIMAGE img[9];
for(i = 0; i < 9; i++)
{
img[i] = newimage();
}
getimage(img[0],"images\\block.gif");
getimage(img[1],"images\\wall.png");
getimage(img[2],"images\\ball.png");
getimage(img[3],"images\\box.png");
getimage(img[4],"images\\down.png");
getimage(img[5],"images\\up.png");
getimage(img[6],"images\\right.png");
getimage(img[7],"images\\left.png");
getimage(img[8],"images\\box1.png");
for(y = 0; y < 16; y++)
{
for(x = 0; x < 16; x++)
{
putimage(x*35,y*35,img[0]);
if(Map[y-1][x] == 4 || Map[y-1][x] == 6)
{
if(ch == 1||ch == key_down)
{
putimage_withalpha(NULL,img[4],x*35-7.5,(y-1)*35-27);
}
if(ch == key_up)
{
putimage_withalpha(NULL,img[5],x*35-7.5,(y-1)*35-27);
}
if(ch == key_left)
{