资源简介
代码片段和文件信息
#include
#include
#include “box.h“
int main(int argc char const *argv[])
{
initgraph(800 650);
PIMAGE bgimg = newimage();
getimage(bgimg “D:/EC15/CODE/images/background.jpg“);
putimage(0 0 bgimg);
selectGame();
getMap(maps[cur_level]);
drawMap();
for (; is_run(); delay_fps(60))
{
char ch = getch();
move(ch);
success();
}
closegraph();
return 0;
}
// 获取地图
void getMap(int curMap[13][16])
{
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 16; j++)
{
map[i][j] = curMap[i][j];
}
}
}
// 选择游戏
void selectGame()
{
setfont(50 0 “宋体“);
setfontbkcolor(WHITE);
setcolor(BLACK);
outtextxy(250 100 “1.开始游戏!“);
xyprintf(250 200 “2.退出游戏!“);
outtextxy(250 300 “3.随便看看!“);
getch();
}
// 判断游戏是否胜利
void success()
{
int flag = 0;
// 地图上没有目的地就胜利了
for (int i = 0; i < 16; i++)
{
for (int j = 0; j < 13; j++)
{
if (map[i][j] == DESTINATION)
{
flag = 1;
}
}
}
// 游戏胜利
if (!flag)
{
setfont(50 0 “宋体“);
setfontbkcolor(WHITE);
setcolor(GREEN);
outtextxy(300 300 “游戏胜利!“);
outtextxy(250 400 “按C进入下一关游戏“);
outtextxy(250 500 “按Q退出游戏“);
char ch = getch();
if (ch == ‘c‘ || ch == ‘C‘)
{
if (++cur_level > 4)
{
cur_level = 4;
}
getMap(maps[cur_level]);
drawMap();
}
if (ch == ‘q‘ || ch == ‘Q‘)
{
exit(0);
closegraph();
}
}
}
void move(char ch)
{
// 按键之后获取任务下一个坐标
COORD next = nextCoord(ch person.X person.Y);
int n = map[next.X][next.Y];
// 如果下个坐标是目的地,可以移动
if (n == DESTINATION)
{
fillBlock(ROAD person.X person.Y);
fillBlockWithoutValue(MAN next.X next.Y);
}
// 如果下个坐标是路,可以移动
if (n == ROAD)
{
// 人物坐标变成路,下一个坐标变成人物
// 当前坐标值是目的地的话不能赋值为路
int curType = map[person.X][person.Y];
if (curType != DESTINATION)
{
fillBlock(ROAD person.X person.Y);
fillBlock(MAN next.X next.Y);
}
else
{
fillBlockWithoutValue(DESTINATION person.X person.Y);
fillBlock(MAN next.X next.Y);
}
}
// 如果下个坐标是箱子,推着箱子一起走
if (n == BOX)
{
// 要判断箱子下一个位置是不是墙
COORD boxNext = nextCoord(ch next.X next.Y);
int boxNextType = map[boxNext.X][boxNext.Y];
// 箱子下一位置是路
if (boxNextType == ROAD)
{
// 箱子和人一起移动
// 判断当前坐标是不是目的地
if (map[person.X][person.Y] == DESTINATION)
{
// 当前人物坐标为目的地不能赋值为路
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-10-27 08:31 推箱子\
文件 4007 2020-07-30 17:45 推箱子\box.h
目录 0 2020-10-27 08:31 推箱子\images\
文件 121460 2020-07-27 16:21 推箱子\images\background.jpg
文件 4232 2020-07-27 16:21 推箱子\images\box.png
文件 2846 2020-07-27 16:21 推箱子\images\destination.png
文件 2431 2020-07-27 16:21 推箱子\images\person.jpg
文件 4688 2020-07-27 16:21 推箱子\images\redbox.png
文件 2142 2020-07-27 16:21 推箱子\images\road.jpg
文件 2759 2020-07-27 16:21 推箱子\images\wall.jpg
文件 7401 2020-07-30 17:45 推箱子\pushboxs.c
- 上一篇:C语言ege贪吃蛇游戏
- 下一篇:俄罗斯方块(c++控制台代码)
相关资源
- C语言ege贪吃蛇游戏
- C++小游戏4款(源码)
- 推箱子小游戏源码
- 五子棋游戏源码(控制台)
- 猜数字游戏.sb3
- C++贪吃蛇控制台小游戏代码
- 扫雷游戏.cpp(较简单)
- MFC五子棋游戏
- VC++ 大富翁4_大富翁游戏源码
- c++常用游戏算法及数据结构设计
- c++的飞行鸟游戏
- 2048小游戏c语言实现
- 推箱子 c语言代码
- c++编写简略单机对战小游戏
- c++各种小游戏我们老师的
- C++实现21点游戏
- c++自制小游戏--扑克牌
- 最后一战OL手游 全套完整源码+资源,
- 大富翁源代码
- VC++ 中国象棋经典游戏源代码
- C++程序源代码--21点的扑克牌游戏
- 基于Cocos2dx的炸弹人游戏
- 郁金香VC++游戏辅助视频教程
- 四子棋c语言程序
- c++编写的经典小游戏
- MFC基于对话框游戏 打字游戏1.0V
- c++做的坦克大战源码
- C++实现的斗地主游戏
- C++ 游戏疯狂的赛车
- 游戏开发 c语言 程序设计 飞机大战
评论
共有 条评论