Tutorial: Implementing Betting Logic in Card Game

Tutorial: Implementing Betting Logic in Card Game

Dalam tutorial ini, kita akan membahas cara mengimplemenkan logika taruhan dalam permainan kartu. Sebelum memulai, kita harus mengetahui bahwa setiap pemain di meja harus berkontribusi sebelum tangan dimulai.

Game Logic

Kita akan implementasikan logika taruhan sebagai berikut:

Pemain membayar ante untuk mendapatkan kartu.
Kemudian, giliran dilemparkan ke pemain berikutnya yang juga membayar ante.
Setelah semua pemain membayar ante, kartu diberikan kepada pemain berdasarkan logika yang kita bahas sebelumnya.
Pemain memutuskan tindakan apa yang harus dilakukan berdasarkan kartu.
Kemudian, giliran dilemparkan ke pemain berikutnya.

Dalam bagian ini dari tutorial, kita hanya akan membahas logika turn-based untuk memungkinkan setiap pemain memasukkan taruhan secara bergantian.

Entering Bet Amount

Kita akan menggunakan UI untuk menampilkan giliran pemain dan memungkinkan pemain memasukkan taruhan. Kemudian, kita akan mengaktifkan fungsi untuk menyimpan taruhan dan mengganti giliran ke pemain berikutnya.
Tambahkan bidang input text, bidang teks untuk menampilkan nomor pemain, dan tombol submit. Susunlah elemen UI sesuai dengan kebutaan Anda.

Script

Kita perlu membuat script untuk menerima taruhan dan menyimpannya. Kita akan menggunakan array untuk menyimpan data taruhan pemain.
Deklarasikan variabel publik untuk elemen UI: TMP_InputField untuk memasukkan taruhan, TextMeshProUGUI untuk menampilkan nomor pemain, dan Button untuk submit. Juga, deklarasikan variabel publik numberOfPlayers untuk menentukan jumlah pemain.
Deklarasikan variabel privat: betAmounts (array integer untuk menyimpan taruhan) dan currentPlayer (untuk mengikuti giliran pemain saat ini).
Dalam metode Start, inisialisasi array betAmounts, update teks pemain saat ini, dan tambahkan listener ke tombol submit.
Buat method SubmitBet yang memeriksa apakah input adalah bilangan integer valid, menyimpan taruhan di array betAmounts, dan mengupdate giliran pemain. Jika semua pemain telah memasukkan taruhan, tombol submit akan dinonaktifkan.
Buat method UpdateCurrentPlayerText untuk update teks pemain saat ini.

Complete Script

Berikut adalah script lengkap:

using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class BetManager : MonoBehaviour
{
 public TMP_InputField betInputField;
 public TextMeshProUGUI currentPlayerText;
 public Button submitButton;
 public int numberOfPlayers = 4;

 private int[] betAmounts;
 private int currentPlayer = 0;

 void Start()
 {
 betAmounts = new int[numberOfPlayers];
 UpdateCurrentPlayerText();
 submitButton.onClick.AddListener(SubmitBet);
 }

 void SubmitBet()
 {
 int betAmount;
 if (int.TryParse(betInputField.text, out betAmount))
 {
 betAmounts[currentPlayer] = betAmount;
 currentPlayer++;
 if (currentPlayer == numberOfPlayers)
 {
 //change to next scene
 }
 else
 {
 UpdateCurrentPlayerText();
 }
 }
 else
 {
 Debug.Log("Invalid bet amount entered.");
 }
 }

 void UpdateCurrentPlayerText()
 {
 currentPlayerText.text = $"Current Player: {currentPlayer + 1}";
 }
}

Cara Menggunakan Script

Untuk menggunakan script ini, ikuti langkah-langkah berikut:

Buat script C# baru bernama "BetManager" dan sambungkan ke game object kosong di scene Anda. Salin kode di atas.
Dalam Editor Unity, asingkan elemen UI TMP_InputField, TextMeshProUGUI, dan Button ke variabel yang sesuai dalam script BetManager.
Jalankan scene, dan Anda akan dapat memasukkan taruhan untuk setiap pemain menggunakan bidang input text. Taruhan-taruhan tersebut akan disimpan di array betAmounts, dan giliran akan dilemparkan ke pemain berikutnya setelah setiap taruhan valid diinput.

What's Next

Kita telah berhasil mengimplemenkan logika taruhan yang komprehensif, yang menjadi dasar penting dalam permainan kartu. Dalam tutorial berikutnya, kita akan membahas cara membuat gameplay dan menambahkan fitur-fitur lain ke permainan kartu kita.