
SlideMoveïŒæ»ããããç¬é
ãããŸã§ãã²ãŒã å ã§ãã£ã©ã¯ã¿ãŒã®åããèæ ®ãããã¹ãŠã®ããªãã¯ã¯ãDOOMãšã³ãžã³ã®åãã®é¢æ£çãªæ§è³ªã«äŸåããŠããŸããã ããã§ãã²ãŒã ã³ãŒããããæ·±ãæãäžããP_SlideMoveãšããç¡å®ã®ååã®é¢æ°ã«å°éããŸãã ãã®é¢æ°ã«ã¯ãäžæ³šæãªã³ãŒããªãŒããŒã«ãå®å šãªæ··ä¹±ããããããšãèŠåããã³ã¡ã³ããå«ãŸããŠããŸãã ãžã§ã³ã»ã«ãŒããã¯ããã«ã³ãã»ã¯ã©ã€ã¡ã€ã¢ãŒããã®ã³ã¡ã³ããè¿œå ããŸããããéåžžã«æ£ç¢ºã§ãã
ãŠã©ãŒã«ã©ã³ãã³ã°
倧èŠæš¡ãªSPTïŒãç¶æ ã®ãã¬ããŒããŒã·ã§ã³ã®è©Šã¿ããããã¯ãããŒã1ã§èª¬æãããã£ã©ã¯ã¿ãŒã®åãã®èªå°ã€ã³ãã«ã¹ãšããŠç¥èŠã§ããŸãïŒããäŸãã°ãã©ã€ã³ã¹ãããïŒå¢çãè¶ããïŒãªã©ã®ãã°ã«ã©ã®ããã«ã€ãªããããæ¢ã«æ€èšããŸããã 幞ããªããšã«ãã²ãŒã ãšã³ãžã³ã¯ããã»ã©æãã§ã¯ãªãããã®ãããªãšã©ãŒãèæ ®ã«å ¥ããããšããŸãïŒ ãããã£ãŠããã°ãçºçããå Žåããã£ã©ã¯ã¿ãŒã®åããéãããå Žåã1ã€ã®åããããã€ãã®é©åãªãµã€ãºã«åçŽã«åå²ããã®ãæé©ãªè§£æ±ºçã§ããããïŒ ãããŠãããããŸãã«ã²ãŒã ãšã³ãžã³ã®åäœã§ããXãŸãã¯Yã¢ãŒã·ã§ã³ãã¯ãã«ã15ãŠãããïŒãã¬ãŒã€ãŒã®ãååŸãããã1ãŠãããå°ãªãïŒãè¶ ããå Žåããšã³ãžã³ã¯ãã¬ãŒã€ãŒã®åãã2ã€ã®éšåã«åå²ããŠããããããåå¥ã«èšç®ããŸãã ãããã£ãŠãé床ãéãããå Žåãããã°ã©ã ã¯ãã£ã©ã¯ã¿ãŒããäžéãç¶æ ã§é害ç©ã暪åããã©ããããã§ãã¯ããå¿ èŠã«å¿ããŠãããéããŸããã ããã°ã©ã ã¯1ã€ã§ã¯ãªã2ã€ã®åããå®è¡ããããããã®ããã»ã¹ããããã«SPTããšåŒã³ãŸãã
ãåŸ ã£ãŠïŒãèªè ã¯inããã ããã -ãæè¿ãSPT> 15ã§åœå¢ãè¶ããããšã«ã€ããŠè©±ããŸãããããããèš±å¯ããªãã³ãŒããèšè¿°ããŠããŸãïŒ ããã¯ã©ã®ããã«æ©èœããŸããïŒã ããã§ã¯ãã³ãŒããèŠãŠã¿ãŸãããã
f (xtap > 15 OR ytap > 15)
æ°ã¥ããïŒ ããŠããã£ã©ã¯ã¿ãŒãåãŸãã¯è¥¿ã«ç§»åãããšã©ããªããŸããïŒ X-SPTã¯ãY-SPTãšåæ§ã«ãçªç¶...ãã¬ãã£ãã«ãªããŸããïŒ ãããŠãæªç¥ã®çç±ã«ãããã²ãŒã ãšã³ãžã³ã¯ãã®å¥åŠãªäºå®ãæ€èšŒããŸããã
ããããäž»ãªèãã«æ»ããŸãã ãã®ããããšã³ãžã³ã¯SPTã䜿çšããŠã次ã®ã¹ãããã§ãã£ã©ã¯ã¿ãŒãããã¬ããŒããããå Žæã決å®ããŸãã ãçéžãŸãŒã³ããããžãŒã®å Žåãã²ãŒã ã³ãŒãã¯P_SlideMoveé¢æ°ãåŒã³åºããŸãããã®é¢æ°ã®ã¿ã¹ã¯ã¯ãé害ç©ãšã®è¡çªã®äºå®ã確èªããããããã°ãè¡çªãèªç¶ã«èŠããããã«ãã£ã©ã¯ã¿ãŒãåãããšã確èªããããšã§ãã ãŸãããšã³ãžã³ã¯ãã¬ã€ã€ãŒã®åãã®æ¹åãå€æãããã£ã©ã¯ã¿ãŒã®ããã¯ã¹ã®3ã€ã®è§ããæ¥ã3ã€ã®ãã¯ãã«ãèšç®ããŸãã 次ã«ãé害ç©ãšã®è¡çªã«ã€ããŠåãã¯ãã«ããã§ãã¯ããŸãã è¡çªãæ€åºããããšãããã°ã©ã ã¯é害ç©ãžã®éã®å²åã決å®ãããã£ã©ã¯ã¿ãŒãèŠã€ãã£ããã€ã³ãã«ç§»åããŸãã ãããŠã圌ã¯SPTã®æ®ããåãããã¬ãŒã€ãŒãæã£ãå£ã«å¹³è¡ã«ãããåããŸããåãã®ãã®éšåã¯å£ã«æ²¿ã£ããã¹ã©ã€ããã§ãã

ãããŠãããã¯å€ããå°ãªããæ©èœããŸãã ããã«ã¯å°ããªå éšåé¡ãé ããŠããŸãããã¹ã©ã€ãããèšç®ããããã«ããµãã«ãŒãã³ã¯ãã£ã©ã¯ã¿ãŒã®åæSPTã䜿çšããŸãããã¬ãŒã€ãŒã®é«éæ§ã®ããã«2ã€ã®å¥ã ã®åãã«åå²ãããå Žåã§ãã
ãããããã£ãã®ã§ãããã»ã¹å šäœãã¹ãããããšã«ç¢ºèªããŸãããã
- ãã¬ãŒã€ãŒã¯é·ãæ°Žå¹³å£ã«åãã£ãŠèµ°ããŸã
- ããšãã°ããã®ãã¬ã€ã€ãŒã®SPTã¯X-SPT = 20ããã³Y-SPT = 2ã§ã
- ãšã³ãžã³ã¯ãX-SPTã倧ãããããšå€æããåãã2ã€ã«åå²ããŸããåã€ã³ãã«ã¹ã¯ãX-SPT = 10ããã³Y-SPT = 1ã§ãã
- ããã§ããšã³ãžã³ã¯2ã€ã®åãã®ãã¡æåã®åãããã§ãã¯ãããã¬ãŒã€ãŒã®åã®å£ãšã®è¡çªãå€æããŸã
- P_SlideMoveã¯æå©ã«æ¥ãŠããã£ã©ã¯ã¿ãŒã®ãã³ãŒããŒãããåãšæ±ã«åãããã3ã€ã®ãã¯ãã«ãæç»ããŸãã ãã ãããã¯ãã«ã®èšç®ã«ã¯ãåºæ¬çãªSPTãã€ãŸãX-SPT = 20ããã³Y-SPT = 2ãå¿ èŠã§ãïŒX-SPT = 10ããã³Y-SPT = 1ã§ã¯ãããŸããïŒã
- ãã¯ãã«ã¯åã®å£ã暪åã
- ãšã³ãžã³ã¯ãããšãã°çŸåšã®SPTã®5ïŒ ã ããã£ã©ã¯ã¿ãŒã移åããŸã
- ãããŠæåŸã«ããšã³ãžã³ã¯å£ã«æ²¿ã£ãŠããŒã¹SPTã®æ®ãã®95ïŒ ããªãã€ã¬ã¯ããããã¬ã€ã€ãŒã19ãŠãããã«ç§»åããŸãã
- ãã®åŸãäœæ¥ãå®äºãããšããšã³ãžã³ã¯ãã¬ã€ã€ãŒã®åãã®åŸåã«é²ã¿ãéåžžã®æé ãå®è¡ããŠããã£ã©ã¯ã¿ãŒãããã«19ãŠãããæ±ã«éããŸãã
äžèšãèŠçŽãããšïŒãã¬ãŒã€ãŒãååã«é«éã§åãŸãã¯æ±ã«ç§»åããå ŽåïŒX-SPTãŸãã¯Y-SPTã¯15ãŠããããè¶ ããïŒã移åã®æåã®è©Šã¿ãé害ç©ã«ãã£ãŠãããã¯ãããŠããéã«ããšã³ãžã³ã¯1ãã£ãã¯ã§2åã®å®å šãªç§»åãå®è¡ããŸã 泚æããŠãã ãã-çµæãšããŠãSPTãŸãã¯ä»ã®äœãã¯å€æŽãããã1ã€ã®æéã®éã«2ã€ã®åããçºçããŸãã
ã©ã³ãã³ã°
æåŸã«ããªãã¯
ãå£èµ°ããïŒãå£ã«åãã£ãŠèµ°ããïŒããã¹ã¿ãŒããã®ã§ãå£ãééã§ããªããªããžã§ã¯ãããŸãã¯ããããã®ãããªãªããžã§ã¯ãã®é·ãã·ãªãŒãºã«çœ®ãæãããã©ããªãã§ããããïŒ
ãšã³ãžã³ã¯ãã¬ã€ã€ãŒãæ°ããäœçœ®ã«ãã¬ããŒãããçéžãŸãŒã³ã§é害ç©ãèŠã€ããããšããŸãã 次ã«ãããã°ã©ã ã¯æ¢ç¥ã®P_SlideMoveãåŒã³åºããã³ãŒããŒãã3ã€ã®ãã¯ãã«ãæç»ããŠãè¡çªããªãããšãæ€åºããŸãã ãããŠããšã³ãžã³ã¯ä»äœãããŸããïŒ
å¥åŠãªããšã«ããã®é¢æ°ã¯å®éã«ãã£ã©ã¯ã¿ãŒãšãªããžã§ã¯ãã®è¡çªããã§ãã¯ããããªããžã§ã¯ãã®å¢çãšãæç»ãããããã¯ãã«ã®äº€å·®ç¹ã®ã¿ããã§ãã¯ããŸãã ãããŠãP_SlideMoveãåãã劚ããç·ãèŠã€ããããšãã§ããªãã£ãå Žåã圌女ã¯æåŸã®ç§å¯ã®æŠåšãé段ãïŒã¯ããã§èµ°ãïŒã䜿çšããŸãã ããã°ã©ã ã¯ããã¬ãŒã€ãŒãY軞ã«æ²¿ã£ãŠæ£ç¢ºã«ç§»åããããšããŸãã移åã§ããªãå Žåã¯ãX軞ã«æ²¿ã£ãŠç§»åããŸããDOOMã®ãã¹ãŠã®ãªããžã§ã¯ãã¯ã座æšè»žã«å¹³è¡ãªåŽé¢ãæã€ãããã¯ã¹ãã§å²ãŸããŸãã ãããã£ãŠããã¬ãŒã€ãŒãé害ç©ã«æ²¿ã£ãŠç§»åããé段ããã°ã©ã ãé害ç©ãæ°Žå¹³ã«ç§»åããããšã決å®ããå Žåããã¬ãŒã€ãŒã¯ãªããžã§ã¯ãã®çåŽã«æ²¿ã£ãŠã¹ã©ã€ãããŸãã
äžèšã®ããšãé ã«å ¥ããã®ã§ãç©äºã®å®è¡ã¯ãŠã©ãŒã«ã©ã³ãã³ã°ãšãŸã£ããåãã§ããããšãç°¡åã«ç解ã§ããŸãããã¬ã€ã€ãŒã¯ãã¹ããŒããã§åãŸãã¯æ±ã«ç§»åããåãã®ãã§ãã¯ã¯ååãã2ã€ã®çããéšåã«åå²ããããããã®ååãå®å šãªåæãã¯ãã«ãåãåããŸãå¯å€§ãªãã£ãŒãP_SlideMoveã䜿çšããSPTïŒçéžã®éå§ç¹ããããã¯ããããŸã§ïŒã ãã£ã©ã¯ã¿ãŒã¯ããã£ãã¯ããšã«1åã§ã¯ãªã2åã®å®å šãªåããæåããããªããžã§ã¯ãã®ããšããžãã«æ²¿ã£ãŠåéã§æ»ãã ãã§ãã ãã®ããªãã¯ã¯Map23ã§äœ¿çšããããšã§æãããç¥ãããŠããŸããMap23ã§ã¯ããã¬ã€ã€ãŒãäžé£ã®æšœã«æ²¿ã£ãŠç©äºãå®è¡ããããšã§å éãããã®çµæããããã®äžéšãäžèŠäžå¯èœãªæ¹æ³ã§ãžã£ã³ãã§ããŸãã

ãŠã©ãŒã©ã³ããšã¢ã³ã³ãããŒã«ã
10:17ã¹ã¿ã³ã
ãã®ããªãã¯ãåããŠèŠããšããç§ã¯éåžžã«é©ããã®ã§ãDOOMãšã³ãžã³ã®éæ³ã«ã€ããŠã®èšäºãæžãããšã«ããŸãããããã¯ãä»ããªãã®ç®ã®åã«ããåãã¬ã€ãã§ãã
DOOMã§ãã¬ãŒã€ãŒã移åããããã®æãåçŽã§æãç解ããããã«ãŒã«ã®1ã€ã¯ãã空æ°å¶åŸ¡ã¯ååšããŸããïŒãã§ããã€ãŸãããã£ã©ã¯ã¿ãŒã®è¶³ãå°é¢ã«è§Šããªãå Žåããã£ã©ã¯ã¿ãŒã®åãã¯ç©çæ³åã®ã¿ã«äŸåãããã¬ãŒã€ãŒã«ã¯äŸåããŸããã ãããŠãMap14ã¹ããŒãã©ã³ãèŠããšããç§ãé©ããã®ã¯ããã¬ã€ã€ãŒã空äžã§é«ãèµ°ãåã£ãŠå£ã«æ²¿ã£ãŠåºå£ãŸã§çŽæ¥èµ°ããæåŸã«åœŒãå°é¢ãã²ã£ããè¿ããåã®ãã¢ã«åãã£ãŠèµ°ã£ãã®ãèŠããšãã§ããã
æåã¯ããã®ãããªããªãã¯ãã©ã®ããã«å¯èœã§ããããç解ã§ããŸããã§ãã-ãã¬ã€ã€ãŒã®SPTã¯æ£ç¢ºã«æ±ã«éãããŸããïŒ åœŒã¯Y-SPTããŒãã§ããããã©ãããŠåã«ç§»åãå§ããããšãã§ããŸãããïŒ ãããããã€ãã®ããã«ãäžèŠç解ã§ããã³ãŒãã«ã¯é©ããšããªãã¯ãå«ãŸããŠããŸãã
ãã¬ãŒã€ãŒãé害ç©ã®è¿ãã«ããå Žåããšã³ãžã³ã¯ãã¬ãŒã€ãŒãé害ç©ã«è¿ã¥ããããšããŸããã 圌ã¯æåŸã®æ段ãé©çšããã ãã§ã-ç§ãã¡ã«ãšã£ãŠæ¢ã«éŠŽæã¿ã®ããé段ã§ãã ããã§ã¯ãããžãã¯ãã³ããŒ3.125ïŒ ã«ã€ããŠèª¬æããŸãã ããã¬ãŒã€ãŒã³ãŒããŒãããããã°ã©ã ã«ãã£ãŠæç»ããããã¯ãã«ã®1ã€ãããã®é·ãã®3.125ïŒ æªæºã§å£ã暪åãå Žåãããã°ã©ã ã¯ãã¬ãŒã€ãŒãåææ¹åã«åããããšããããŸããã äžèŠãªã¹ãããããã¹ãŠã¹ããããããšããšã³ãžã³ã¯ãé段ããé©çšããŸãã ããããèŠããŠããããã«ãã©ããŒã³ãŒãã¯ããã¬ã€ã€ãŒã®åæSPTãå€æŽããããšãªãããã£ã©ã¯ã¿ãŒãå³å¯ã«æ°Žå¹³ïŒãŸãã¯åçŽïŒã«ç§»åã§ããŸãã
ããã»ã¹ã®ããžãã¯ãæ€èšŒããã®ã§ãä¿¡ããããªãã»ã©ã®ãé£è¡ã®è»¢æãã説æã§ããŸãã ãã¬ãŒã€ãŒã¯ãé«ãX-SPTãšå°ããªåY-SPTãæã¡ãªãããå£ã«ãäžããæŒãããšã§ãé¢éžãããŸãã ãã¬ã€ã€ãŒãå°é¢ã®äžã«ããéãåãã£ãã¯ã¯ãšã³ãžã³ããã£ã©ã¯ã¿ãŒãæ±ãšå°ãåã«åããããšããŸãããåãã®çµç¹ã«å£ãèŠã€ããŸãã ãšã³ãžã³ã¯å³åº§ã«éäŒãããé段ãã«å©ããæ±ããŠãSPTãã¯ãã«ãå€æŽããã«ãã£ã©ã¯ã¿ãŒãæ±ã«éããŸãã çµæãšããŠãY-SPTã¯ã空äžèµ°è¡ãå šäœãéããŠãããã«ãã€ãã¹ã®ãŸãŸã§ãã ãããŠæåŸã«ãåºå£ãžã®éè·¯ã«å°éãããšãåãã®ãã§ãã¯ãæåãããã¬ã€ã€ãŒã¯ç©ºäžã®åãã®æ¹åãå€æŽããŸããããã¯ãDOOMç©çåŠã®çŸå®ã§ã¯äžå¯èœãšæãããŸãã

éåéä¿å
ãã®ããªãã¯ã¯ãäžèšã®ãã®ã»ã©æçœã§å£®èŠ³ã§ã¯ãªããé©åãªååãèŠã€ããããšã¯ç§ã«ãšã£ãŠå°é£ã§ããã ããã¢ããªãã¯ããšããååãèããããšããããŸããããã¢ãéããããšãæåŸ ããŠã¹ããŒãã©ã³ããŒããã䜿çšããŸãã
ããªãã¯ã¯äºçŽ°ãªããšã§ã-ãã¬ã€ã€ãŒã¯æ£ããæ¹æ³ã§ééã§ããªãå£ã«åœæ¥ããåãã®çŽ¯ç©ã€ã³ãã«ã¹ïŒSPTïŒãæ倧å€ã«ä¿ã¡ãåããªããŸãŸã«ããããšãã§ããŸãïŒçµæã¯ãå šéåã§ãã¬ã€ã€ãŒã®æã§æŠåšã®æ¥æ¿ãªæ¯åã芳å¯ããããšã§èŠèŠçã«èŠããããªããŸãããããã£ãŠããã®ããªãã¯ã¯ãããã€ãã°ã©ã€ã "-ã¹ã©ã€ãã¹ã€ã³ã°ïŒã speedranã®å Žåãããã¯ãã¬ã€ã€ãŒããã¢ãéãããšãæåŸ ããŠæé«é床ãç¶æããéè·¯ãååã«å€§ãããªããšåŒŸäžžãæŒãå¯ãã貎éãªããªç§ãç¯çŽããããšãæå³ããŸãã

ãããããã®ããªãã¯ã¯ã©ã®ããã«æ©èœããŸããïŒ éåžžããã£ã©ã¯ã¿ãŒãå£ã«ã¶ã€ãããšããã®é床ïŒåœŒã®SPTïŒã¯ãšã³ãžã³ã«ãã£ãŠå³åº§ã«äœäžããŸãã ããã¯ããã¬ã€ã€ãŒã®æã«ããæŠåšã®ã¢ãã¡ãŒã·ã§ã³ãå€æŽããããšã§æ€åºã§ããŸãã äœãèµ·ããŠããã®ããç解ããã«ã¯ãDOOMãšã³ãžã³ã®ã³ãŒãã詳ãã調ã¹ãŠãè¡çªã®å®çŸ©æ¹æ³ãç解ããå¿ èŠããããŸãã
éåžžãå£ãšã®è¡çªã§ã¯ãæ¢ç¥ã®P_SlideMoveãµãã«ãŒãã³ãå£ã«åããããåããã¯ãã«ã®å²åãèšç®ãïŒè¡çªããã¯ãã«ã®3.125ïŒ æªæºã®è·é¢ã§èŠã€ãã£ãå Žåããã®éšåãã¹ãããããŸãïŒãå£ã«å¹³è¡ãªåãã®ãæ®ããããªãã€ã¬ã¯ãããŸãã éåžžã®ç¶æ³ã§ã¯ããã®å®å šã«åççãªã¢ã«ãŽãªãºã ã¯é床ãæ¶æ» ãããŸã-çŽè§ã«å£ã«ã¶ã€ãããšãã¹ã©ã€ãé床ã¯ç§»åæ¹åãšå£æ¹åã®è§åºŠå·®ã®äœåŒŠã«æ¯äŸããcos 90ã¯ãŒãã«ãªããŸãã
ãããããã£ãšæ·±ãèŠãŠã¿ãŸãããã ãšã³ãžã³ã¯ãå£ãšã®å°æ¥ã®è¡çªãã©ã®çšåºŠæ£ç¢ºã«å€æããŸããïŒ ãã®åé¡ã解決ããããã«ãããã°ã©ã ã¯ç°¡åãªæ°åŠã®æ¹çšåŒã解ããŸãã貫éã§ããªãå£ãè¡šãç·ãåãããã£ã©ã¯ã¿ãŒã®ããã¯ã¹ã®è§ã®1ã€ããæ¹åä»ããããåããã¯ãã«ãåãã亀ç¹ãèŠã€ããŸãã ãããã®èšç®ã¯ããã¯ãã«ãè¡åããã®ä»ã®æ°åŠããŒã«ã䜿çšããŠå®è¡ã§ããŸãã ããããDOOMãšã³ãžã³ã¯æãåçŽãªæ¹æ³ã䜿çšããŸãïŒã»ã°ã¡ã³ãAã®ç«¯ç¹ãååŸããã»ã°ã¡ã³ãBã«å¯ŸããŠã©ã¡ãåŽã«ãããã確èªããŸãã次ã«ãAã®ã©ã¡ãåŽãã»ã°ã¡ã³ãBã®ç«¯ç¹ã«ãããã確èªããŸãã亀差ããŸãã
ãã®ãããªåçŽãªãã¹ããå®è¡ããã«ã¯ãå°ãé€ç®ãšä¹ç®ãå¿ èŠã§ãã ãããŠãããã§ã²ãŒã ãšã³ãžã³ã¯å¥ã®åŽé¢ãæããã«ããŸãã ãšã³ãžã³ã¯ããã¹ãŠã®ããŒã¿ã32ãããå€ã®åœ¢åŒã§ããããŠæãéèŠãªããšãšããŠãåºå®å°æ°ç¹æ°ã®åœ¢åŒã§ä¿åããŸãã ãã®å Žåã1ãããã¯æ°å€ã®ç¬Šå·ïŒæ£/è² ïŒã瀺ãããã«äœ¿çšããã15ãããã¯æŽæ°éšãšæ®ãã®16-å°æ°éšãæ ŒçŽããŸãã 15ãããã¯ããªãã®ãããã§ãã å®éãå€ã®æå¹ç¯å²ã¯-32768ã32768ã§ãããããã£ãŠã2ã€ã®æ°å€ãä¹ç®ããå¿ èŠãããå Žåã¯ãçµæãç¯å²å€ã«ãªããªãããã«ååã«æ³šæããå¿ èŠããããŸãã 32768ã®å¹³æ¹æ ¹ã¯181ã ãã§ããããã¯ã200åäœã®2è¡ã®äº€å·®ã確èªãããšãã¡ã¢ãªã»ã«ããªãŒããŒãããŒããããšãæå³ããŸãã ãããŠããã®ãããªã¿ã¹ã¯ã«å¯ŸåŠããæ¹æ³ã¯ïŒ
以äžã«ãåé¡ãåŠçããã亀差ç¹ãã§ãã«ãŒãé¢æ°ã®ã³ãŒãã瀺ããŸãã
left = (line->dy / 256) * (dx / 256); right = (dy / 256) * (line->dx / 256);
ã芧ã®ããã«ãèšç®ãéå§ããåã«ãã¹ãŠã®å€ã256ã§é€ç®ããã ãã§ãïŒå®å šã«æ£ç¢ºã«ããããã«ã8ã®ãããåäœã®å³ã·ãããå®è¡ããŸãããããã¯äœãå€æŽããŸããïŒã ãã®ãããªåçŽãªæ¹æ³ã§ããšã³ãžã³ã¯ãèšç®ã®çµæããªãŒããŒãããŒãåé¿ããã®ã«ååå°ããããšãä¿èšŒããŸãã åæã«ãå°æ°éšåã16ããããã8ãããã«æžãããã®ã§ãåé¡ãããŸãããïŒ
ãŸããã»ãšãã©ã®å Žåãåé¡ã¯ãããŸããã ããããããããã®æ¹åã®SPTãéåžžã«å°ããå Žåã¯ã©ããªããŸããïŒ ããšãã°ããã¬ãŒã€ãŒã¯X-SPTã20ãY-SPTã0.001ã®ã³ãŒããŒã«èµ°ããŸãã ããèŠãŠã¿ãŸãããïŒ
- ãšã³ãžã³ã¯ããã£ã©ã¯ã¿ãŒãæ±ã«20ãŠããããåã«0.001ãŠããã移åããããšããŸãããåã®å£ãæ€åºãããã移åã§ããŸããã
- ãšã³ãžã³ã¯P_SlideMoveãåŒã³åºããŠè¡çªãåŠçããã³ãŒããŒãã3ã€ã®ãã¯ãã«ãæç»ããŸã
- ãšã³ãžã³ã¯æåã®ãã¯ãã«ããã§ãã¯ããæå³ãããšããã«åã®å£ãšã®äº€å·®ãæ€åºããŸã
- ãšã³ãžã³ã¯2çªç®ã®ãã¯ãã«ããã§ãã¯ããŸããã256ã«ããé€ç®ã®ãããã§ãå°ããª0.001 Y-SPTã¯ãã§ã«ãŒãã«äžžããããŠãããããã°ã©ã ã¯ãã¯ãã«ãšåã®å£ãšã®äº€å·®ç¹ãæ€åºããŸãã
- 次ã«ããšã³ãžã³ã¯ãæåã®ãã¯ãã«ã®æ¹åã«ãããšãã°ãã¯ãã«ã®ãµã€ãºã®50ïŒ ã ãããã¬ãŒã€ãŒãéšåçã«ç§»åããããšããŸã
- ãããããšã³ãžã³ããã¬ã€ã€ãŒã0.0005ãŠãããåã«ç§»åãããããšãããšãçµç¹ã§å£ãèŠã€ããããšãã§ããŸãã
- ãšã³ãžã³ã¯ç¡åãªæãèœãšãããé段ããåŒãèµ·ãããŸããããã¯ãç¥ã£ãŠããããã«ãæåã®SPTãå€æŽãããã®ã§ã¯ãããŸããã
èŠçŽãããšããã¬ãŒã€ãŒãéåžžã«å°ããªY_SPTãŸãã¯X-SPTã§ã³ãŒããŒãèµ°ãå Žåããã¯ãã«ã®èª€ã£ããŒãåã®çµæãšããŠãé«ãSPTãç¶æã§ããŸãã
ç¡å¹ãªã°ã©ã€ã
ããªãã¯ïŒ0:20
ãããŠä»ãéç ²å µãæ€éããæã§ãã æ¡ä»¶ä»ãåé¢ç·ã«éåãã代ããã«ã絶察ã«ééã§ããªãè¡ãç¡èŠããŸãã
äžèŠããã®ããªãã¯ã¯åã«äžå¯èœã§ãã å£ãééããã«ã¯ããã£ã©ã¯ã¿ãŒã¯å³åº§ã«å°ãªããšã32ãŠããã移åããå¿ èŠããããŸãã 次ã«ã2ã€ã®éšåã«åå²ããåŸã§ããåãååãã¯16åäœïŒæåãµã€ãºïŒä»¥äžã«ãªããŸãã SR50ã§éæã§ããæ倧é床ã¯1ãã£ãã¯ããã23.57ãŠãããã§ããããšãæ¢ã«ããã£ãŠããŸãããå¶éã«éããŠãããšã³ãžã³ã¯23.57ã2ã€ã®å¥ã ã®åãã«åå²ããŸãã ããã«ãã²ãŒã ã³ãŒãã§ã¯ã30ãŠããããšããå³ããå¶éé床ãçž«ãããŠããŸããããã¯ãåãã®èšç®ã®æåã«é©çšãããŸãã ãããŠããã®ãããªæ¡ä»¶äžã§ããã£ã©ã¯ã¿ãŒã¯1åã®åãã§æ倧32ãŠããããŸã§ç§»åã§ããŸããïŒ
å šäœãšããŠã23.57ãåŸæ¥ã®ãã£ã©ã¯ã¿ãŒã³ã³ãããŒã«ã§éæå¯èœãªæ倧é床ã§ããããšã¯äºå®ã§ããããéåžžã®æ段ããSPTãå¢å ãããå¯äžã®æ¹æ³ã§ã¯ãªãå Žåã¯ã©ãã§ããããã ãã®ç¥èãããã°ãDOOMãšã³ãžã³ããããã«å€ãã®ãã®ãçµãåºãããšãã§ããŸãã ïŒæå³çã«ãã¡ãŒãžããŒã¹ãã説æããã€ããã¯ãããŸãããå¶åŸ¡ãšãã¹ãã¯å°é£ã§ãããã¡ãããäŸãã°ãã±ããã§èªåèªèº«ãççºãããããšã§23.57以äžã®é床ãåŸãããšãã§ããŸããããã£ãšç°¡åã§å®å šãªæ¹æ³ããããŸãïŒã
P_SlideMoveã«æ»ãæéã§ãã ãã§ã«èª¬æããããã«ãè¡çªã§ã¯ããã¯ãã«ã®æ¹åã«éšåçã«ç§»åããåŸãSPTã®æ®ãã®éšåãé害ç©ãšå¹³è¡ã«ãªãã€ã¬ã¯ããããŸãã ã§ã¯ããã®ããžãã¯ã¯ã©ã®ããã«å®è£ ãããŠããŸããïŒ æ¬¡ã®3ã€ã®æé ãå®è¡ãããŸãã
- æªäœ¿çšã®SPTã®éã決å®ãã
- é害ç©ã«æ²¿ã£ãŠåããããåã倧ããã®ãã¯ãã«ãäœæãã
- æ°ãããã¯ãã«ãxã³ã³ããŒãã³ããšyã³ã³ããŒãã³ãã«åå²ããŠããã¬ãŒã€ãŒã®æ°ããX-SPTãšY-SPTã決å®ããŸãã
ãããã®èšç®ã¯ãã¹ãŠããµã€ã³ãšã³ãµã€ã³ã䜿çšããŠå®è¡ããã®ãéåžžã«ç°¡åã§ãã ããããããã§ã³ãŒãã¯äžè§æ³ã®ååšãå¿ããŠããããã«èŠããåçŽã«èŠäºãªåçŽåã䜿çšããŠããŸãã STDãã©ã³ã¹ã®éãæ£ããå€æãã代ããã«ãP_AproxDistanceãšããé¢æ°ãåŒã³åºããŸãã ãããŠããã®P_AproxDistanceïŒè¿äŒŒè·é¢ïŒã¯äœãããŸããïŒ
return (the longer of XTAP or YTAP) + (half the shorter of XTAP or YTAP)
ã¯ããã¯ããããªãã¯ééã£ãŠããŸããã§ããã ãµã€ã³ãã³ãµã€ã³ã¯å¿ èŠãããŸãããã«ãŒãã¯æ£æ¹åœ¢ãšç«æ¹äœã§ããååãªè¿œå ããããŸãã 1ã€ã®è»žã2çªç®ã®è»žã®ååã«è¿œå ããã ãã§ãã ããªãã¯ããã®ãããªãè¿äŒŒãïŒè¿äŒŒïŒãã©ããããããããããæ³åã§ããŸãã
ãããã£ãŠããã®æ©èœã¯ãã¬ãŒã€ãŒã«éåžžã«æ·±å»ãªããŒãã¹ãäžããŸãã å®éããã®ãããªèšç®ã®çµæã¯ãæ£ããçµæãããå®å®ããŠå€§ãããšããããšã§ãã äŸã§ç¢ºèªããŸãããïŒX-SPT = 3ããã³Y-SPT = 4ã®ãã¬ãŒã€ãŒã®ãã¹ãªããããã¯ãã«ãèšç®ããŸãããããã¿ãŽã©ã¹ã®å®çã¯ãã¹ãªãããã¯ãã«ã®ãµã€ãºã5ã§ããããšã瀺ããŠããŸããããã¯ã蟺3ããã³4ã®çŽè§äžè§åœ¢ã®æ蟺ã§ããããããP_AproxDistanceé¢æ°ã¯ãµã€ãº5.5ã ãããŠä»ãç§ãã¡ã¯åã«äžæ£ç¢ºãªèšç®ã®ããã«10ïŒ ã®å éãåŸãŸããïŒ ãã®ãããªããŒãã¹ã®ãµã€ãºã¯ãã¬ã€ã€ãŒã®åãã®è§åºŠã«äŸåããæ®å¿µãªãããè§åºŠã45床ã®å ŽåïŒãã€ãã°ã©ã€ãããªãã¯ã®éåžžã®ç¶æ³ïŒãããŒãã¹ã¯æ²æšãª6ïŒ ã«ãªããŸãã ããã§ååã§ãã

ãã ããé©ãã¹ãçµæãåŸãã«ã¯ããå°ãåªåãå¿ èŠã§ãã éåžžãP_SlideMoveã¯ãããè¡ããŸãã
- 1ããå§ãŸãã«ãŠã³ã¿ãŒãéå§ããŸã
- è§ãããã¯ãã«ãæç»ãããã¬ã€ã€ãŒããã®ããããã®æ¹åã«ç§»åãããããšããŸã
- è¡çªåŸã«ãã¯ãã«ã®æ®ããããå Žåãé害ç©ã«å¹³è¡ã«åããããæ°ãããã¯ãã«ãèšç®ãããã¬ãŒã€ãŒãæ°ããæ¹åã«åããããšããŸã
- åãã®ãã¹ãªããããäžå¯èœãªå ŽåãæåããããçŽããã«ãŠã³ã¿ãŒã1ã€å¢ãããŸã
- ããŠãã«ãŠã³ã¿ãŒããã§ã«3ã«éããŠããå Žåãã©ããããããªãæãäžããŠããé段ãã«å©ããæ±ããŸãã
ãã¬ã€ã€ãŒãã³ãŒããŒã«ããå Žåãå£ãšã®æåã®è¡çªã«ãã2çªç®ã®å£ãžã®ã¹ã©ã€ãïŒã¹ã©ã€ãïŒãçºçããŸãã ããã§ããã«2åç®ã®è¡çªãçºçããã¢ã«ãŽãªãºã ãæ°ãã«éå§ãããæ¢åã®SPTãåæããŒã¿ãšããŠåãå ¥ããããŸããã€ãŸããæåŸã®ãµã€ã¯ã«ããã®ãã¹ãªãããã®æ®ãã®éšåã§ãã å šäœã®ããªãã¯ã¯ã移åããããšãããšãã«P_SlideMoveãåžžã«å€±æããç¶æ³ãäœæããããšã§ãã ããã§äœãèµ·ãããŸãïŒ
- ç§ãã¡ã«ç¥ãããŠãã3ã€ã®ãã¯ãã«ãæãããŠããŸã
- çãæ¹ã¯ãèªèº«ã®é·ãã®3.125ïŒ æªæºã®è·é¢ã§å£ãšäº€å·®ããŸãã
- çŸåšã®SPTã®100ïŒ ã䜿çšããŠãã¹ãªãããã¯ãã«ããå³åº§ã«èšç®ããŸã
- ãè¿äŒŒãP_AproxDistanceã®äžæ£ç¢ºãã«ãããSPTã®èšç®ããã»ã¹ã§å¢å ããŸã
- ãã ããæ°ããæ¹åã«ã¹ã©ã€ãããããšã¯ã§ããªããããããã»ã¹ã¯åèµ·åããŸã
- 説æãããŠããæé ã¯2åç¹°ãè¿ãããŸã
- ã¢ã«ãŽãªãºã ã¯é段ãåŒã³åºããŠéäŒããŸãããããã倱æããŸãããåæã«ãã¬ã€ã€ãŒã®2åã«å¢å ããSPTãç¯çŽããŸãã
ããããããã ãã§ã¯ãããŸããããã³ãŒããŒãèµ°ãããšãã«ãã¬ã€ã€ãŒã®SPTã15ãŠããããè¶ ããåãŸãã¯æ±ã«åããããŠããå Žåãåãã2ã€ã®éšåã«åå²ãããããã説æãããŠããããã»ã¹ã2åçºçããŸãã ã€ãŸããSPTã®å¢å ã¯1ãã£ãã¯ã§4åçºçããŸãïŒ

ããã§ããã»ã¹å šäœã確èªã§ããŸããã é©åãªäœçœ®ãéžæããã ãã§ãã³ãŒãããµã€ã¯ã«ã«å ¥ããSPTãåžžã«å¢å ããŸãã SPTã®åãã£ãã¯ã¯ã倧ãŸããªè¿äŒŒã®ãããæ¯èŒçå°ããéã§2åïŒãŸãã¯4åïŒå¢å ããŸãã åãã£ãã¯ã®çµããã«ãå¢å ããSPTã¯ãã¡ãããæ©æŠãã«ãã£ãŠæžå°ããŸããããã£ãã¯ããšã®SPTã®å¢å ã¯å°ãªããšã10ïŒ ã§ãããããã¯æ©æŠã«ããæžå°ãè¶ ããŠäžå®ã®å¢å ãæäŸããã®ã«ååã§ãã SPTã32ãŠããããè¶ ãããŸã§åŸ æ©ããŸãã
« 30 !» â . ã¯ããããã§ãã « » 30 , , 32 . -, 37 38 .
: , . X- Y-, . , void glide .
ELASTIC COLLISIONS
void glide , : «elastic collisions» ( ). , , .

elastic collisions . â 15 , -15, - . , - , , .
elastic collisions, DOOM. , , ? : - . . , : X- Y- 16 , 16.
«, ?» â . , , -: , . , , .
, , . : , . line intersection ( ): , . DOOM , .
, . , , . , «» , . â , . wall gliding â . , , , , .
elastic collisions, ! . , «», .
, . , , . , 0 ( ) 180 ( , ).
: , , - , ?
if (deltaangle > ANG180) deltaangle += ANG180;
: « » â , , . , , ?
, , ( , «» ) â ? «» , .
, , ? , , , . , : 16 , , , ( ) ( ). « » - . , , .

, , . , ?
BLACK FRIDAY : 30% - BLACK30% 1-6 !
! VPS (KVM) , , â ! VPS (KVM) c ( VPS (KVM) â E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD 4TB HDD / 1Gbps 10TB â $29 / , RAID1 RAID10) , , , , , «»!
ã€ã³ãã©ã¹ãã©ã¯ãã£ãæ§ç¯ããæ¹æ³ ã¯ã©ã¹Rã¯ã1ç±³ãã«ã§9,000ãŠãŒãã®Dell R730xd E5-2650 v4ãµãŒããŒã䜿çšããŠããŸããïŒ Dell R730xdã¯2åå®ãã§ããïŒãªã©ã³ããšã¢ã¡ãªã«ã§249ãã«ããIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVã2å°æã£ãŠããã ãã§ãïŒ