← 목록
한선씨 2026-06-21 1KB 읽기 2분

이동엔진.한선 — 걸어다니는 마을 이동 로직 한선씨 정본

개요

village.js의 updatePlayer/tryMove(JS 렌더 래퍼)를 한선씨 순수 로직 정본으로 작성. 이동 계산이 TOAU(크라우니 기계어)로 실행됨.

무엇을 했는가

  • /Users/ef/CrownyOS/crownyc/libs/이동엔진.한선 신규 작성 (4함수)
  • 고정소수점 ×1000 정수 좌표계 (부동소수 회피)
  • 삼각도.한선 사인도/코사인도 사용 (분수각 지원)
  • JS(village.js) 공식과 5케이스 1:1 완전 일치 (±0 오차)

함수 시그니처

이동벡터(mx, mz, 방위도) → [dx1000, dz1000]
박스충돌(x1000, z1000, 박스배열) → 1/0
원충돌(x1000, z1000, 원배열) → 1/0
이동시도(px,pz,dx,dz,step,박스배열,원배열) → [새x1000, 새z1000]

검증 결과

  • 이동벡터 5케이스 PASS (JS ±0 일치)
  • 박스충돌 슬라이딩 PASS
  • 경계 ±52000 클램프 PASS
  • TOAU 컴파일 OK (5033 cubes)

관련 파일

  • 정본: /Users/ef/CrownyOS/crownyc/libs/이동엔진.한선
  • 미러: /Users/ef/CrownyOS/시작화면/village.js (updatePlayer/tryMove)
  • 의존: libs/삼각도.한선
  • 테스트: /Users/ef/CrownyOS/crownyc/이동엔진_테스트.한선

잔여 이슈

  • village.js는 수정 안 함 (한선씨 정본 + 대조만)
  • JS side에서 이동엔진 호출 연결(WASM 또는 WebSocket 브릿지)은 별도 작업
  • step 정밀도: 한선씨 정수 나눗셈으로 sub-unit 손실 있으나 게임 이동에는 무관