Happyberrysboy's Blog

안녕하세요, 햅뽀이입니다.

뽑기시 랜덤으로 보상을 선택해서 번호에 매치를 해주는 로직을 개발하여 적용하였습니다.
이제는 DB에 어느 번호가 보상이 걸리는 것인지 다 볼 수 있는 운영진 이라도, 실제로 그 번호를 뽑으면 랜덤하게 다른 번호가 뽑히는(물론 확률상 같은 번호도 뽑힐 수는 있어요~ ) 로직을 추가하였습니다.

투명성을 더 높이기 위함이랄까요? 번호가 뽑히는 과정을 모두다 보여줄 수 있도록 공개하는 것도 가능은 한데… 어떤식으로 보여줄지는 한번 고민을 해봐야겠군요.!!


랜덤 로직

  • 예를들어 유저가 뽑기 숫자에서 5을 뽑았다고 가정합니다.
  • 먼저 뽑기 번호를 선택하면 키체인으로 스팀에 트랜잭션을 발생시킵니다.(포스팅키만 있으면 가능!)
  • 여기서 하단에 transaction_id 값 “de417ce9b0c05f13dd1374715f85c6922d352abc”을 활용합니다.
  • 저 값은 유저가 선택할 수 없고 랜덤하게 발생 되는 숫자이기 때문에 숫자 결정에 아무도 개입을 할 수가 없습니다.
  • 저 id 값에서 앞에서부터 숫자만(문자는 skip!!) 4자리를 뽑습니다. => 여기선 “4179”가 되겠네요.
  • 그리고 현재 남아 있는 뽑기 번호 갯수를 가져옵니다. => 예를 들면 50개 숫자중에 28개가 남았다고 가정.
  • 여기서 오래간만에 초등?중등? 학교에서 배운 나머지를 구하는 로직을 이용합니다.
  • 4179 / 28를 한 후 남은 나머지는 7이 남습니다.
  • 그러면 아까 뽑기 번호 남은 갯수 28개중에서 7번째 보상을 선택합니다.
  • 그리고 실제로 뽑았던 숫자 5와, 랜덤하게 뽑힌 7번째 보상 수를 서로 맞바꿔 버립니다.
  • 그러면 결론적으로!!! 5번을 뽑은것 처럼 느껴지지만, 실제로 보상은 5번에 딸려 있던 보상이 아닌, 랜덤하게 뽑힌 7번째 숫자의 보상으로 바꿔치기가 되는 것이지요!!!

이해가 되시는지요? ㅠㅠ

(아 설명에 그닥 재주가 없는 것 같습니다.. ㅠㅠ)


아무튼 결론적으로 이제 운영진도 보상이 좋은 번호를 안다고 해도 뽑을 수 없다는 말입니다! ^^

그러니 앞으로 의심없이 뽑기를 즐기셔도 좋을 것 같습니다.
이제 다음차례는 고급뽑기인가요!?!?!?!?

일단 주말 잘 보내고!!! 담주에 좀 바쁜일 없으면!! 도즈언!!! 하겠습니다.

모두모두 남은 주말도 잘 보내십시오!!! 감사합니다!!