[개발] 스몬 카드 투자[11]

in #sct7 years ago (edited)

매일 스몬을 하는 큰 즐거움 중의 하나가 퀘스트를 하는 것이죠. 매일 퀘스트하고 받은 reward 카드를 열어보면서 레골한 장 나오기를 기대하지만 현실은 매일 꽝이죠. 그래도 가끔은 골드 카드도 한 장씩 나오고 합니다.

퀘스트를 해서 받은 카드의 가치가 얼마가 될지 궁금하여 추가해 보았습니다.

파이썬 프로그램은 아래 위치에 있습니다.
https://repl.it/@zonemultiwhs/smonall

Run 버튼을 누른 후 아래 명령어를 입력하시면 됩니다.
71 계정명 퀘스트수

실행 결과입니다.

Diamond 리그 기준으로 16 장 카드가 나오는데요. 그 가치는 대략 1.5불 정도 되는 것 같습니다. 어쩌다 한 방을 꿈꾸며 매일 카드를 열어보지만, 일정하게 1.5불 정도 나오는 것 같습니다.


열어 본 reward card를 구하는 방법입니다.

지난 번에 개봉한 beta, orbs 카드에 대한 가치를 계산할 때 사용한 API와 같은 것을 사용합니다.

https://api.steemmonsters.io/players/history?username=tradingideas&from_block=-1&limit=250&types=

다만 파라미터가 틀립니다.
sm_claim_reward

따라서 아래와 같이 입력하면 개봉한 reward 카드에 대한 정보를 얻을 수 있습니다. 리그 종료 후 나오는 보상도 같은 방식으로 볼 수 있습니다.
https://api.steemmonsters.io/players/history?username=tradingideas&from_block=-1&limit=250&types=sm_claim_reward

기존 beta, orbs와 계산하는 방식이 같기 때문에 기존 함수를 재사용하였습니다.

아래와 같이 함수에 parameter를 추가하였고요. 명령어에 따라 다른 parameter를 전달하면 동일한 코드를 재사용할 수 있습니다.

def value_of_open_packs(player, num_packs, param, plist, pglist) :
    packs = get_data_from_sm("/players/history?username="+player+"&from_block=-1&limit=250&types="+param, 1)

개봉한 카드 결과를 받아보니 beta 팩인 경우와 reward인 경우에 대하여 양식이 틀립니다. 그래서 parameter 값에 따라 적절한 값으로 변환하여 사용합니다.

        cards = json.loads(pack['result'])
        if param != "sm_claim_reward" :
            cards = cards['cards']    # reward와 open pack의 경우에 key가 틀리다.

2-3군데 수정하여 reward 카드에 대한 가치를 구하는 기능을 추가하였습니다.

API로 데이터를 전달할 때 비슷한 경우에 대해서는 비슷한 구조를 유지하는 것이 중요한데요. steemmonsters api로 받은 결과를 보면 일관성이 부족한 경우를 종종 봅니다. 변수 명도 일관성이 부족하고요. 아마도 자료 구조 review를 많이 하지 않고, 개발을 빨리 진행하느라 그런 것 같습니다. 충분히 이해합니다. 이 정도만 만들어줘도 감사하죠.

Sort:  

jcar토큰 9월 구독 보팅입니다.
좋은 하루 보내세요. ^^

Hi @tradingideas!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.398 which ranks you at #2480 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 116 contributions, your post is ranked at #21.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.101
BTC 64157.20
ETH 1820.21
USDT 1.00
SBD 0.38