亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? player.h

?? 2009 ROBOCUP 仿真2DSERVER 源碼
?? H
字號:
// -*-c++-*-/***************************************************************************                          player.h  -  A class for field players and goalies                             -------------------    begin                : 26-NOV-2001    copyright            : (C) 2001, 2002 by The RoboCup Soccer Server                           Maintenance Group.    email                : sserver-admin@lists.sourceforge.net***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU LGPL as published by the Free Software  * *   Foundation; either version 2 of the License, or (at your option) any  * *   later version.                                                        * *                                                                         * ***************************************************************************/#ifndef RCSSSERVER_PLAYER_H#define RCSSSERVER_PLAYER_H#include "arm.h"#include "audio.h"#include "object.h"#include "pcombuilder.h"#include "pcomparser.h"#include "remoteclient.h"#include "serverparam.h"#include <string>class Stadium;class HeteroPlayer;class Team;namespace rcss {class InitObserverPlayer;class ObserverPlayer;class BodyObserverPlayer;class FullStateObserver;}class Player    : public MPObject,      public RemoteClient,      public rcss::Listener,      public rcss::pcom::Builder{private:    rcss::InitObserverPlayer * M_init_observer;    rcss::ObserverPlayer * M_observer;    rcss::BodyObserverPlayer * M_body_observer;    rcss::FullStateObserver * M_fullstate_observer;    Team * M_team;    const Side M_side;    const int M_unum;  /* uniform number */    std::string M_name_far;    std::string M_name_toofar;    /* th 19.05.00 */    std::string M_short_name_far;    std::string M_short_name_toofar;    double M_stamina;    double M_recovery;    double M_effort;    double M_stamina_capacity;    double M_consumed_stamina;    double M_vis_angle;    rcss::pcom::VIEW_WIDTH M_view_width;public:    const double defangle;    const double vis_distance;    const double vis_distance2;private:    double M_inertia_moment;    double M_version; //!< client protocol version    double M_unum_far_length;    double M_unum_too_far_length;    double M_team_far_length;    double M_team_too_far_length;#ifdef NEW_QSTEP    double dist_qstep_player; /* each Player quantize step of distance */    double land_qstep_player; /* each Player quantize step of distance for landmark */    double dir_qstep_player; /* each Player quantize step of direction */#endif    double M_angle_body; //!< temporal body angle    double M_angle_body_committed;    double M_angle_neck; //!< temporal neck angle    double M_angle_neck_committed;    // pfr 8/14/00: for RC2000 evaluation    double M_kick_rand;    bool M_synch_see;    int M_vis_send;    bool M_highquality;    Int32 M_state;    bool M_ball_collide;    bool M_player_collide;    bool M_post_collide;    bool M_command_done;    bool M_turn_neck_done;    bool M_done_received; //pfr:SYNCH    int M_hear_capacity_from_teammate;    int M_hear_capacity_from_opponent;    bool M_goalie;    int M_goalie_catch_ban;    int M_goalie_moves_since_catch;    int M_kick_cycles;    int M_kick_count;    int M_dash_count;    int M_turn_count;    int M_catch_count;    int M_move_count;    int M_turn_neck_count;    int M_change_view_count;    int M_say_count;    Arm M_arm;    int M_attentionto_count;    int M_tackle_cycles;    int M_tackle_count;    int M_clang_min_ver;    int M_clang_max_ver;    bool M_offside_mark;    PVector M_offside_pos;    const HeteroPlayer * M_player_type;    int M_player_type_id;    rcss::pcom::Parser M_parser;private:    // not used    Player();    const Player & operator=( const Player & );public:    Player( Stadium & stadium,            Team * team,            int number );    ~Player();    bool init( const double & ver,               const bool goalie );    void setEnable();    void disable();    void discard();    Int32 state() const      {          return M_state;      }    void addState( const Int32 state )      {          M_state |= state;      }    void resetState();    void sendInit();    void sendReconnect();    void parseMsg( const char * msg,                   const size_t & len );    void send( const char * msg );    void sendBody()      {          sense_body();      }    void sendVisual();    void sendSynchVisual();    void sendFullstate(); /* contributed by Artur Merke */    void incArmAge()      {          M_arm.incAge();      }    const    Arm & arm() const      {          return M_arm;      }    int attentiontoCount() const { return M_attentionto_count; }    int tackleCycles() const { return M_tackle_cycles; }    bool isTackling() const { return M_tackle_cycles > 0; }    int tackleCount() const { return M_tackle_count; }    int clangMinVer() const { return M_clang_min_ver; }    int clangMaxVer() const { return M_clang_max_ver; }    //void setBackPasser() { M_alive |= BACK_PASS; }    //void setFreeKickFaulter() { M_alive |= FREE_KICK_FAULT; }    void place( const PVector & location );    void place( const PVector & pos,                const double & angle,                const PVector & vel,                const PVector & accel );    const    Team * team() const      {          return M_team;      }    Side side() const      {          return M_side;      }    int unum() const      {          return M_unum;      }    bool isGoalie() const      {          return M_goalie;      }    const    std::string & nameFar() const      {          return M_name_far;      }    const    std::string & nameTooFar() const      {          return M_name_toofar;      }    const    std::string & shortNameFar() const      {          return M_short_name_far;      }    const    std::string & shortNameTooFar() const      {          return M_short_name_toofar;      }    const    double & stamina() const      {          return M_stamina;      }    const    double & recovery() const      {          return M_recovery;      }    const    double & effort() const      {          return M_effort;      }    const    double & staminaCapacity() const      {          return M_stamina_capacity;      }    const    double & visibleAngle() const      {          return M_vis_angle;      }    rcss::pcom::VIEW_WIDTH viewWidth() const      {          return M_view_width;      }    const    double & version() const      {          return M_version;      }    const    double & unumFarLength() const      {          return M_unum_far_length;      }    const    double & unumTooFarLength() const      {          return M_unum_too_far_length;      }    const    double & teamFarLength() const      {          return M_team_far_length;      }    const    double & teamTooFarLength() const      {          return M_team_too_far_length;      }    double distQStep() const      {#ifndef NEW_QSTEP          return ServerParam::instance().quantizeStep();#else          return dist_qstep_player;#endif      }    double landDistQStep() const      {#ifndef NEW_QSTEP          return ServerParam::instance().landmarkQuantizeStep();#else          return land_qstep_player;#endif      }    double dirQStep() const      {#ifndef NEW_QSTEP          return 0.1;#else          return dir_qstep_player;#endif      }    const    double & angleBodyCommitted() const      {          return M_angle_body_committed;      }    const    double & angleNeckCommitted() const      {          return M_angle_neck_committed;      }    int visSend() const      {          return M_vis_send;      }    bool highquality() const      {          return M_highquality;      }    bool doneReceived() const      {          return M_done_received;      }    void decrementHearCapacity( const Player & sender );    bool canHearFullFrom( const Player & sender ) const;    bool kicked() const { return M_kick_cycles >= 0; }    int kickCount() const { return M_kick_count; }    int dashCount() const { return M_dash_count; }    int turnCount() const { return M_turn_count; }    int catchCount() const { return M_catch_count; }    int moveCount() const { return M_move_count; }    int turnNeckCount() const { return M_turn_neck_count; }    int changeViewCount() const { return M_change_view_count; }    int sayCount() const { return M_say_count; }    double angleFromBody( const PObject & obj ) const      {          //return M_pos.vangle( obj.pos(), M_angle_body_committed );          return normalize_angle( ( obj.pos() - this->pos() ).angle()                                  - M_angle_body_committed );      }    void setPlayerType( const int );    void substitute( const int );    int playerTypeId() const      {          return M_player_type_id;      }    bool setSenders();    void recoverAll();    void recoverStaminaCapacity();    void updateStamina();    void updateCapacity();    bool ballCollide() const      {          return M_ball_collide;      }    bool playerCollide() const      {          return M_player_collide;      }    bool postCollide() const      {          return M_post_collide;      }    void collidedWithBall()      {          addState( BALL_TO_PLAYER | BALL_COLLIDE );          M_ball_collide = true;      }    void collidedWithPlayer()      {          addState( PLAYER_COLLIDE );          M_player_collide = true;      }    void resetCollisionFlags();    void resetCommandFlags();    void clearOffsideMark();    void setOffsideMark( const double & offside_line );    bool hasOffsideMark() const      {          return M_offside_mark;      }    const    PVector & offsidePos() const      {          return M_offside_pos;      }protected:    virtual    void turnImpl();    virtual    void updateAngle();    virtual    void collidedWithPost();    virtual    double maxAccel() const;    virtual    double maxSpeed() const;private:    bool parseCommand( const char * command );    int parseEar( const char * command );    /** PlayerCommands */    void dash( double power );    void dash( double power, double dir );    void turn( double moment );    void turn_neck( double moment );    void kick( double power, double dir );    void goalieCatch( double dir );    void say( std::string message );    /*! This function is called in the begin of each cycle      and in case a player sends a sense_body command. */    void sense_body();    void score();    void move( double x, double y );    void change_view( rcss::pcom::VIEW_WIDTH viewWidth, rcss::pcom::VIEW_QUALITY viewQuality );    void change_view( rcss::pcom::VIEW_WIDTH viewWidth );    void compression( int level );    void bye();    void done();    void pointto( bool on, double dist, double head );    void attentionto( bool on, rcss::pcom::TEAM team_side, std::string team_name, int at_unum );    void tackle( double power_or_angle );    void clang( int min, int max);    void ear( bool on, rcss::pcom::TEAM team_side, std::string team_name, rcss::pcom::EAR_MODE mode );    void synch_see();};#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费电影在线| 丰满放荡岳乱妇91ww| 欧美日韩一区不卡| 日韩成人av影视| 国产亚洲欧美激情| 欧美日韩美少妇| 色94色欧美sute亚洲线路一ni| 亚洲欧美另类图片小说| 久久久久国产一区二区三区四区 | 日韩精品一卡二卡三卡四卡无卡| 免费观看一级欧美片| 99久久久久久99| 久久久久久电影| 亚洲一区二三区| 91丝袜国产在线播放| 国产偷v国产偷v亚洲高清| av一区二区三区黑人| 一区二区三区在线看| 337p亚洲精品色噜噜噜| 国产一区二区女| 亚洲女同女同女同女同女同69| 在线免费观看一区| 在线看日韩精品电影| 国产午夜久久久久| 丁香五精品蜜臀久久久久99网站 | 欧美激情综合在线| 国产欧美精品区一区二区三区| 欧美一级艳片视频免费观看| 久久综合av免费| 日韩亚洲欧美综合| 中文字幕乱码一区二区免费| 一级中文字幕一区二区| 麻豆传媒一区二区三区| 成人激情电影免费在线观看| 久久er精品视频| 色呦呦一区二区三区| 欧美一级夜夜爽| 成人深夜在线观看| 国精产品一区一区三区mba视频| 久久女同性恋中文字幕| 色综合天天综合网天天看片| 91精品国产色综合久久| 国产一区欧美日韩| 欧美日韩免费一区二区三区视频| 91精彩视频在线观看| 亚洲成人综合在线| 精品欧美黑人一区二区三区| 国产精品不卡一区| 7777精品伊人久久久大香线蕉经典版下载| 美女一区二区三区在线观看| 亚洲激情中文1区| 蜜臀av性久久久久蜜臀aⅴ| 91在线视频官网| 国产精品毛片久久久久久| 日本成人超碰在线观看| 欧美sm极限捆绑bd| 亚洲欧洲国产日本综合| 丁香天五香天堂综合| 日韩欧美激情在线| 激情文学综合网| 欧美zozo另类异族| 男人操女人的视频在线观看欧美| 日韩美女视频一区二区在线观看| 1000部国产精品成人观看| av高清久久久| 中文字幕制服丝袜成人av | 久久久午夜电影| 久久日韩粉嫩一区二区三区| 欧美激情一区二区三区不卡| 国产在线精品免费| 久久久久久久久久电影| 蜜臀av一区二区在线免费观看 | 欧美一级夜夜爽| 国产在线视频精品一区| 日韩高清电影一区| 亚洲精品水蜜桃| 日韩电影一区二区三区四区| 欧美激情一区二区三区蜜桃视频| 久久综合视频网| 在线精品视频一区二区三四| 粉嫩av亚洲一区二区图片| 国产一区二区福利| 成人在线一区二区三区| 国产综合色视频| 久久99久久精品| 亚洲综合一区在线| 亚洲欧美福利一区二区| 国产三区在线成人av| 一区二区三区在线免费观看 | 国产人成亚洲第一网站在线播放| 精品一区二区免费| 91精品国产色综合久久不卡电影| 91国产视频在线观看| 色天天综合色天天久久| 蜜桃视频在线观看一区二区| 亚洲成人动漫一区| 日本一区二区成人在线| 制服丝袜成人动漫| 欧美一级片免费看| 中文字幕欧美国产| 亚洲日本一区二区| 亚洲人成精品久久久久| 在线观看视频一区| 欧美色倩网站大全免费| 欧美精品色一区二区三区| 欧美性受xxxx黑人xyx| 欧美亚洲动漫精品| 91看片淫黄大片一级| 国产一区在线观看麻豆| 欧美亚洲图片小说| 97久久人人超碰| 欧美另类z0zxhd电影| 国产亚洲精品免费| 国产精品久久久久久亚洲毛片| 中文字幕在线观看一区二区| 久久蜜臀中文字幕| 亚洲婷婷国产精品电影人久久| 亚洲人精品午夜| 亚洲永久精品国产| 国产在线乱码一区二区三区| 7777精品伊人久久久大香线蕉最新版| 日韩三级精品电影久久久| 亚洲免费av网站| 国产乱码精品一品二品| xnxx国产精品| 午夜精品aaa| 丁香一区二区三区| 欧美一区二区黄色| 亚洲丰满少妇videoshd| 午夜精品福利久久久| 91在线视频官网| 亚洲va天堂va国产va久| 欧美亚洲国产一区二区三区| 亚洲欧洲日韩综合一区二区| 国产一区二区看久久| 在线亚洲一区二区| 中文字幕在线不卡一区二区三区| 99久久99久久久精品齐齐| 久久久无码精品亚洲日韩按摩| 一区二区三区四区亚洲| 日本欧美一区二区三区乱码 | 99久久久无码国产精品| 欧美图片一区二区三区| 亚洲色图制服诱惑| 99久久99久久精品免费观看| 中文字幕日韩一区| 久久精品99国产精品| 欧美一卡在线观看| 丝袜美腿一区二区三区| 色妞www精品视频| 日韩不卡手机在线v区| 99re亚洲国产精品| 亚洲一区二区三区四区在线观看 | 国产精品毛片无遮挡高清| 国产校园另类小说区| 日韩**一区毛片| 欧美视频你懂的| 有码一区二区三区| 色哟哟一区二区在线观看| 国产午夜精品久久久久久免费视 | 日日夜夜免费精品视频| 欧美高清视频一二三区 | 99久久婷婷国产| 久久影院视频免费| 在线观看日韩av先锋影音电影院| 日韩经典中文字幕一区| 亚洲精品免费在线观看| 国产日韩欧美在线一区| 国产亚洲女人久久久久毛片| 久久综合色之久久综合| 一区二区三区美女视频| 国产精品区一区二区三| 日韩av在线播放中文字幕| 国产九色sp调教91| 日本乱码高清不卡字幕| 欧美日韩精品综合在线| 亚洲图片激情小说| 高清视频一区二区| 精品久久久久99| 一区二区三区在线视频免费 | 国产日韩欧美不卡| 欧美艳星brazzers| 色哟哟一区二区| 一本大道久久精品懂色aⅴ| 国产乱码精品一区二区三| 国产精品99久久久久久有的能看| 国产综合久久久久影院| caoporen国产精品视频| 精品视频在线免费观看| 7777精品伊人久久久大香线蕉最新版 | www.日韩精品| 欧美一区二区三区思思人| 精品黑人一区二区三区久久| 26uuu欧美| 国产精品久久久久久一区二区三区 | 亚洲精品一区二区三区蜜桃下载 | 亚洲欧洲av另类| 国产成人综合视频| 欧美日韩亚洲另类| 91精品国产综合久久久久|