推箱子_C语言版
#include <stdio.h>#include <stdlib.h>//用到system()
#include <conio.h>//因为需要用到getch()函数
//推箱子_C语言版
//写了一下午,第一个C语言游戏终于写好了,想想有点小激动....
//蔚蓝之链编写 QQ:2454238510
//分享给大家参考下(在看得懂的情况下...),代码写得很凌乱.....,勿喷
#define X 20
#define Y 20
#define REN 2
#define XIANGZI 3
#define WEIZHI 4
#define KONG 0
#define QIANG 1
#define RW 6
#define XW 5
#define bool short
#define false 0
#define true 1
//数组内部数值表示内容:0表示空位,1表示墙体,2表示人,3表示箱子,4表示箱子要推到的位置,5表示既有箱子又有又位置,6表示既有位置又有人
//01,2,3,4符号表示:
//0 :"" 1:■ 2:♀ 3:回 4:◎
void create_map_arr(int _x,int _y,int (*map_arr));//创建地图数组
void creata_map(int _x,int _y, int (*map));//创建地图,重绘游戏画面
void amend_map(int _x,int _y,char key , int (* arr_map));//接收输入,修改游戏画面
bool is_finish(int _x, int _y,int _total ,int (*arr_map));//判断是否完成推箱子(地图x,地图y,总箱子数,地图数组)
int main(void)
{
int map_arr;//存储地图的二维数组
create_map_arr(X,Y,map_arr);//创建数组
printf("C语言_推箱子v1.0 蔚蓝之链编写 QQ:2454238510\n\n");
printf("控制键:W↑,A←,S↓,D→\n");
printf("提示:玩本游戏前请先关闭输入法\n");
system("pause");
system("cls");
while(1)
{
creata_map(X,Y,map_arr);//创建地图,重绘游戏画面
if(is_finish(X,Y,2,map_arr) == true)
{
printf("恭喜哦,推箱子完成!\n");
system("pause");
return 0;
}
amend_map(X,Y,getch(),map_arr);//接收输入,修改画面
system("cls");//清空画面
}
getchar();
return 0;
}
由于发帖长度限制后面代码请下载附件查看
........................................
学习学习 顶顶顶顶顶顶顶顶 asd adas 看上去挺有意思!看看具体是啥 秒杀隐藏帖..但还是希望楼主多发精品好帖啦..... 支持楼主,拿来学习下
加油!加油!我也想写一个 (∩_∩)好吧看看 {:7_117:} C语言版 {:1_1:} 看看 学习下 谢谢 ... C太难了 {:1_1:} 学习下 相互交流和学习 看看