實驗四進一步了解demeer5并能熟悉修改內(nèi)容以達到_第1頁
實驗四進一步了解demeer5并能熟悉修改內(nèi)容以達到_第2頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗一、實驗?zāi)縟emeer5demeer51UVAdemeerdemeer2demeer54worldmodelwoeldmodel,basicplayer二、實驗設(shè)三、實驗內(nèi)elseif(WM-{VecPositionvec=WM->getGlobalPosition(WM->getOppGoalieType());{VecPositionpos=(52.2,-6.5);}{VecPositionpos1=(52.5,6.5);} mandInQueue(soc }Basicplayer里添加一個帶球函數(shù),要求如果無人阻擋就向球門帶球,否則想辦法 isOpponentAtAngleEx(AngDegangAAngDegangB dDist判斷當前球員角度在angA~angB之間距離小于dDist的范圍內(nèi)是否有對方隊boolWorldModel::isOpponentAtAngleEx(AngDegangA,AngDegangB,doubledDist){VecPositionposAgent =getAgentGlobalPosition();VecPositionposOpp; for(ObjectTo=iterateObjectStart(iIndex,OBJECT_SET_OPPONENTSo!=o=iterateObjectNext(iIndex,OBJECT_SET_OPPONENTS){ =getGlobalPosition(o =(posOpp-posAgent).getDirection()if(angA<=angOpp&&angOpp<=angB&&posAgent.getDistanceTo(posOpp)<dDist)returntrue;}iterateObjectDone(iIndex);returnfalse;}elseif(WM-{Circleintnum=WM->getNrInSetInCircle(OBJECT_SET_OPPONENTS,cir);{doubleang=(VecPosition(52.5,0)-posAgent).getDirection();if(WM->isOpponentAtAngleEx(ang-45,ang,6))elseif(WM->isOpponentAtAngleEx(ang,ang+45,6))andsoc=dribble(ang, }{} mandInQueue(soc }狀態(tài)來判斷,球門哪一方空隙較大,守門員的位置為VecPositionposGoalie=(52.5,6.5(52.5,- isLeftGapBig()該函數(shù)用來判斷球門哪一方空隙較boolWorldModel::{VecPositionposAgent=getAgentGlobalPosition();VecPositionposLeftGoalpost;VecPositionposRightGoalpost;if(getSide()==SIDE_LEFT){}{}

VecPositionposLeftGoalpost(52.5,-7.0);VecPositionVecPositionposLeftGoalpost(-52.5,-7.0);VecPositionposRightGoalpost(-AngDegang1=(posRightGoalpost-posAgent).getDirection();AngDegang2=(posLeftGoalpost-posAgent).getDirection();AngDegang3=(posGoalie-posAgent).getDirection();AngDegangLeftGap=ang2-ang1;AngDegangRightGap=ang2+ang3;return}

return③.if(WM->isBallKickable())if(WM-{VecPositionVecPositionposRightShoot;{VecPositionposLeftShoot(52.5,-6.5);VecPosition}{VecPositionposLeftShoot(-52.5,-6.5);VecPositionposRightShoot(-}if(WM-soc=kickTo(posLeftShoot,SS->getBallSpeedMax()}

soc=kickTo(posRightShoot,SS->getBallSpeedMax()BasicPlay里填加一個帶球函數(shù),要求如果無人阻擋(帶球?qū)⒁?jīng)過的路線附近①.打開BasicPlay.h,在里面預定義函數(shù),即寫and②.找到并打開BasicPlay.cpp在里面填加一個新函and{andVecPositionposAgent=WM-doubleang=(VecPosition(52.5,0)-posAgent).getDirection();if(WM->isOpponentAtAngleEx(ang-45,ang,6)){}

andsoc=dribble(ang,DRIBBLE_SLOWelseif(WM->isOpponentAtAngleEx(ang,ang+45,6){ang-}

andsoc=dribble(ang,DRIBBLE_SLOW{

andsoc=((WM->getPosOpponentGoal()-posAgent).getDirection(),DRIBBLE_FAST} andInQueue(soc}③

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論