GAMEDOT원신 게임닷
최근 본 문서방문 기록이 없습니다
최근 방문 게시글방문 기록이 없습니다
인기글

craftify.js / 아이템 합성함수 배포합니다.

note조회 2댓글 0

 

 

안녕하세요. 예전에 육성 계산기 만들던 유저입니다.

 

개인 사정상 지금은 게임은 못하고 있지만, 이전에 만들었던 합성기능이 유용하다 생각해서 자바스크립트로 변환해봤습니다. 아직 캐릭터 계산기에 이 기능 만든 사람은 없죠..?

본래는 직접 서버 올려서 json api 형태로 배포하려 했지만 컴터도 안 쓰는 상황에 배포 경험도 부족하고 취미로 하는건데 이럴필요까지 있나 생각이 들더군요. 그래서 파일 뿌리기로 했습니다. 코드가 근본없으니 가져다 최적화해서 써 주시면 좋겠습니다.

 

소스코드 링크

활용 예시 링크

 

원리

우선 같은 등급에서 재화를 계산합니다.

이후 총 11번의 합성 절차를 거친 후 값을 리턴합니다.

참고) 합성 전, 후의 배열은 5성에서 2성 순입니다.

아마 더 좋은 계산 방법이 있을 거라고 생각합니다. 혹시 아이디어 있다면 댓글로 남겨주세요.

 

사용법

npm 설치

npm install genshin-crafter

 

// 예제

const cft = require('genshin-crafter');

console.log(cft([0, 0, 1, 112], [6, 9, 0, 0]));

 

파일 직접 받아서 가져와도 되고, script 태그로 가져와 쓰셔도 됩니다.

<script src='https://genshin-craft.github.io/craftify_min.js'></script>

 

함수는 아래 하나만 쓰시면 됩니다.

배열은 5성에서 2성 순으로 만드시면 됩니다.

만일 아이템 등급이 총 3개라면 5성 부분에 0을 넣으시면 됩니다.

const result = craftify ( 보유중인 아이템 배열,

목표 아이템 배열 );

 

리턴값은 아래와 같이 나옵니다

count : [5성 업 횟수, 4성 업 횟수, 3성 업 횟수],

remain : 남은 보유 재화 배열 ,

required : 추가로 필요한 재화 배열

requiredTotal : 필요한 재화에서 남은 재화만큼 제외한 수치

 

예시

const result = craftify ([0, 0, 1, 112], [6, 9, 0, 0]);
console.log(result.count); // 1,12,36
console.log(result.remain); // 0,0,1,4
console.log(result.required); // 5,0,0,0
console.log(result.requiredTotal); // 128

const result = craftify ([6, 0, 11, 0], [6, 9, 9, 1]);
console.log(result.count); // 0,0,0
console.log(result.remain); // 0,0,2,0
console.log(result.required); // 0,9,0,1
console.log(result.requiredTotal); // 76

댓글 0

비방·도배 댓글은 숨김 처리돼요

첫 댓글을 남겨 보세요.

© 2014–2026 GAMEDOT.ORG · 원신 게임닷

사이트 문의 및 게시 중단 요청: admin@gamedot.org

커뮤니티 오픈 신청