Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10156


Ignore:
Timestamp:
Dec 4, 2014, 5:16:20 PM (10 years ago)
Author:
richtero
Message:

getting closer to a playable version

Location:
code/branches/minigame4DHS14
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • code/branches/minigame4DHS14/data/levels/4Dtest.oxw

    r10131 r10156  
    1313
    1414<!-- Templates here -->
    15 <Template name=mini4Dgameboard>
    16   <Mini4DgameBoard>
    17     <attached>
    18       <?lua
    19                 for i = -90, 90, 60
    20                 do
    21                 ?>
    22                         <?lua
    23                         for j = -90, 90, 60
    24                         do
    25                         ?>
    26                                 <?lua
    27                                 for k = -90, 90, 60
    28                                 do
    29                                 ?>
    30                                         <Model
    31                                         position="<?lua print(i) ?>,<?lua print(j) ?>,<?lua print(k) ?>"
    32                                         mesh="checkPoint.mesh"
    33                                         scale="5" />
    34                                 <?lua
    35                                 end
    36                                 ?>
    37                         <?lua
    38                         end
    39                         ?>
    40                 <?lua
    41                 end
    42                 ?>
    43     </attached>
    44   </Mini4DgameBoard>
    45 </Template>
    4615
    47 <!--
    48         <BlinkingBillboard position="0,0,0" frequency=0.6 amplitude=0.4 material="Flares/lensflare" colour="0,1,0">
    49         </BlinkingBillboard>
    50  -->
    5116
    5217<Level
     
    7540    <SpawnPoint position="-330,330,165" lookat="0,0,0" />
    7641
    77         <Mini4DgameCenterpoint name=mini4Dgamecenter boardtemplate=mini4Dgameboard width=16 height=16 length=16 position="0,0,0">
     42        <Mini4DgameBoard>
     43        <attached>
     44        <?lua
     45                for i = -90, 90, 60
     46                do
     47                ?>
     48                        <?lua
     49                        for j = -90, 90, 60
     50                        do
     51                        ?>
     52                                <?lua
     53                                for k = -90, 90, 60
     54                                do
     55                                ?>
     56                                        <Model
     57                                        position="<?lua print(i) ?>,<?lua print(j) ?>,<?lua print(k) ?>"
     58                                        mesh="checkPoint.mesh"
     59                                        scale="5" />
     60                                <?lua
     61                                end
     62                                ?>
     63                        <?lua
     64                        end
     65                        ?>
     66                <?lua
     67                end
     68                ?>
     69        </attached>
     70       
     71        </Mini4DgameBoard>
    7872
    79     </Mini4DgameCenterpoint>
    80 
     73<!--
     74<attached>
     75    <BlinkingBillboard position="0,0,0" frequency=0.6 amplitude=0.4 material="Flares/lensflare" colour="0,1,0" visabilaty=gone>
     76        </BlinkingBillboard>
     77</attached>
     78-->
    8179
    8280  </Scene>
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/CMakeLists.txt

    r10131 r10156  
    33  #Mini4DgameAI.cc
    44  Mini4DgameBoard.cc
    5   Mini4DgameCenterpoint.cc
    65)
    76
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/Mini4Dgame.cc

    r10131 r10156  
    5050#include "chat/ChatManager.h"
    5151
    52 #include "Mini4DgameCenterpoint.h"
    53 
    5452namespace orxonox
    5553{
     
    6765        RegisterObject(Mini4Dgame);
    6866
    69         this->center_ = 0;
    7067        this->board_ = 0;
     68        //ConsoleCommand("Mini4Dgame", "setStone", &Mini4Dgame::setStone).addShortcut().setAsInputCommand();
    7169
    7270        // Set the type of Bots for this particular Gametype.
     
    9997    void Mini4Dgame::start()
    10098    {
    101         if (this->center_ != NULL) // There needs to be a Mini4DgameCenterpoint, i.e. the area the game takes place.
     99        if (this->board_ != NULL) // There needs to be a Mini4DgameCenterpoint, i.e. the area the game takes place.
    102100        {
     101                /*
    103102                if (this->board_ == NULL)
    104103                {
    105                         this->board_ = new Mini4DgameBoard(this->center_->getContext());
     104                        this->board_ = new Mini4DgameBoard(this->board_->getContext());
    106105                        // Apply the template for the ball specified by the centerpoint.
    107106                        this->board_->addTemplate(this->center_->getBoardtemplate());
    108107                }
     108                */
    109109
    110110                // Attach the board to the centerpoint and set the parameters as specified in the centerpoint, the ball is attached to.
    111                 this->center_->attach(this->board_);
     111
    112112                this->board_->setPosition(0, 0, 0);
    113113
     
    177177    }
    178178
    179     static void Mini4Dgame::setStone(Vector4 move, const int playerColor, Mini4DgameBoard* board)
     179    //void Mini4Dgame::setStone(Vector4 move, const int playerColor, Mini4DgameBoard* board)
     180    void Mini4Dgame::setStone(int x,int y,int z,int w)//Vector4 move, const int playerColor)
    180181    {
    181         board->makeMove(move,playerColor);
     182        Vector4 move = Vector4(x,y,z,w);
     183        ObjectList<Mini4DgameBoard>::iterator it = ObjectList<Mini4DgameBoard>::begin();
     184        it->makeMove(move,1);//playerColor);
    182185    }
    183186
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/Mini4Dgame.h

    r10131 r10156  
    3737#include "gametypes/Deathmatch.h"
    3838#include "mini4Dgame/Mini4DgamePrereqs.h"
    39 #include "Mini4DgameCenterpoint.h"
    4039#include "Mini4DgameBoard.h"
    4140
     
    7170            virtual void spawnPlayer(PlayerInfo* player); //!< Spawns the input player.
    7271
    73             void setCenterpoint(Mini4DgameCenterpoint* center)
    74                 { this->center_ = center; }
     72            void setGameboard(Mini4DgameBoard* board)
     73                { this->board_ = board; }
    7574
    76             static void setStone(Vector4 move, const int playerColor, Mini4DgameBoard* board);
     75            Mini4DgameBoard* getBoard(void)
     76                { return this->board_; }
     77
     78            //static void setStone(Vector4 move, const int playerColor, Mini4DgameBoard* board);
     79            static void setStone(int x,int y, int z, int w);//Vector4 move, const int playerColor);
    7780
    7881            void win(Mini4DgameWinner winner);
     
    8689
    8790            //Player players[2];
    88 
    89             WeakPtr<Mini4DgameCenterpoint> center_; //!< The centerpoint to which the objects are attached
    90             WeakPtr<Mini4DgameBoard> board_;
     91            Mini4DgameBoard* board_;
    9192    };
    9293}
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/Mini4DgameBoard.cc

    r10131 r10156  
    3838
    3939#include "gametypes/Gametype.h"
     40#include "graphics/BlinkingBillboard.h"
    4041
    4142#include "core/XMLPort.h"
     
    5758        //this->registerVariables();
    5859
    59         //initialize sound
     60        //initialize board
    6061        for(int i=0;i<4;i++){
    6162                for(int j=0;j<4;j++){
     
    6768                }
    6869        }
     70
     71        this->checkGametype();
    6972    }
    7073
     
    123126        {
    124127                this->board[(int)move.x][(int)move.y][(int)move.z][(int)move.w] = (mini4DgamePlayerColor::color) playerColor;
    125                 //BlinkingBillboard* bb = new BlinkingBillboard(this->getContext());
    126                 //bb->setPosition(0,0,0);
     128                        BlinkingBillboard* bb = new BlinkingBillboard(this->getContext());
     129                        orxout(user_status) << "Mini4Dgame: move.x " << move.x << endl;
     130
     131                        bb->setPosition(60*(int)move.x-90,60*(int)move.y-90,60*(int)move.z-90);
     132                        bb->setFrequency(0.6);
     133                        bb->setAmplitude(0.1);
     134                        //bb->setMaterial("Flares/lensflare");
     135                        bb->setMaterial("Numbers/One");
     136                        bb->setColour(ColourValue(0,1,0));
     137
     138                        this->attach(bb);
     139
     140
    127141                Mini4DgameWinner winner = this->getWinner();
    128142                if(winner.color_ != mini4DgamePlayerColor::none)
    129143                {
     144                        orxout(user_status) << "Mini4Dgame: win!!!!!!!" << endl;
    130145                        //win(winner);
    131146                }
     
    837852        return winner;
    838853    }
     854
     855    /**
     856    @brief
     857        Is called when the gametype has changed.
     858    */
     859    void Mini4DgameBoard::changedGametype()
     860    {
     861        SUPER(Mini4DgameBoard, changedGametype);
     862
     863        // Check, whether it's still Mini4Dgame.
     864        this->checkGametype();
     865    }
     866
     867    /**
     868    @brief
     869        Checks whether the gametype is Mini4Dgame and if it is, sets its centerpoint.
     870    */
     871    void Mini4DgameBoard::checkGametype()
     872    {
     873        if (this->getGametype() != NULL && this->getGametype()->isA(Class(Mini4Dgame)))
     874        {
     875            Mini4Dgame* Mini4DgameGametype = orxonox_cast<Mini4Dgame*>(this->getGametype().get());
     876            Mini4DgameGametype->setGameboard(this);
     877        }
     878    }
    839879}
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/Mini4DgameBoard.h

    r10131 r10156  
    4040#include "worldentities/StaticEntity.h"
    4141
    42 #include "Mini4DgameCenterpoint.h"
    43 
    4442namespace orxonox
    4543{
     
    7371            Mini4DgameWinner getWinner();
    7472
     73            void changedGametype();
     74            void checkGametype();
     75
    7576        private:
    7677            //void registerVariables();
  • code/branches/minigame4DHS14/src/modules/mini4Dgame/Mini4DgamePrereqs.h

    r10131 r10156  
    7070    class Mini4Dgame;
    7171    class Mini4DgameBoard;
    72     class Mini4DgameCenterpoint;
    7372}
    7473
Note: See TracChangeset for help on using the changeset viewer.