Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 23, 2011, 9:57:54 PM (13 years ago)
Author:
dafrick
Message:

Merging changes from tetris branch into trunk, since they are also useful, there.

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/modules/pong/PongBall.h

    r7885 r8108  
    2727 */
    2828
     29/**
     30    @file PongBall.h
     31    @brief Declaration of the PongBall class.
     32    @ingroup Pong
     33*/
     34
    2935#ifndef _PongBall_H__
    3036#define _PongBall_H__
     
    3339
    3440#include "util/Math.h"
     41
    3542#include "worldentities/MovableEntity.h"
    3643
    3744namespace orxonox
    3845{
     46
     47    /**
     48    @brief
     49        This class manages the ball for @ref orxonox::Pong "Pong".
     50
     51        It is responsible for both the movement of the ball in the x,z-plane as well as its interaction with the boundaries of the playing field (defined by the @ref orxonox::PongCenterpoint "PongCenterpoint") and the @ref orxonox::PongBat "PongBats". Or more precisely, it makes the ball bounce off then upper and lower delimiters of the playing field, it makes the ball bounce off the bats and also detects when a player scores and takes appropriate measures.
     52
     53    @author
     54        Fabian 'x3n' Landau
     55
     56    @ingroup Pong
     57    */
    3958    class _PongExport PongBall : public MovableEntity
    4059    {
     
    4564            virtual void tick(float dt);
    4665
     66            /**
     67            @brief Set the dimensions of the playing field.
     68            @param width The width of the playing field.
     69            @param height The height of the playing field.
     70            */
    4771            void setFieldDimension(float width, float height)
    4872                { this->fieldWidth_ = width; this->fieldHeight_ = height; }
     73            /**
     74            @brief Get the dimensions of the playing field.
     75            @param dimension A vector with the width as the first and height as the second component.
     76            */
    4977            void setFieldDimension(const Vector2& dimension)
    5078                { this->setFieldDimension(dimension.x, dimension.y); }
     79            /**
     80            @brief Get the dimensions of the playing field.
     81            @return Returns a vector with the width as the first and height as the second component.
     82            */
    5183            Vector2 getFieldDimension() const
    5284                { return Vector2(this->fieldWidth_, this->fieldHeight_); }
    5385
    54             void setSpeed(float speed);
     86            void setSpeed(float speed); //!< Set the speed of the ball (in x-direction).
     87            /**
     88            @brief Get the speed of the ball (in x-direction).
     89            @return Returns the speed of the ball (in x-direction).
     90            */
    5591            float getSpeed() const
    5692                { return this->speed_; }
    5793
     94            /**
     95            @brief Set the acceleration factor of the ball.
     96            @param factor The factor the acceleration of the ball is set to.
     97            */
    5898            void setAccelerationFactor(float factor)
    5999                { this->accelerationFactor_ = factor; }
     100            /**
     101            @brief Get the acceleration factor of the ball.
     102            @return Returns the acceleration factor of the ball.
     103            */
    60104            float getAccelerationFactor() const
    61105                { return this->accelerationFactor_; }
    62106
     107            /**
     108            @brief Set the length of the bats.
     109            @param batlength The length of the bats (in z-direction) as percentage of the height of the playing field.
     110            */
    63111            void setBatLength(float batlength)
    64112                { this->batlength_ = batlength; }
     113            /**
     114            @brief Get the length of the bats.
     115            @return Returns the length of the bats (in z-direction) as percentage of the height of the playing field.
     116            */
    65117            float getBatLength() const
    66118                { return this->batlength_; }
    67119
    68             void setBats(WeakPtr<PongBat>* bats);
    69             void applyBats();
     120            void setBats(WeakPtr<PongBat>* bats); //!< Set the bats for the ball.
     121            void applyBats(); //!< Get the bats over the network.
    70122
    71123            static const float MAX_REL_Z_VELOCITY;
     
    74126            void registerVariables();
    75127
    76             float fieldWidth_;
    77             float fieldHeight_;
    78             float speed_;
    79             float accelerationFactor_;
    80             float batlength_;
    81             WeakPtr<PongBat>* bat_;
    82             bool bDeleteBats_;
    83             unsigned int* batID_;
    84             float relMercyOffset_;
     128            float fieldWidth_; //!< The width of the playing field.
     129            float fieldHeight_; //!< The height of the playing field.
     130            float speed_; //!< The speed (in x-direction) of the ball.
     131            float accelerationFactor_; //!< The acceleration factor of the ball.
     132            float batlength_; //!< The length of the bats (in z-direction) as percentage of the height of the playing field.
     133            WeakPtr<PongBat>* bat_; //!< An array with the two bats.
     134            bool bDeleteBats_; //!< Bool, to keep track, of whether this->bat_ exists or not.
     135            unsigned int* batID_; //!< The object IDs of the bats, to be able to synchronize them over the network.
     136            float relMercyOffset_; //!< Offset, that makes the player not loose, when, in all fairness, he would have.
    85137    };
    86138}
Note: See TracChangeset for help on using the changeset viewer.