/*
1. 游戏的实现步骤
1)游戏开始就显示游戏地图
while(1)
{
2)输入小人前进方向
3)根据小人的前进方向移动小人
}
*/
#include<stdio.h>
#include<stdlib.h>
#define ROWS 10
#define COLS 11
/*二维数组map
这个二维数组有10行,每1行有11列 (最后一列存储\0)
作用:存储地图上每一个格子的类型
每一个元素值和地图上每一个格子的类型是相互对应的
*/
char map[ROWS][COLS] = {
"##########",
"# #### #",
"# X#### #",
"# 0 #",
"###### #",
"# #### #",
"# #",
"# ######",
"# ",
"##########"
};
//保存小人当前的行、列坐标
int currentPersonRow = 3;
int currentPersonCol = 2;
//显示游戏地图
void showMap();
//让用户输入小人前进方向,返回输入的方向字符
char enterDirection();
//将小人向上移动
void moveToUp();
//将小人向左移动
void moveToLeft();
//将小人向下移动
void moveToDown();
//将小人向右移动
void moveToRight();
int main(int argc, const char * argv[])
{
/*
1.显示游戏地图,独立的功能,将其封装成函数
通过判断下一步移动的格子的类型进行不同操作
如果下一步移动的位置是空格,移动
若是一个X,判断箱子是否可以移动
如果是一个#,小人不可移动
所以,使用一个二维数组存储地图上的每一个格子的类型
*/
int flag = 1;
while (flag)
{
//调用一个函数,清空控制台上所有的内容,请注意,该函数必须要在终端下进行清屏操作,Xcode环境下不可行
system("cls");
showMap();
//重新生成地图时,判断游戏是否胜利
if (map[8][9] == 'X')
{
printf("恭喜你!你取得游戏胜利\n");
break; //结束循环,防止接下来的输出
}
//2.让用户输入小人的前进方向
char dir = enterDirection();
printf("你输入的方向是:%c\n", dir);
//3.判断用户输入的前进方向&#
基于C语言的推箱子游戏
最新推荐文章于 2023-03-21 00:27:32 发布
本文详细介绍了如何使用C语言编程实现经典的推箱子游戏。从游戏逻辑到图形界面,通过实例代码解析了关键算法和设计思路,适合C语言爱好者和游戏编程初学者学习。
摘要由CSDN通过智能技术生成