C语言推箱子游戏代码分享

您所在的位置:网站首页 c语言conin C语言推箱子游戏代码分享

C语言推箱子游戏代码分享

2023-03-26 03:55| 来源: 网络整理| 查看: 265

将编写推箱子游戏,玩家键盘控制游戏角色将所有黄色箱子推到白色方块处,效果如图所示。

先学习字符串与字符数组的概念,并应用字符数组初始化关卡数据;然后利用键盘控制游戏角色移动,实现地图元素更新和游戏胜利的判断;接着利用三维字符数组,实现多关卡的游戏;最后学习基于文件的关卡数据读取,利用枚举类型改进游戏代码。

源码:#include #include #include #define B_SIZE 60 // 方块大小 #define B_NUM 8 // 方块个数,一共8*8个方块 struct Player // 结构体,用于记录玩家位置 { int i; int j; }; Player player; // 玩家全局变量 enum Element // 定义枚举类型,小方块所有的可能的种类 { wall,target,box,empty,achieved,role }; // 用于存储地图数据,用枚举类型实现 Element level[B_NUM][B_NUM] = {{wall,wall,wall,wall,wall,wall,wall,wall}, {wall,wall,wall,target,box,empty,empty,wall}, {wall,empty,empty,empty,empty,empty,empty,wall}, {wall,empty,empty,empty,empty,empty,empty,wall}, {wall,empty,empty,empty,empty,empty,empty,wall}, {wall,role,empty,box,target,wall,wall,wall}, {wall,empty,empty,empty,empty,wall,wall,wall}, {wall,wall,wall,wall,wall,wall,wall,wall}}; int targetNum,achievedNum; // 目标位置个数、完成目标个数 void startup() // 初始化函数 { initgraph(B_NUM*B_SIZE,B_NUM*B_SIZE); // 新开一个画面 setbkcolor(RGB(150,150,150)); // 灰色背景 BeginBatchDraw(); // 开始批量绘图 int i,j; targetNum = 0; // 目标个数,初始为0 // 对二维数组遍历 for (i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3