⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c18-创建模式01.txt

📁 用什么语言能编制出好的程序
💻 TXT
字号:

//迷宫游戏的原始代码

class MapSite
{
public:
	virtual void Enter()=0;
};

class Room:public MapSite
{
public:
	Room(int roomNo);
	MapSite * 	GetSide(int dir) const;
	void 		SetSide(int dir,MapSite *);
	void Enter();
private:
	MapSite	*	_sides[4];
	int		_roomNumber;
};

class Wall:public MapSite
{
public:
	Wall();
	virtual void Enter();
};

class Door: public MapSite
{
public:
	Door(Room * r1=0,Room * r2=0);
	virtual void Enter();
	Room * OtherSideFrom(Room *);
private:
	Room * _room1;
	Room * _room2;
	bool   _isOpen;
};

class Maze
{
public:
	Maze();
	void AddRoom(Room * r);
	Room * RoomNo(int num) const;
private:
	//...
};

class Game
{
public:
	Maze();
	Maze * CreateMaze();
private:
	Maze * theMaze;
	//...
};

Maze * Game::CreateMaze()
{
	Maze * aMaze=new Maze;
	Room * r1=new Room(1);
	Room * r2=new Room(2);
	Door * theDoor=new Door(r1,r2);

	aMaze->AddRoom(r1);
	aMaze->AddRoom(r2);
	
	r1->SetSide(1,new Wall);
	r1->SetSide(2,theDoor);
	r1->SetSide(3,new Wall);
	r1->SetSide(4,new Wall);

	r1->SetSide(1,new Wall);
	r1->SetSide(2,new Wall);
	r1->SetSide(3,new Wall);
	r1->SetSide(4,theDoor);
	
	return aMaze;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -