Create software to manage a Multi Table Tournament

  • สถานะ: Closed
  • รางวัล: $500
  • ผลงานที่ได้รับ: 3
  • ผู้ชนะ: rmparisi

รายละเอียดการประกวด

Poker MTTs are comprised of many different tables, each with 9 to 10 players who are all competing for a seat at the final table. Your job is to create software to manage the tournament (not the game).

REQUIREMENTS:
-Javascript/NodeJS (Typescript strongly preferred)

RESPONSIBILITIES:
-Randomly seed the tables and seats of players
-Keep track of standings in tournament
-Pay winning player(s) [i.e. Last Man Standing, custom payout structure, etc...]
-Balance the tables/move players to another table, when players are eliminated
-Keep track of how many buy ins a player has left

The architecture of the software should be event based. In other words, the inputs will be events and the software should create snapshots of state after each event is processed.

Feel free to design the input events as you wish, the only requirement is that your software will have to process the events based on a type and an optional payload.
It is sufficient for your program to process the input events from a JSON file, and to output state snapshots to another file.

Here might be an example input JSON with example events (remember you can redefine the events as you see fit):

{ type: 'REGISTERED', payload: {playerId: 'abc'} }
{ type: 'REGISTERED', payload: {playerId: 'def'} }
{ type: 'REGISTERED', payload: {playerId: 'ghi'}}
{ type: 'UNREGISTERED', payload: {playerId: 'ghi'}}
{ type: 'TOURNAMENT_STARTED', payload: { blinds: '5:10', startingChips: ‘1000’, maxRebuys: 1, ... /*Any other options for poker tournaments that might be needed here */ } }
{type ‘GAME_FINISHED’, payload: {tableId: 1, players: {‘abc’ : {chips: 1500}, ‘def’: {chips: 500}}}
{ type: 'BLINDS_RAISED'}}
{type ‘GAME_FINISHED’, payload: {tableId: 1, players: {‘abc’ : {chips: 200}, ‘def’: {chips: 0}}}
{type: 'PLAYER_REBOUGHT' , payload" {playerId: 'def'}}
{ type: 'BLINDS_RAISED'}}
{type ‘GAME_FINISHED’, payload: {tableId: 1, players: {‘abc’ : {chips: 1200}, ‘def’: {chips: 800}}}
{type ‘GAME_FINISHED’, payload: {tableId: 1, players: {‘abc’ : {chips: 3000}, ‘def’: {chips: 0}}}

After each event, record the snapshot of the current state of the tournament (tables, seats, player rebuys available,


At this link, you'll find a few general tournament rules and some goals for table balance that if you achieve will help you stand out:
https://docs.google.com/document/d/1L5kJ8mVrRD_qrP-_DlN-cpufgXhWho7m60GqtHVLbUQ/edit?usp=sharing

ทักษะแนะนำ

คำติชมจากผู้ว่าจ้าง

“He is communicative, sharp, and follows up well.”

รูปประจำตัว jordansuarez0, United States.

ผลงานอันดับสูงสุดจากการประกวดนี้

ดูรายการเพิ่มเติม

กระดานประกาศ

  • bennygenel
    bennygenel
    • 5 ปี ที่ผ่านมา

    I was going to submit my work too in a few. Sorry to see that you already choose a winner. Please contact me if you like to see my work too.

    • 5 ปี ที่ผ่านมา
  • johnthebunny
    johnthebunny
    • 5 ปี ที่ผ่านมา

    In the rules it is stated that "If two (or more) players are eliminated on the same hand, the player who started the hand with the most chips will be awarded the higher finishing position.", but this would imply that someone could start the hand with the highest chips, be eliminated and retain victory. Wouldn't it be whoever ended the hand with most chips?

    • 5 ปี ที่ผ่านมา
    1. rmparisi
      rmparisi
      • 5 ปี ที่ผ่านมา

      Johnthebunny, the case he is talking about is a multi all in pot. Example: P1 has 100 chips, P2 has 20, P3 has 50. P2 shoves all in 20 chips, P3 reshoves 50 chips (pot 70), P1 calls 50 chips (pot 120). Result is P1 wins. P2 and P3 are knockedout. The finals standings should be:
      1) P1
      2) P3
      3) P2
      because P3 started the hand with more chips then P2, the number of chips P1 started with doesn't matter.

      • 5 ปี ที่ผ่านมา
    2. johnthebunny
      johnthebunny
      • 5 ปี ที่ผ่านมา

      Oh, I get it now, thanks!

      • 5 ปี ที่ผ่านมา
  • rmparisi
    rmparisi
    • 5 ปี ที่ผ่านมา

    Wasn't sure what you wanted to be submitted so I took two screen captures of one of my test cases. Only after I pressed submit did I notice the only difference between states is a Blinds_Raised event. The only difference is the blindLevel was increased. if you need more state images I can try to provide them.

    • 5 ปี ที่ผ่านมา
  • Roykym
    Roykym
    • 5 ปี ที่ผ่านมา

    I'm in, will do it in node and then maybe later the code can be changed to typescript.I'll post pictures of the json input and output states as my entry.

    • 5 ปี ที่ผ่านมา
  • jordansuarez0
    ผู้จัดการประกวด
    • 5 ปี ที่ผ่านมา

    @devakanta R., don't worry we are excited to review your work. like I said earlier, we also have another job open too

    • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    Hi I will be submitting my entry soon so plz don't close entry till then.

    • 5 ปี ที่ผ่านมา
  • jordansuarez0
    ผู้จัดการประกวด
    • 5 ปี ที่ผ่านมา

    @Johnthebunny, thank you for showing initiative. We are excited to see your work. After you finish, if upon review we approve of the job and chose you, we would love to continue working with you. We have another contest up and will likely be having more. So establishing a go to guy would be great! please private message us for more information. Thank you again!

    • 5 ปี ที่ผ่านมา
    1. johnthebunny
      johnthebunny
      • 5 ปี ที่ผ่านมา

      I would love to continue work with you as well, thank you very much!

      • 5 ปี ที่ผ่านมา
  • jordansuarez0
    ผู้จัดการประกวด
    • 5 ปี ที่ผ่านมา

    i provided example input and output jsons but its up to you to design them how you see fit

    • 5 ปี ที่ผ่านมา
  • jordansuarez0
    ผู้จัดการประกวด
    • 5 ปี ที่ผ่านมา

    JSONS will becoming from other programs yes, but you do not need to concern about that. Your software just has the responsibility of outputing JSON states from input JSON events...

    • 5 ปี ที่ผ่านมา
  • johnthebunny
    johnthebunny
    • 5 ปี ที่ผ่านมา

    What is going to be the nature of the inputs? Are they going to be server-side, are they going to be called by an external function, are they going to be called by an HTML element (such as "")?
    Should I worry about changing the blind values?
    What are all the possible event types and their payloads?

    My script is finished for all intent and purpose as soon as I get these clarifications.
    Thanks in advance!

    • 5 ปี ที่ผ่านมา
    1. johnthebunny
      johnthebunny
      • 5 ปี ที่ผ่านมา

      *such as < input >

      • 5 ปี ที่ผ่านมา
    2. johnthebunny
      johnthebunny
      • 5 ปี ที่ผ่านมา

      I'm moving on to testing stage, I'll post pictures of the save states as my entry.

      • 5 ปี ที่ผ่านมา
  • jordansuarez0
    ผู้จัดการประกวด
    • 5 ปี ที่ผ่านมา

    The result should be a json file

    • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    Sir, 3 days are very less to provide solution

    • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    Well if there is no UI then how do u want the result to be shown?

    • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    Hi, do you want UI too? And is it compulsory to use NodeJS? There are many other options which are event-driven like GOLANG. Well its not truely event-driven but can be custom fitted for this software. Assuming that there will be a dedicated server.

    • 5 ปี ที่ผ่านมา
    1. jordansuarez0
      ผู้จัดการประกวด
      • 5 ปี ที่ผ่านมา

      No UI. The idea is to reduce state from events and to spit out state of a Multi Table Tournament. You have flexibility in designing the input events and the output events. Use JSONs.

      NodeJS is strongly preferred. If you want to act with GOLANG, go ahead.

      • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    I am really interested in this project as your requirements are very very interesting and fun and pleasure to solve. Do reply ASAP.

    • 5 ปี ที่ผ่านมา
  • dev681999
    dev681999
    • 5 ปี ที่ผ่านมา

    Few more queries - Can give a simple small example of an entire round or touranment if possible?

    • 5 ปี ที่ผ่านมา

แสดงความคิดเห็นเพิ่มเติม

วิธีเริ่มต้นจัดการประกวด

  • ประกาศการประกวดของคุณ

    จัดการประกวดของคุณ รวดเร็วและง่ายดาย

  • รอรับผลงานจำนวนมหาศาล

    รอรับผลงานจำนวนมหาศาล จากทั่วโลก

  • มอบรางวัลให้แก่ผลงานที่ดีที่สุด

    มอบรางวัลให้แก่ผลงานที่ดีที่สุด ดาวน์โหลดไฟล์ - ง่ายดาย!

โพสต์การประกวดตอนนี้เลย หรือเข้าร่วมกับเราวันนี้!