ãããã£ãŠã
CGCã«é¢ãããããã¯ã®ç¶ãã§ãç§èªèº«ã®çµéšã«åºã¥ããŠãã®ãããªã³ã³ãã¹ããéå¬ããããã®ã·ã¹ãã ã®æè¡çãªè©³çŽ°ãæããã«ããŸãã
- ã·ã¹ãã æ§æ
ãŸãããã®çš®ã®ã·ã¹ãã ã®æ§æèŠçŽ ã決å®ããŸãããã
ãŸããæåã«ãæãéèŠãªããšã¯ã·ãã¥ã¬ãŒã·ã§ã³ã¢ãžã¥ãŒã«ã§ãã ããã«ããã¡ãããããã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒã§ãããæåŸã«ãCode Game Showã®æãéèŠãªéšåã¯ããžã¥ã¢ã©ã€ã¶ãŒã§ãã 次ã«ããããã®åéšåãåå¥ã«æ€èšããŸãã
- ã·ãã¥ã¬ãŒã¿ãŒ
ã·ãã¥ã¬ãŒã·ã§ã³ã¢ãžã¥ãŒã«ã¯ãäžçã®ç©çããŠãããã®ã»ãããããã³äžè¬çã«ã²ãŒã ã®äžçã«é¢é£ãããã¹ãŠãå®çŸ©ããŸãã ããã«ããã®ã¢ãžã¥ãŒã«ã¯æŠç¥éã®æŠãã®ã·ãã¥ã¬ãŒã·ã§ã³ãæ
åœããŸãã
ããã¯æåã®è³ªåãæèµ·ããŸã-æŠéã®çµæãèšé²ãããã®ã¯äœã§ããïŒ
æåã®ãªãã·ã§ã³ã¯ãæŠéã®çµéã«é¢ããç¹å®ã®ã¹ããŒãªãŒãèšé²ããããšã§ããããã¯ãããžã¥ã¢ã©ã€ã¶ãŒã䜿çšããŠåŸã§åçŸã§ããŸãã
2çªç®ã®ã¢ãããŒãã¯ãã·ãã¥ã¬ãŒã·ã§ã³ãšãã¬ã€ãåæã«è¡ãããšã§ãã
ã¢ãããŒãã«ã¯ããããé·æãšçæããããŸãã 2çªç®ã®ã¢ãããŒãã®å©ç¹ã¯ãåå è
ãéçºäžã®æŠç¥ã®åæã«è²»ããæéãåæžããããšã§ãã ãã ããæåã®ã¢ãããŒãã§ã¯ãé床ãšåçãã€ã³ããèšå®ããæ©èœãå®è£
ã§ããŸãã
ã·ãã¥ã¬ãŒã¿ã®ãã1ã€ã®éèŠãªè©³çŽ°ã¯ãç°ãªãèšèªã§èšè¿°ãããæŠç¥ããããŒã¿ãåéã§ããå¿
èŠãããããšã§ãã
ããã«ã¯ãããã€ãã®å®è£
ãªãã·ã§ã³ããããŸãã
æåã®éžæè¢ã¯ãDLLã§ã¡ã³ããŒæŠç¥ãã³ã³ãã€ã«ããã·ãã¥ã¬ãŒã¿ãããããã®ã©ã€ãã©ãªãæ¥ç¶ããããšã§ãã ãã ãããã®ãªãã·ã§ã³ã«ã¯ããã€ãã®åé¡ããããŸãã
- ãã¹ãŠã®èšèªãDLLåºåãæäŸã§ããããã§ã¯ãããŸãã
- DLLã䜿çšããå Žåããããã¯äžè¬çãªããã»ã¹ã«ããŒããããæå³çã«ããããããå ŽåããããŸãã
ããå®å
šãªã®ã¯ãå®è¡å¯èœãã¡ã€ã«ã§ã³ã³ãã€ã«ããããã»ã¹ééä¿¡ã䜿çšããŠã·ãã¥ã¬ãŒã¿ãšåå è
ã®æŠç¥ãäŒéãããªãã·ã§ã³ã§ãã ã³ãã¥ãã±ãŒã·ã§ã³ã«ã¯å¥œããªãã®ã䜿çšã§ããŸããå®éã«ã¯ãæšæºã®å
¥åºåã䜿çšããã·ã¹ãã ïŒãã ãããå§ãããŸããïŒããœã±ãããä»ããŠéä¿¡ããã·ã¹ãã ãèŠãŠããŸããã
ãŸããã·ãã¥ã¬ãŒã¿ã®ããžãã¯ã¯éåžžã«ç°¡åã§ãïŒ
- åå æŠç¥ãšã²ãŒã äžçã«é¢ããæ
å ±ïŒããšãã°ã䜿çšããã«ãŒãã®èå¥åïŒãåä¿¡ãããŸã
- ã·ãã¥ã¬ãŒã¿ã¯åå è
ã®æŠç¥ãèµ·åãã代ããã«Initã¡ãœãããå®è¡ããã³ãã³ããæž¡ããŸã
- ã·ãã¥ã¬ãŒã¿ãŒã¯åæŠç¥ã®Initã¡ãœããã®çµæãåãåãããŠãŒã¶ãŒã³ãŒãã®ãšã©ãŒïŒå®è¡æãå¶éæéãã¡ã¢ãªå¶éïŒãåŠçããŸãã
- ã·ãã¥ã¬ãŒã¿ãŒã¯ãMoveã¡ãœããã1ã€ãã€å®è¡ããã³ãã³ããæž¡ããçµæãåéããŸã
- å€ã蚱容å¯èœãªééã«æ»ããæŠéãã·ãã¥ã¬ãŒãããŸã
- ã²ãŒã å€æ°ã®å€ãæŽæ°ããMoveã¡ãœãããå床åŒã³åºããŸã
- æŠãã®çµããã«ãæŠãã®çµæãèšé²ããŸã
- ã客æ§
ã¯ã©ã€ã¢ã³ãã®äž»ãªã¿ã¹ã¯ã¯ããœãªã¥ãŒã·ã§ã³ãéä¿¡ããæŠãã®èŠèŽãéå§ããããšã§ãã
èŠåã®äžæ£ç¢ºãã解決ããããã«ãju審å¡ãšåå è
ãšã®éã®ã³ãã¥ãã±ãŒã·ã§ã³ãæ©èœãããããšãæçšãããããŸããã 競åäžã«ã¯ã©ã€ã¢ã³ããå€æŽãããèªåæŽæ°æ©èœã圹ç«ã€å Žåã«ç¶æ³ãçºçããããšããããŸãã
ã¯ã©ã€ã¢ã³ãã«æ©èœã¯ãããŸããã
- ãµãŒããŒ
ãµãŒããŒã¯æãé倧ãªéšåã®1ã€ã§ãã 競äºã®æåãšæåŸã®æ°åã¯ãéåžžããµãŒããŒã«ãšã£ãŠéåžžã«è¯ããã¹ãã§ã-ãããŠããããã®åã§ã®æ€èšŒèŠæ±ã¯ååã«å€§ããããµãŒããŒã¯èš±å®¹å¯èœãªæéå
ã«ãããã«å¿çããå¿
èŠããããŸãã
ãµãŒããŒã«ã¯äœãå«ãŸããŠããŸããïŒ ã·ãã¥ã¬ãŒã·ã§ã³ã¢ãžã¥ãŒã«ã«ç§»åããŸãã
å®éã«ã¯ããŠãŒã¶ãŒã®æ¥ç¶ãšãŠãŒã¶ãŒããã®æ±ºå®ã®åãå
¥ãã«åœ¹ç«ã€ã¡ã€ã³ãµãŒããŒã ãããã®ãœãªã¥ãŒã·ã§ã³ã¯ã³ã³ãã€ã«ãããŸãã æ£åžžã«ã³ã³ãã€ã«ããããœãªã¥ãŒã·ã§ã³ã¯ãã·ãã¥ã¬ãŒã·ã§ã³ã¢ãžã¥ãŒã«ã«æž¡ãããŸãã
åå è
ãã€ã³ã¹ããŒã«ããã®ãšåãã³ã³ãã€ã©ã䜿çšããããšã匷ããå§ãããŸã-ããã«ãããšã©ãŒã®æ°ãæžããŸãã
ãŠãŒã¶ãŒæ±ºå®ã®åŠçãé«éåããããã«ãã¯ã©ã¹ã¿ãŒã䜿çšã§ããŸãïŒTIT SFUã®å Žåãšåæ§ïŒããã¯ã©ã¹ã¿ãŒããªãå Žåã¯ãåæ£ãµãŒããŒãå®è£
ã§ããŸãã
- ããžã¥ã¢ã©ã€ã¶ãŒ
ãã®ã¢ãžã¥ãŒã«ã¯ãæŠãã衚瀺ããããã«äœ¿çšãããŸãã ã«ã©ãã«ãªç¹æ®å¹æã¯ãèŠèŽãããé¢çœãåºæ¿çãªãã®ã«ããåçãå¶åŸ¡ããæ©èœãããå Žåãåå è
ã®ç掻ãç°¡çŽ åããŸãã ãã ãããšãã§ã¯ãã«å€¢äžã«ãªããªãã§ãã ãããããžã¥ã¢ã©ã€ã¶ã®é床ã倧å¹
ã«äœäžãããšã競äºãäžå¯èœã«ãªãããšã«æ³šæããŠãã ããã
- ãŠãŒã¶ãŒAPI
ãŸããããã¯ãã¹ãŠããªãã®æ³ååã«äŸåããŸããç§ã泚æãããå¯äžã®ããšã¯ãæŠç¥ããããã°ããããã®ã¡ãœãããäœãããšããå§ãããããšã§ã-äŸãã°ããããã°ã¡ãã»ãŒãžãåºåããïŒæŠç¥ãæžããšãã«ã®ã¿è¡šç€ºãããïŒããã€ã³ããšãã¯ãã«ãåºåãã
ãŸãã1æ¥ã§APIãçºè¡ããããšããå§ãããŸãã2æ¥éã§ãã³ã³ãã¹ãã®åã«ãåå è
ã®å°ããªéãŸããé
眮ããŠè³ªåã«çããŸãã ãã®èšäºã®æåŸã®äŸã¯ãããããã®CGCã®APIã§ãã
- åè
ã²ãŒã ã®äžçã«é¢ããããã€ãã®ã³ã¡ã³ãã ãŸããé£æ床ãæ€èšããŸã-åå è
ã¯ã²ãŒã ã®äžçãæ¢çŽ¢ããæŠç¥ãå®è¡ããã®ã«4ã5æéãããããŸããã ã²ãŒã ã®äžçãããå³ãããªãã°ãªãã»ã©ããã¬ã€ã€ãŒã¯é¢çœããªããªããã³ãŒãã²ãŒã ã·ã§ãŒã®èŠæ ããæªããªããŸãã
ã¯ãŒã«ããéåžžã«è€éã§ããããå€æŽããããªãå Žåã¯ããŠãŒã¶ãŒAPIã«é«ã¬ãã«ã®ã¡ãœããïŒ2ç¹éã®ãã¹ãèŠã€ããã¡ãœãããªã©ïŒãå«ããããã«ããŠãã ããã ããªãã¯1æ¥ã2æ¥ä»¥äžéããå¿
èŠããããŸã-ããã¯éåžž1é±éãã1ã¶æããããŸãã
æãäžè¬çãªèšèªã®ãµããŒããè©Šã¿ãŠãã ãã-ããã¯åå è
ã®èŒªãåºããŸãã
ã²ãŒã ã®ãã©ã³ã¹ãåãããã®æéããšã£ãŠãã ãã-ãã©ã³ã¹ããšãããã«ã¯ã1ã2æ¥ä»¥äžãè²»ããå¿
èŠããããŸããéåžžã¯1é±éãã1ãæããããŸãã
- ãŠãŒã¶ãŒAPIã®äŸ
IBonusã€ã³ã¿ãŒãã§ã€ã¹-ããŒãã¹ãªããžã§ã¯ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠèª¬æããŸã
IBonusïŒãããªãã¯IMoveableObject
ããããã€ã³ãããŒãã¹ãååŸ
æ»ãå€ïŒããããããŒãã¹ãç²åŸããå Žåã«ããããåãåãããããã€ã³ãã®æ°
int GetHPïŒïŒ
æ©é¢éã®åŒŸè¬ããŒãã¹ãååŸãã
æ»ãå€ïŒããŒãã¹ãæŸã£ãå Žåã«ããããåãåããã·ã³ã¬ã³ã®åŒŸäžžã®æ°
int GetMashinegunAmmoïŒïŒ
ã¬ãŒã¶ãŒåŒŸè¬ããŒãã¹ãå
¥æ
æ»ãå€ïŒããããããŒãã¹ãåãåã£ãå Žåã«åãåããã·ã³ã¬ã³ã®ãã£ãŒãžæ°
int GetLaserAmmoïŒïŒ
éã®åŒŸè¬ããŒãã¹ãååŸãã
æ»ãå€ïŒããããããŒãã¹ãåãåã£ãå Žåã«åãåããã·ã³ã¬ã³ã®ç ²åŒŸã®æ°
int GetCannonAmmoïŒïŒ
ãã±ããã©ã³ãã£ãŒã®åŒŸè¬ããŒãã¹ãååŸãã
æ»ãå€ïŒããããããŒãã¹ãåãåãå Žåã«åãåãããµã€ã«ã®æ°
int GetRocketAmmoïŒïŒ
ãããã®å¯¿åœãååŸãã
æ»ãå€ïŒç§»åäžã®ããŒãã¹ã®æ®ãã®ã©ã€ãã¿ã€ã
int GetElapsedTimeïŒïŒ
IBotã€ã³ã¿ãŒãã§ã€ã¹-ã²ãŒã ãŠãããã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠèª¬æããŸã
IBotïŒãããªãã¯IMoveableObject
ããŒã åãååŸ
æ»ãå€ïŒã³ãã³ãã®ååãè¿ããŸã
æååGetTeamNameïŒïŒ
ãããåãååŸ
æ»ãå€ïŒãããã®ååãŸãã¯æå®ãããŠããªãå Žåã¯ç©ºã®æååãè¿ããŸã
æååGetNameïŒïŒ
匟è¬ãšéã®ç¶æ
ã«é¢ããæ
å ±ãå
¥æãã
ãã®æ
å ±ã«ã¯ã匟è¬ã«é¢ããæ
å ±ïŒç ²åŒŸã®æ°ïŒãšãéãçºå°ã§ããç¶æ
ã«ãªããŸã§ã®æéãå«ãŸããŠããŸã
æ»ãå€ïŒéã®çŸåšã®ç¶æ
SWeaponInfo GetCannonïŒïŒ
匟è¬ãšæ©é¢éã®ç¶æ
ã«é¢ããæ
å ±ãååŸãã
ãã®æ
å ±ã«ã¯ã匟è¬ã«é¢ããæ
å ±ïŒç ²åŒŸã®æ°ïŒãšãæ©é¢éã®çºå°æºåãæŽããŸã§ã®æéãå«ãŸããŠããŸãã
æ»ãå€ïŒãã·ã³ã¬ã³ã®çŸåšã®ç¶æ
SWeaponInfo GetMashineGunïŒïŒ
匟è¬ãšã¬ãŒã¶ãŒã®ç¶æ
ã«é¢ããæ
å ±ãå
¥æãã
ãã®æ
å ±ã«ã¯ã匟è¬ã«é¢ããæ
å ±ïŒé»è·ã®æ°ïŒãšã¬ãŒã¶ãŒãçºå°ã§ããç¶æ
ã«ãªããŸã§ã®æéãå«ãŸããŸãã
æ»ãå€ïŒçŸåšã®ã¬ãŒã¶ãŒã¹ããŒã¿ã¹
SWeaponInfo GetLaserïŒïŒ
匟è¬ãšãã±ããã©ã³ãã£ãŒã®ç¶æ
ã«é¢ããæ
å ±ãååŸãã
æ
å ±ã«ã¯ã匟è¬ã«é¢ããæ
å ±ïŒã·ã§ããæ°ïŒãšãã±ããçºå°è£
眮ãçºå°ããæºåãæŽããŸã§ã®æéãå«ãŸããŸãã
æ»ãå€ïŒãã±ããã©ã³ãã£ãŒã®çŸåšã®ç¶æ
SWeaponInfo GetRocketïŒïŒ
ãããã®çš®é¡ãååŸãã
æ»ãå€ïŒçŸåšã®ãããã®ã¿ã€ããè¿ããŸã
BotType GetTypeïŒïŒ
ã¿ã¯ãŒã¿ãŒã³ãååŸ
ã¿ã¯ãŒã®å転ã¯ããããã®çŽåŸé¢ã«å¯ŸããŠã«ãŠã³ããããŸãã
æ»ãå€ïŒã©ãžã¢ã³åäœã®ã¿ã¯ãŒã®çžå¯Ÿå転
ãããŒãGetTurrelAngleïŒïŒ
ãããã®å¥åº·ç¶æ
ãååŸãã
æ»ãå€ïŒçŸåšã®ããããã€ã³ãæ°
int GetHPïŒïŒ
ã€ã³ã¿ãŒãã§ãŒã¹IMoveableObject-移åå¯èœãªãªããžã§ã¯ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãèšè¿°ããŸãã
ãªããžã§ã¯ãã®äœçœ®ãååŸ
ãªããžã§ã¯ãã®äžå¿ã®åº§æšãè¿ããŸãã
æ»ãå€ïŒå·Šäžé
ã®åº§æš
ãã€ã³ãGetPositionïŒïŒ
ãªããžã§ã¯ãã®å転è§åºŠãååŸããŸã
座æšç³»ã®è©³çŽ°ã«ã€ããŠã¯ãIWorldã€ã³ã¿ãŒãã§ã€ã¹ã®èª¬æãåç
§ããŠãã ãã
æ»ãå€ïŒãªããžã§ã¯ãã®å転ãã©ãžã¢ã³ã§è¿ããŸã
ãããŒãGetDirectionïŒïŒ
ãªããžã§ã¯ãã®ååŸãååŸ
ããŒãã¹ãã·ã§ã«ããããã¯åã§ããã
æ»ãå€ïŒãªããžã§ã¯ãã®ååŸãè¿ããŸã
ãããŒãgetradiusïŒïŒ
ãªããžã§ã¯ãã®é床ãååŸãã
æ»ãå€ïŒé床ãã¯ãã«ã®ã¢ãžã¥ãŒã«ãè¿ããŸã
ãããŒãGetSpeedïŒïŒ
è¡æé床ãã¯ãã«ãååŸãã
ããããäœããã®ãªããžã§ã¯ãïŒçºå°ç©ãå¥ã®ããããããããªããžã§ã¯ããããŒãã¹ãé€ãïŒãšè¡çªãããšããããã³ã·ã§ããäžã«ããã«ã¹é床ãååŸããŸãã
æ»ãå€ïŒè¡æé床ãã¯ãã«
ãã¯ãã«GetImpulseVelocityïŒïŒ
ãªããžã§ã¯ãã®ããã¹ãã©ãã«ãèšå®ãã
ããã¹ãã©ãã«ãèšå®ãããšããªããžã§ã¯ããèå¥ã§ããŸãã ãªããžã§ã¯ãã«ã©ãã«ãèšå®ãããšãåŸã§ãã®ã©ãã«ããååŸã§ããŸãã ããã¹ãã©ãã«ã¯ã©ãã«ã衚瀺ãããŸããã åå è
ã«ã¯ãä»ã®åå è
ã®ããã¹ãã©ãã«ã¯è¡šç€ºãããŸããã
ãããã«ã¡ã¢ã貌ãããšã¯çŠæ¢ãããŠããŸãããã®ãããªããŒã¯ã¯æ¯ã¿ãŒã³ãªã»ãããããŸãã
ãã©ã¡ãŒã¿ïŒ
ãªããžã§ã¯ãã®ããã¹ãã©ãã«ãããŒã¯ãã
void SetMarkïŒintããŒã¯ïŒ
çŸåšã®ãªããžã§ã¯ãã©ãã«ãååŸãã
æ»ãå€ïŒãªããžã§ã¯ãã®çŸåšã®ã©ãã«;ã©ãã«ãèšå®ãããŠããªãå Žåã-1ãè¿ãããŸã
int GetMarkïŒïŒ
ISelfã€ã³ã¿ãŒãã§ãŒã¹-管ç察象ãŠãããã®ã€ã³ã¿ãŒãã§ãŒã¹ã«ã€ããŠèª¬æããŸãã
ISelfïŒãããªãã¯IBot
ãããåãèšå®
ãããã®ååã®èšå®ã¯ãInité¢æ°å
ã§ã®ã¿å¯èœã§ãã Moveå
ã®åŒã³åºãã¯ç¡èŠãããŸã
ãããã®ååã¯20æåãè¶
ããªãããã«ããŠãã ããã ååã®é·ããããããè¶
ããå Žåãå¿
èŠãªé·ãã«ççž®ãããŸãã
ãã©ã¡ãŒã¿ïŒ
ãããã®åå
void SetNameïŒæåååïŒ
ãããã¿ã€ããèšå®ãã
ç°ãªãã¿ã€ãã®ãããã«ã¯ç°ãªãç¹æ§ããããŸãã ãããã¿ã€ãã®èšå®ã¯ãInité¢æ°å
ã§ã®ã¿å¯èœã§ãã Moveå
ã®åŒã³åºãã¯ç¡èŠãããŸãã
ãã©ã¡ãŒã¿ïŒ
ã¿ã€ããããã¿ã€ã
void SetTypeïŒBotTypeã¿ã€ãïŒ
èšå®é床
é床ãã¯ãã«ã®å€ãå€æŽããŸãã è² ã®å€ã¯åŸæ¹ãžã®ç§»åã«å¯Ÿå¿ããŸãã é床ãæ倧ãããå€ãè¶
ããããæå°ãããå€ãäžåãå Žåã蚱容å€ãŸã§æžå°/å¢å ããŸãã
ãã©ã¡ãŒã¿ïŒ
ã¹ããŒãæ°ããã¹ããŒã
void SetSpeedïŒãããŒãé床ïŒ
ãããã®å転ãèšå®ãã
ãã©ã¡ãŒã¿ïŒ
angleã©ãžã¢ã³åäœã®æ°ããå転è§åºŠ
void SetDirectionïŒãããŒãè§ïŒ
ãããã¿ã¯ãŒã®å転ãå€æŽãã
ãã©ã¡ãŒã¿ïŒ
ã©ãžã¢ã³åäœã®ãã«ã¿ã¿ã¯ãŒè§åºŠå¢å
void TurnTurrelïŒãããŒããã«ã¿ïŒ
æ©é¢éã®çºå°
æ©é¢éããã·ã§ãããè¡ããŸãã ãã·ã³ã¬ã³ã¯åžžã«ãããã®æ¹åã«åããŠæã¡ãŸãã æ©é¢éã®ã·ã§ããã®æºåãã§ããŠããªãå Žåãäœãèµ·ãããŸããã
void ShotMashinegunïŒïŒ
éãçºå°ãã
éããæã¡ãŸãã éã¯å¡ã«åãä»ããããŠããŸãã éã®çºå°æºåãæŽã£ãŠããªãå Žåã¯ãäœãèµ·ãããŸããã
void ShotCannonïŒïŒ
ã¬ãŒã¶ãŒãçºå°ãã
ã¬ãŒã¶ãŒã·ã§ãããçºå°ããŸãã ã¬ãŒã¶ãŒã¯åžžã«ãããã®æ¹åã«åããŠçºå°ããŸãã ã¬ãŒã¶ãŒãçºå°ããæºåãã§ããŠããªãå Žåãäœãèµ·ãããŸããã
ãã©ã¡ãŒã¿ïŒ
ã¬ãŒã¶ãŒã®å転è§
void ShotLaserïŒãããŒãè§ïŒ
ãã±ããã©ã³ãã£ãŒã®çºå°
ãã±ããã©ã³ãã£ãŒããã·ã§ãããäœæããŸãã ãã±ããã©ã³ãã£ãŒã®çºå°æºåãæŽã£ãŠããªãå Žåãäœãèµ·ãããŸããã
ãã©ã¡ãŒã¿ïŒ
ã¿ãŒã²ããã¿ãŒã²ãã
void ShotRocketïŒIMoveableObject *ã¿ãŒã²ããïŒ
IShellã€ã³ã¿ãŒãã§ã€ã¹-ãããäžã«ããã·ã§ã«ã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠèª¬æããŸãã
IShellïŒãããªãã¯IMoveableObject
ææè
ãååŸããŸãã
æ»ãå€ïŒãã®ã·ã§ã«ã«ãã£ãŠèµ·åãããããã
IBot * GetOwnerïŒïŒ
ã¿ãŒã²ãããååŸããŸãã
ã¬ãŒã¶ãŒãéãæ©é¢éãªã©ã®ç ²åŒŸã®å Žåãã¿ãŒã²ããã¯NULLã§ã
ãªããžã§ã¯ããç Žæ£ãããå ŽåãNULLãè¿ãããŸãã
æ»ãå€ïŒçºå°ç©ã¿ãŒã²ããã
IMoveableObject * GetTargetïŒïŒ
ã·ã§ã«ã®ã¿ã€ããååŸããŸãã
æ»ãå€ïŒã·ã§ã«ã¿ã€ãã詳现ã«ã€ããŠã¯ShellTypeã®èª¬æãåç
§
ShellType GetTypeïŒïŒ
æ»ãå€ïŒã·ã§ã«ãããã¡ãŒãžãåããŸãã
æ»ãå€ïŒçºå°ç©ã®æå·
int GetHPïŒïŒ
ã€ã³ã¿ãŒãã§ã€ã¹IStaticObject-éçããããªããžã§ã¯ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠèª¬æããŸãã
ãªããžã§ã¯ãã®ããããã€ã³ãã®æ°ãååŸãã
æ»ãå€ïŒããããã€ã³ãã®çŸåšã®å€
int GetHPïŒïŒ
ãªããžã§ã¯ã座æšãååŸãã
éçãªããžã§ã¯ãã®åº§æšã¯ããã®å·Šäžé
ã«å¯Ÿå¿ããŠããŸãã 座æšç³»ã®è©³çŽ°ã«ã€ããŠã¯ãIWorldãåç
§ããŠãã ãã
æ»ãå€ïŒãªããžã§ã¯ã座æš
ãã€ã³ãGetPositionïŒïŒ
ãªããžã§ã¯ããµã€ãºãååŸãã
æ»ãå€ïŒãªããžã§ã¯ããµã€ãº
ãµã€ãºGetSizeïŒïŒ
ã€ã³ã¿ãŒãã§ã€ã¹IWorld-ã²ãŒã ã¯ãŒã«ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠèª¬æããŸãã
çŸåšã®ç§»åçªå·ãååŸ
çªå·ä»ãã¯1ããè¡ãããŸãããŒã移åã¯Initã®åŒã³åºãã«å¯Ÿå¿ããŸã
æ»ãå€ïŒçŸåšã®ç§»åçªå·
int GetCurrentStepïŒïŒ
ç·ç§»åæ°ãååŸãã
æ»ãå€ïŒç§»åã®ç·æ°ïŒåæåãé€ãïŒ
int GetTotalStepïŒïŒ
éçãªããžã§ã¯ãã®ãªã¹ããååŸããŸã
ãã®ãªã¹ãã¯std :: vectorã¿ã€ãã«åºã¥ããŠãããã€ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹ãèš±å¯ããŸã
ç Žå£ããããªããžã§ã¯ãã¯ã²ãŒã ããåé€ããããã®ãªã¹ãã«ã¯è¡šç€ºãããŸããã
æ»ãå€ïŒéçããããªããžã§ã¯ãã®ãªã¹ã
IStaticObjectList GetStaticObjectsïŒïŒ
æµãããã®ãªã¹ããååŸãã
ãã®ãªã¹ãã¯std :: vectorã¿ã€ãã«åºã¥ããŠãããã€ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹ãèš±å¯ããŸã
殺ããããããã¯ã²ãŒã ããåé€ããããã®ãªã¹ãã«ã¯è¡šç€ºãããŸããã
æ»ãå€ïŒæµãããã®ãªã¹ã
IEnemyList GetEnemiesïŒïŒ
ãããã®ãªã¹ããååŸãã
ãã®ãªã¹ãã¯std :: vectorã¿ã€ãã«åºã¥ããŠãããã€ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹ãèš±å¯ããŸã
殺ããããããã¯ã²ãŒã ããåé€ããããã®ãªã¹ãã«ã¯è¡šç€ºãããŸããã
æ»ãå€ïŒãããã®ãªã¹ã
ISelfList GetSelfsïŒïŒ
ãããäžã®ã·ã§ã«ã®ãªã¹ããååŸããŸã
ãã®ãªã¹ãã¯std :: vectorã¿ã€ãã«åºã¥ããŠãããã€ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹ãèš±å¯ããŸã
ãããããé£ãã ãããªããžã§ã¯ããšè¡çªããã·ã§ã«ã¯ã²ãŒã ããåé€ããããã®ãªã¹ãã«ã¯è¡šç€ºãããŸãã
æ»ãå€ïŒãããäžã®ã·ã§ã«ã®ãªã¹ã
IShellList GetShellsïŒïŒ
ã«ãŒãã®ããŒãã¹ã®ãªã¹ããååŸãã
ãã®ãªã¹ãã¯std :: vectorã¿ã€ãã«åºã¥ããŠãããã€ã³ããã¯ã¹ã«ããã¢ã¯ã»ã¹ãèš±å¯ããŸã
æå¹æéãåããããŒãã¹ãããã¯ã¢ãããããããŒãã¹ã¯ã²ãŒã ããåé€ããããã®ãªã¹ãã«ã¯è¡šç€ºãããŸãã
æ»ãå€ïŒãããäžã«ãããããã®ãªã¹ã
IBonusList GetBonusesïŒïŒ
ã¿ã°ã§ãªããžã§ã¯ããååŸ
ãã©ã¡ãŒã¿ïŒ
åä¿¡ãããªããžã§ã¯ãã®ã©ãã«ãããŒã¯ããŸã
æ»ãå€ïŒãã®ãããªã©ãã«ãæã€ãªããžã§ã¯ããèŠã€ãã£ãå Žåããã®ãªããžã§ã¯ããžã®ãã€ã³ã¿ãŒãè¿ãããããã§ãªãå Žåã¯NULLãè¿ãããŸã
IMoveableObject * GetByMarkïŒintããŒã¯ïŒ
ãããã°ã¡ãã»ãŒãžãè¿œå
ãããã°ã®ããã«èŠèŠåäžã«è¡šç€ºããããããã°ã¡ãã»ãŒãžãè¿œå ããŸãã
ãã©ã¡ãŒã¿ïŒ
formatã¡ãã»ãŒãžãã©ãŒãããã¯ãé·ãnæåã®æååã§ãã 次ã¯ãã¿ã¹ã¯åœ¢åŒã«å¿ããnåã®ãã©ã¡ãŒã¿ãŒã§ãã
dã¯æŽæ°ïŒintïŒ
f-å°æ°ïŒæµ®åå°æ°ç¹æ°ïŒ
s-æååïŒæååïŒ
ä»ã®ãã¹ãŠã®æåã¯è§£éããããã¡ãã»ãŒãžã«åé¡ãããŸã
1ã€ã®ã¡ãã»ãŒãžã®åèšé·ã¯255æåãè¶
ããŠã¯ãªããŸããã æååãé·ãå Žåãå¿
èŠãªãµã€ãºã«çž®å°ãããŸã
void AddMessageïŒæåå圢åŒã...ïŒ
ãããã°ãã€ã³ããè¿œå
ãããã°ã®ããã«èŠèŠåäžã«è¡šç€ºããããããã°ãã€ã³ããè¿œå ããŸãã
ãã©ã¡ãŒã¿ïŒ
pç¹åº§æš
åãã§ãã¯ãã«ã衚瀺ããã©ã€ãã¿ã€ã
void AddPointïŒãã€ã³ãpãintã©ã€ãã¿ã€ã ïŒ
ãããã°ãã¯ã¿ãŒãè¿œå
ãããã°ã®ããã«èŠèŠåäžã«è¡šç€ºããããããã°ãã¯ãã«ãè¿œå ããŸãã
ãã©ã¡ãŒã¿ïŒ
åºçºç¹
çµç¹
åãã§ãã¯ãã«ã衚瀺ããã©ã€ãã¿ã€ã
void AddVectorïŒãã€ã³ãéå§ããã€ã³ãçµäºãintã©ã€ãã¿ã€ã ïŒ
ãããã®å¹
ãååŸãã
æ»ãå€ïŒãããå¹
int GetWidthïŒïŒ
ãããã®é«ããååŸ
æ»ãå€ïŒãããã®é«ã
int GetHeightïŒïŒ