Poker adalah permainan kartu yang sangat populer. Dalam permainan ini, terdapat beberapa elemen yang harus diketahui untuk memainkan game yang adil dan aman. Salah satu elemen penting dalam poker adalah struktur tabel dan player.
Struktur Tabel
Tabel Poker memiliki beberapa property yang berfungsi sebagai referensi untuk semua informasi tentang permainan sedang berlangsung. Berikut adalah beberapa properti yang terdapat di tabel:
- smallBlind: Jumlah taruhan kecil yang dikeluarkan oleh player pertama di posisi kecil.
- sidePots: Array dari pot-pot samping yang terdapat di meja. Masing-masing pot memiliki jumlah uang dan player yang dapat menangkan pot tersebut.
- winners: Array dari player yang telah menangkan permainan.
- dealerPosition: Posisi dealer yang saat ini aktif.
- autoMoveDealer: Flag yang berfungsi sebagai indikator apakah dealer akan otomatis pindah ke posisi lainnya setelah permainan selesai.
Tabel juga memiliki beberapa method yang digunakan untuk memainkan game. Berikut adalah beberapa contohnya:
- cleanUp(): Method ini digunakan untuk menghapus informasi tentang permainan yang telah berlangsung.
- dealCards(): Method ini digunakan untuk menyeleksi kartu untuk player dan memulai ronde pertama dari taruhan.
- moveDealer(seatNumber: number): Method ini digunakan untuk memindahkan dealer ke posisi lainnya. Biasanya dipakai secara internal, namun dapat juga digunakan secara eksternal untuk memindahkan dealer manual.
Struktur Player
Player adalah elemen yang sangat penting dalam poker. Masing-masing player memiliki beberapa property yang berfungsi sebagai referensi tentang informasi mereka. Berikut adalah beberapa properti yang terdapat di player:
- bet: Jumlah taruhan yang dikeluarkan oleh player.
- folded: Flag yang berfungsi sebagai indikator apakah player telah memutuskan untuk mengundurkan diri dari permainan.
- hand: Informasi tentang tangan player, termasuk nama dan deskripsi tentang jenis tangan tersebut.
- holeCards: Kartu hole yang dikeluarkan oleh player. Jika tidak ada kartu hole maka nilai ini akan undefined.
- id: ID unik dari player yang digunakan untuk membedakan player di dalam kode Anda sendiri.
- left: Flag yang berfungsi sebagai indikator apakah player telah "berdiri" dari meja tetapi masih aktif di permainan sedang berlangsung.
- raise: Jumlah taruhan yang dikeluarkan oleh player setelah melakukan raise.
- showCards: Flag yang berfungsi sebagai indikator apakah kartu hole player akan ditampilkan. Nilai ini akan true jika player masih aktif di permainan sedang berlangsung dan penentuan pemenang belum selesai.
- stackSize: Jumlah uang yang tersisa pada player.
Player juga memiliki beberapa method yang digunakan untuk memainkan game. Berikut adalah beberapa contohnya:
- sitDown(id: string, buyIn: number, seatNumber?: number): Method ini digunakan untuk menaruh player di meja. Jika ada permainan sedang berlangsung maka player akan otomatis diputuskan sebagai "folded" dan tidak akan ikut beraksi hingga permainan selesai.
- standUp(player: Player | string): Method ini digunakan untuk menghapus player dari meja. Jika ada permainan sedang berlangsung maka player yang telah dikeluarkan akan dipindahkan ke array "left" dan tidak akan ikut beraksi hingga permainan selesai.
Dengan demikian, struktur tabel dan player memainkan peranan penting dalam poker. Dengan mengerti properti dan method di atas, Anda dapat dengan mudah memainkan game yang adil dan aman.