|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#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)[Y]);//创建地图数组
void creata_map(int _x,int _y, int (*map)[Y]);//创建地图,重绘游戏画面
void amend_map(int _x,int _y,char key , int (* arr_map)[Y]);//接收输入,修改游戏画面
bool is_finish(int _x, int _y,int _total ,int (*arr_map)[Y]);//判断是否完成推箱子(地图x,地图y,总箱子数,地图数组)
int main(void)
{
int map_arr[X][Y];//存储地图的二维数组
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;
}
由于发帖长度限制后面代码请下载附件查看
........................................
|
评分
-
查看全部评分
|