OSDN Git Service

Add Creature::Walk().
authorDeskull <deskull@users.sourceforge.jp>
Wed, 7 May 2014 14:56:53 +0000 (23:56 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Wed, 7 May 2014 14:56:53 +0000 (23:56 +0900)
Deeangband/Creature.cpp
Deeangband/Creature.h
Deeangband/GameEngine.cpp

index 858482c..1190ad5 100644 (file)
@@ -398,6 +398,11 @@ namespace Deeangband
                return this->campID;
        }
 
+       bool Creature::Walk(DIRECTION dir)
+       {
+               return true;
+       }
+
        void Creature::XMLSave(std::string filename)
        {
                std::ofstream ofs(filename);
index 52fa1fe..5ef1409 100644 (file)
@@ -429,6 +429,13 @@ namespace Deeangband
                */
                void Creature::XMLSave(std::string filename);
 
+               /*!
+               * @brief \83N\83\8a\81[\83`\83\83\81[\82ð\8ew\92è\95û\8ap\82É\95à\82©\82¹\82é
+               * @param dir \95à\8ds\95û\8cü
+               * @return \88Ú\93®\8f\88\97\9d\82ª\8eÀ\8dÛ\82É\8e\8e\82Ý\82ç\82ê\82½\82çtrue\82ð\95Ô\82·
+               */
+               bool Creature::Walk(DIRECTION dir);
+
        };
 
 }
index db1f4d2..c3b21a9 100644 (file)
@@ -39,6 +39,8 @@ namespace Deeangband
 
        PLAY_EXIT_CODE GameEngine::DoGameCommand(GAME_COMMAND command)
        {
+               Creature *playerPtr = gameWorld->GetPlayerCreature();
+
                switch(command)
                {
                case GAME_COMMAND_VIEW_PLAYER_STATUS:
@@ -60,20 +62,28 @@ namespace Deeangband
                        return PLAY_EXIT_QUIT;
                        break;
                case GAME_COMMAND_NORTH:
+                       playerPtr->Walk(DIRECTION_NORTH);
                        break;
                case GAME_COMMAND_NORTH_EAST:
+                       playerPtr->Walk(DIRECTION_NORTH_EAST);
                        break;
                case GAME_COMMAND_EAST:
+                       playerPtr->Walk(DIRECTION_EAST);
                        break;
                case GAME_COMMAND_SOUTH_EAST:
+                       playerPtr->Walk(DIRECTION_SOUTH_EAST);
                        break;
                case GAME_COMMAND_SOUTH:
+                       playerPtr->Walk(DIRECTION_SOUTH);
                        break;
                case GAME_COMMAND_SOUTH_WEST:
+                       playerPtr->Walk(DIRECTION_SOUTH_WEST);
                        break;
                case GAME_COMMAND_WEST:
+                       playerPtr->Walk(DIRECTION_WEST);
                        break;
                case GAME_COMMAND_NORTH_WEST:
+                       playerPtr->Walk(DIRECTION_NORTH_WEST);
                        break;
                }
                return PLAY_EXIT_NONE;