Pazaak là một trò chơi bài từ vũ trụ Star Wars. Nó tương tự như BlackJack, với hai người chơi đọ sức với nhau khi cố gắng đạt tổng cộng hai mươi mà không vượt qua. Mỗi người chơi có một "bộ bài phụ" gồm bốn lá bài của riêng mình mà họ có thể sử dụng để sửa đổi điểm số của mình.
Bảng xếp hạng
Kể từ ngày 17 tháng 6 năm 2015 @ 16:40 EDT
Chỉnh sửa: Sao Hải Vương đã bị loại vì gian lận. Điểm số sẽ được khắc phục sớm nhất có thể ...
- NEPTR: ~ 424.000
- The Kid Kid: ~ 422.000
- Yến: ~ 408.000
- Quyền hạn Austin: ~ 405.000
- Bastila: ~ 248.000
- Người chơi thận trọng ngu ngốc: ~ 107.000
- Người chơi Dumb Bold: ~ 87.000
Playoff Cup Mock Pazaak
Sẽ được cập nhật sớm nhất có thể.
Vòng một - Nestor vs Bastila & Austin Powers vs The Kid Kid
Vòng hai - Nestor vs Austin Powers & The Cincinnati Kid vs Bastila
Cơ học
Gameplay được thực hiện lần lượt. Người chơi được chia một lá bài từ bộ bài chính (nhà). Bộ bài trong nhà chứa bốn mươi thẻ: bốn bản sao từ một đến 10. Sau khi được chia bài, họ có thể chọn kết thúc lượt của mình và nhận một lá bài mới vào lượt tiếp theo, đứng ở giá trị hiện tại của họ, hoặc chơi một lá bài từ bộ bài phụ của họ và đứng ở giá trị mới. Sau khi người chơi quyết định những gì họ muốn làm, người chơi hai sẽ lặp lại quy trình.
Một khi cả hai người chơi đã đi, tay được đánh giá. Nếu một người chơi ném bom (hơn hai mươi), người chơi khác sẽ thắng, với điều kiện là họ cũng không ném bom. Nếu một người chơi chọn đứng và người chơi khác có giá trị tay cao hơn, người chơi khác sẽ giành chiến thắng. Nếu cả hai người chơi chọn đứng, người chơi có giá trị tay cao hơn sẽ giành chiến thắng. Trong trường hợp hòa, không người chơi nào có được chiến thắng.
Với điều kiện chiến thắng không được đáp ứng, chơi sẽ lặp lại. Nếu người chơi chọn kết thúc lượt của mình, họ sẽ nhận được một thẻ mới và có thể đưa ra lựa chọn mới. Nếu họ chọn đứng, hoặc nếu họ chơi một lá bài từ bộ bài phụ của họ, họ sẽ không bị xử lý một lá bài mới và không thể chọn một hành động mới.
Chơi tiếp tục như vậy cho đến khi một người chơi thắng trò chơi. Các trò chơi được chơi trong ba phần năm tốt nhất.
Tại sao Pazaak "đơn giản"?
Trong vũ trụ Star Wars, Pazaak liên quan đến cờ bạc. Mặc dù việc đưa vào một hệ thống như vậy sẽ tăng thêm tính năng động cho trò chơi, nhưng nó hơi phức tạp đối với một cuộc thi KoTH lần đầu tiên.
Bộ bài phụ Pazaak "Real" cũng được cung cấp bởi chính người chơi và có thể bao gồm nhiều tùy chọn thẻ khác nhau như thẻ tiêu cực, thẻ tích cực hoặc tiêu cực, thẻ lật, thẻ đôi và thẻ tiebreaker. Những điều này cũng sẽ làm cho trò chơi thú vị hơn, nhưng sẽ yêu cầu một giao diện đánh bạc tại chỗ, và sẽ đòi hỏi nhiều hơn so với các đối thủ cạnh tranh. Trong trò chơi Pazaak đơn giản này, mỗi người chơi có cùng một bộ bài phụ: hai bản sao từ một đến năm, trong đó bốn bản được chọn ngẫu nhiên.
Tùy thuộc vào sự thành công của trò chơi này, tôi có thể nỗ lực phát triển một phiên bản nâng cao trong đó có thể đánh bạc và sàn phụ tùy chỉnh.
Những người chơi
Người chơi của trò chơi này sẽ là các bot do bạn thiết kế. Mỗi bot cần mở rộng lớp Người chơi, nhập gói Cơ học và nằm trong gói người chơi như sau:
package Players;
import java.util.Collection;
import Mechanics.*;
public class DemoPlayer extends Player {
public DemoPlayer() {
name = "Your Name Here";
}
public void getResponse(int wins[], boolean isPlayerOne,
Collection<Card> yourHand, Collection<Card> opponentHand,
Collection<Card> yourSideDeck, int opponentSideDeckCount,
Action opponentAction, boolean opponentDidPlay) {
action = null;
cardToPlay = null;
}
}
Mỗi vòng, bộ điều khiển sẽ gọi phương thức getResponse cho bot của bạn, trừ khi trước đó bot của bạn chỉ ra rằng nó muốn đứng. Phương thức getResponse có thể đặt hai thuộc tính: một hành động và một thẻ để chơi. Hành động có thể là một trong những điều sau đây:
- KẾT THÚC: Kết thúc lượt chơi và rút một lá bài mới vào lượt tiếp theo.
- TIÊU CHUẨN: Giữ nguyên giá trị tay hiện tại. Sẽ không rút thẻ.
- CHƠI: Chơi bài từ bộ bài bên cạnh rồi đứng.
Thẻ để chơi rõ ràng chỉ có tầm quan trọng nếu bạn đặt hành động thành CHƠI. Nó có một đối tượng Thẻ. Nếu đối tượng Thẻ bạn chuyển đến nó không tồn tại trong bộ bài phụ của bạn, bot của bạn sẽ CHUẨN thay thế.
Các thông số mà bot của bạn nhận được mỗi lượt là:
- Một mảng chứa chiến thắng của mỗi người chơi. thắng [0] là của Người chơi 1, thắng 1 là Người chơi 2 (int [])
- Có hay không bot của bạn là người chơi (boolean)
- Một bộ sưu tập các thẻ mà bạn đã được xử lý cho đến nay (Bộ sưu tập)
- Một bộ sưu tập các thẻ mà đối thủ của bạn đã được xử lý cho đến nay (Bộ sưu tập)
- Một bộ sưu tập các thẻ trong bộ bài phụ của bạn (Bộ sưu tập)
- Số lượng thẻ còn lại trong bộ bài phụ của đối thủ của bạn (int)
- Hành động mà đối thủ của bạn thực hiện lần cuối (Hành động) [Lưu ý: Điều này sẽ là HẾT hoặc TIÊU CHUẨN, không bao giờ CHƠI]
- Có hay không đối thủ của bạn đã chơi bài (boolean)
Quy tắc Bot
Các bot của bạn chỉ có thể sử dụng thông tin được cung cấp cho chúng thông qua phương thức getResponse. Họ không nên cố gắng tương tác với bất kỳ lớp nào khác. Họ có thể ghi vào một tệp duy nhất để lưu trữ dữ liệu giữa các vòng. Họ có thể có bất kỳ phương pháp tùy chỉnh, thuộc tính, vv như mong muốn. Họ nên chạy trong một khoảng thời gian hợp lý (nếu chương trình chạy không thực tế tức thời, tôi sẽ nhận thấy có gì đó không ổn).
Nếu bạn tìm thấy một số loại khai thác trong mã, bạn sẽ được thưởng cho việc "tự biến mình". Nếu tôi nhận thấy việc khai thác trước, tôi sẽ sửa nó và bạn sẽ không nhận được phần thưởng nào.
Trình diễn
Bộ điều khiển không cần thiết để viết bot, vì mọi thứ đã được giải thích trong bài viết này. Tuy nhiên, nếu bạn muốn thử nghiệm, nó có thể được tìm thấy ở đây: https://github.com/Ph PhantomJedi759/simplepazaak Hai bot cơ bản được bao gồm. Không nên giữ vững đối thủ trước một đối thủ "thông minh", vì họ chỉ chọn giữa END và STAND. Đây là một ví dụ về những gì họ làm:
New Game!
The standings are 0 to 0
Dumb Bold Player's Hand: []
Dumb Bold Player's new Hand: [2]
Dumb Bold Player has chosen to END
Dumb Cautious Player's Hand: []
Dumb Cautious Player's new Hand: [8]
Dumb Cautious Player has chosen to END
Dumb Bold Player's Hand: [2]
Dumb Bold Player's new Hand: [2, 8]
Dumb Bold Player has chosen to END
Dumb Cautious Player's Hand: [8]
Dumb Cautious Player's new Hand: [8, 3]
Dumb Cautious Player has chosen to END
Dumb Bold Player's Hand: [2, 8]
Dumb Bold Player's new Hand: [2, 8, 7]
Dumb Bold Player has chosen to END
Dumb Cautious Player's Hand: [8, 3]
Dumb Cautious Player's new Hand: [8, 3, 6]
Dumb Cautious Player has chosen to STAND
Dumb Bold Player's Hand: [2, 8, 7]
Dumb Bold Player's new Hand: [2, 8, 7, 6]
Dumb Bold Player has chosen to STAND
Dumb Cautious Player's Hand: [8, 3, 6]
Dumb Cautious Player has chosen to STAND
Dumb Bold Player has bombed out! Dumb Cautious Player wins!
Bởi vì các bot này hoàn toàn dựa vào sự may mắn của trận hòa, tỷ lệ thắng thua của chúng có thể thay đổi mạnh mẽ. Sẽ rất thú vị để xem làm thế nào kỹ năng có thể chống lại sự may mắn của trò chơi.
Đây nên là tất cả mọi thứ bạn cần! Đi xây dựng một số bot!
Làm rõ các quy tắc
Bộ bài chính là bốn mươi lá bài: 4x1-10 Nó được xáo trộn lại ở đầu mỗi bàn tay.
Bộ bài phụ của người chơi có bốn thẻ, được chọn ngẫu nhiên trong số 2x1-5. Bộ bài bên vẫn tồn tại giữa hai bàn tay.
Tay được chơi trong các trò chơi cho ba phần năm tốt nhất. Bots được tính dựa trên tổng số trò chơi đã thắng, và sau đó bằng tổng số ván bài.
Trận đấu được xử lý để mỗi người chơi sẽ phải chơi 100.000 trận đấu với mọi người chơi khác.
Trong Pazaak Cup, các vòng loại theo kiểu loại bỏ sẽ thu hẹp ai là bot Pazaak tốt nhất thực sự. Mỗi cặp bot sẽ chơi cho bốn trong số bảy bộ trò chơi tốt nhất. Bất cứ ai thắng bốn sẽ di chuyển lên các bậc thang cho đối thủ tiếp theo và những người thua cuộc sẽ ở lại để chiến đấu cho thứ hạng liên tiếp. Phong cách chơi này là công bằng nhất, vì các bot không thể "chiến thắng" một số đối thủ nhất định để bù đắp cho việc thiếu khả năng chống lại những người khác. Cup Pazaak sẽ được tổ chức vào thứ Sáu, ngày 3 tháng 7, với điều kiện có ít nhất tám bot được gửi. Người chiến thắng sẽ nhận được trạng thái Trả lời đúng và phần thưởng bắt đầu trong Advanced Pazaak, hy vọng sẽ sẵn sàng gần với cùng thời điểm khi Pazaak Cup được tổ chức.