📄 mazeparts.h
字号:
#ifndef MazeParts_H#define MazeParts_H#include "defs.H"enum Direction { North, East, South, West };#ifndef MapSite_H#define MapSite_Hclass MapSite {public: virtual void Enter() = 0;};#endif#ifndef _H#define _Hclass Room : public MapSite {public: Room(int = 0); Room(const Room&); virtual Room* Clone() const; void InitializeRoomNo(int); MapSite* GetSide(Direction); void SetSide(Direction, MapSite*); virtual void Enter();private: MapSite* _sides[4]; int _roomNumber;};#endif#ifndef Wall_H#define Wall_Hclass Wall : public MapSite {public: Wall(); Wall(const Wall&); virtual Wall* Clone() const; virtual void Enter();};#endif#ifndef Door_H#define Door_Hclass Door : public MapSite {public: Door(Room* = 0, Room* = 0); Door(const Room&); virtual Door* Clone() const; void Initialize(Room*, Room*); virtual void Enter(); Room* OtherSideFrom(Room*);private: Room* _room1; Room* _room2; bool _isOpen;};#endif#ifndef Maze_H#define Maze_Hclass Maze {public: Maze(); Maze(const Maze&); Room* RoomNo(int); void AddRoom(Room*); virtual Maze* Clone() const;private: // ...};#endif#ifndef BombedWall_H#define BombedWall_Hclass BombedWall : public Wall {public: BombedWall(bool bombed = false); BombedWall(const BombedWall&); virtual Wall* Clone() const; void Intialize(bool); virtual void Enter();private: bool _bomb;};#endif#ifndef RoomWithABomb_H#define RoomWithABomb_Hclass RoomWithABomb: public Room {public: RoomWithABomb(int = 0, bool bombed = false); RoomWithABomb(const RoomWithABomb&); bool HasBomb();private: bool _bomb;};#endif#ifndef EnchantedRoom_H#define EnchantedRoom_Hclass Spell;class EnchantedRoom : public Room {public: EnchantedRoom(int, Spell* = 0); EnchantedRoom(const EnchantedRoom&); bool HasSpell(); Spell PickUpSpell();private: Spell* _spell;};#endif#ifndef DoorNeedingSpell_H#define DoorNeedingSpell_Hclass DoorNeedingSpell : public Door {public: DoorNeedingSpell(Room*, Room*); DoorNeedingSpell(const DoorNeedingSpell&); bool TrySpell(Spell);};#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -