[스몬 개발] 카드 합성 기능 버그 수정
안녕하세요 @realmankwon입니다.
어제 작성했던 카드 합성 api 에 버그가 있어서 수정을 했습니다.
버그는 id 가지고만 판단을 하는 바람에 골드카드가 함께 계산이 되어 합성이 되지 않은 것입니다.
G3, C3 가 썩여 있는 것은 합성이 되지 않는 카드이고 이것들은 제외시켜야 했습니다.
일단 id 로 체크한 후에 gold 여부로 다시 개수를 세어야 하는 상황인지라 어떻게 할지 고민하다가 앞에 코드와 id를 함께 넘기기로 했습니다.
async function cmdAllCombineCards(account){
return new Promise(async (resolve, reject) => {
let mycards = await getMyCards(account);
let twoMoreCards = mycards.reduce((object, currentValue) =>{
const keyword = currentValue.uid.split('-')[0] + '-' + currentValue.uid.split('-')[1];
if(!object[keyword]){
object[keyword] = 0;
}
object[keyword]++;
return object;
}, {});
for(const keyword in twoMoreCards){
if(twoMoreCards[keyword] > 1)
await cmdCombineCards(account, keyword);
}
});
}
keyword로 넘긴 것을 다시 keyword 로 검색해서 처리하도록 수정했습니다.
async function cmdCombineCards(account, keyword){
return new Promise(async (resolve, reject) => {
const key = await getKey(account, 'posting');
let mycards = await getMyCards(account);
mycards = mycards.filter(data => data.uid.split('-')[0] + '-' + data.uid.split('-')[1] == keyword);
let cards = [];
for(const mycard of mycards){
cards.push(mycard.uid);
}
steem.broadcast.customJson(
key,
[],
[account],
"sm_combine_cards",
JSON.stringify({
cards: cards,
app: appName
}),
(err, result) => {
if (err) {
reject(err);
return;
}
console.log(`Combine card (${keyword}) : ${cards}`);
resolve(result);
});
});
}
그리고 어제 글에 트아님께서 댓글로 달아 놓으신 것처럼 만랩 여부를 판단하는 것도 나중에 추가해야 할 듯 합니다.
스몬 관련 개발은 할수록 욕심이 나서 참아야 할 듯 합니다. ^^
0
0
0.000
이게 해보니 끝이 없어요. ㅎ
Posted using Partiko Android