基于C语言的推箱子游戏

本文详细介绍了如何使用C语言编程实现经典的推箱子游戏。从游戏逻辑到图形界面,通过实例代码解析了关键算法和设计思路,适合C语言爱好者和游戏编程初学者学习。
摘要由CSDN通过智能技术生成
/*
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.判断用户输入的前进方向&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值