Memanfaatkan PokerKit untuk Mempelajari Game Badugi

Memanfaatkan PokerKit untuk Mempelajari Game Badugi

PokerKit adalah sebuah library Python yang dikembangkan untuk mempelajari game poker dengan detail dan variasi yang tinggi. Dalam artikel ini, kita akan membahas bagaimana menggunakan PokerKit untuk memahami game Badugi, salah satu varian poker yang paling populer.

Menggunakan PokerKit

PokerKit dapat digunakan dengan cara membuat objek FixedLimitBadugi dan mengatur parameter-parameter awal seperti ante, blinds, dan stack players. Dalam contoh di bawah ini, kita akan membuat game Badugi dengan 4 player dan stack awal yang tak terhingga.

from math import inf
from pokerkit import Automation, FixedLimitBadugi

state = FixedLimitBadugi.create_state(
 (
 Automation.ANTE_POSTING,
 Automation.BET_COLLECTION,
 Automation.BLIND_OR_STRADDLE_POSTING,
 Automation.HAND_KILLING,
 Automation.CHIPS_PUSHING,
 Automation.CHIPS_PULLING,
 ),
 True, # Uniform antes?
 0, # Antes
 (1, 2), # Blinds or straddles
 2, # Small-bet
 4, # Big-bet
 inf, # Starting stacks
 4, # Number of players
)

Permainan Badugi

Kita akan memulai permainan dengan meng-deal hole cards kepada setiap player. Lalu, kita akan melakukan preflop dealings dan actions, seperti folding, checking, atau raising.

state.deal_hole('????????') # Bob
state.deal_hole('????????') # Carol
state.deal_hole('????????') # Ted
state.deal_hole('????????') # Alice

state.fold() # Ted
state.check_or_call() # Alice
state.check_or_call() # Bob
state.check_or_call() # Carol

Draw dan Actions

Kita akan melakukan draw pertama dan actions. Dalam setiap tahap, kita akan memutuskan apakah player akan menahan kartu atau mengganti dengan kartu baru.

state.stand_pat_or_discard('????') # Bob
state.stand_pat_or_discard('????') # Carol
state.stand_pat_or_discard('??') # Alice
state.burn_card('??')
state.deal_hole('????') # Bob
state.deal_hole('????') # Carol
state.deal_hole('??') # Alice

state.check_or_call() # Bob
state.complete_bet_or_raise_to() # Carol
state.check_or_call() # Alice
state.check_or_call() # Bob

Showdown

Setelah draw terakhir, kita akan melakukan showdown. Dalam contoh di bawah ini, Alice dan Carol memiliki kartu terbaik dan mendapat bayaran.

state.show_or_muck_hole_cards('2s4c6d9h') # Alice
state.show_or_muck_hole_cards('3s5d7c8h') # Carol

print(state.stacks) # [inf, inf, inf, inf]
print(state.payoffs) # [-4, 20, 0, -16]

Tes dan Validasi

PokerKit telah dilakukan tes secara ekstensif dan dinyatakan valid oleh pengguna yang sungguh. Dengan demikian, Anda dapat menggunakan PokerKit dengan percaya diri untuk mempelajari game Badugi dan varian poker lainnya.

Kontribusi

Anda juga dapat berkontribusi pada Pengembangan PokerKit! Silakan baca Panduan Kontribusi untuk lebih lanjut.

Lisensi

PokerKit didistribusikan dengan lisensi MIT.

Citation

Jika Anda menggunakan PokerKit dalam penelitian Anda, silakan citat library ini:

@ARTICLE{10287546,
author={Kim, Juho},
journal={IEEE Transactions on Games},
title={PokerKit: A Comprehensive Python Library for Fine-Grained Multi-Variant Poker Game Simulations},
year={2023},
volume={},
number={},
pages={1-8},
doi={10.1109/TG.2023.3325637}}