世嘉新人培训---第一章 游戏示例 推箱子游戏

本文介绍了基于《游戏开发:世嘉新人培训教材》的推箱子游戏实现,采用C++编程,代码简洁易懂。作者计划进一步优化,提升游戏难度和代码执行效率。
摘要由CSDN通过智能技术生成

跟着《游戏开发:世嘉新人培训教材》一书中推箱子游戏的逻辑写的推箱子游戏,整体代码不长,也没有特别难以理解的逻辑,后续看看自己能否进行一定的改进,增加游戏难度和代码的运行速度。

#include<iostream>

//长
const int gHeight = 5;
//宽
const int gWidth = 8;
//游戏场景
const char gStageData[] = "\
########\n\
# .. p #\n\
# oo   #\n\
#      #\n\
########\n";

enum Object {
	OBJ_SPACE,	//无物体
	OBJ_WALL,	//墙壁
	OBJ_GOAL,	//目的地
	OBJ_BLOCK,	//箱子
	OBJ_BLOCK_ON_GOAL,	//箱子到达目的地
	OBJ_PLAYER,	//玩家
	OBJ_PLAYER_ON_GOAL,	//玩家到达目的地
	OBJ_UNKONW	//未知,错误位置
};

//初始化函数
void initialize(Object* state, int height, int width, const char* stage);
//绘制初始游戏窗口函数
void draw(Object* state, int height, int width);
void findPlayer(Object* state, int& playerX, int& playerY, int height, int width);
//更新游戏窗口函数
void update(Object* state, int height, int width, char input);
//确认是否通关函数
bool checkClear(Object* state, int height, int width);

int main() {
	Object* state = new Object[gHeight*gWidth];
	initial
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值