Pazaak 은 스타 워즈 세계의 카드 게임입니다. 블랙 잭과 비슷하며, 두 명의 플레이어가 서로를 상대하지 않고 총 20 명을 기록하려고합니다. 각 플레이어는 자신의 4 장의 "사이드 데크"를 가지고 있으며, 점수를 수정하는 데 사용할 수 있습니다.
리더 보드
2015 년 6 월 17 일 현재 16:40 EDT
편집 : Neptor는 부정 행위로 실격되었습니다. 점수는 가능한 빨리 수정됩니다 ...
- NEPTR : ~ 424,000
- 신시내티 키드 : ~ 422,000
- 네스터 : ~ 408,000
- 오스틴 파워 : ~ 405,000
- 바스 티야 : ~ 248,000
- 멍청한주의 플레이어 : ~ 107,000
- 벙어리 굵은 체 플레이어 : ~ 87,000
모의 파 자크 컵 플레이 오프
가능한 빨리 업데이트됩니다.
Round One-Nestor vs Bastila & Austin Powers vs 신시내티 키드
라운드 2-네스터 vs 오스틴 파워 & 신시내티 키드 vs 바스 티야
역학
게임 플레이는 교대로 이루어집니다. 플레이어 1은 메인 (하우스) 덱에서 카드를받습니다. 하우스 데크에는 40 장의 카드가 있습니다. 1부터 10까지 4 장. 카드를받은 후에는 차례를 끝내고 다음 턴에 새 카드를 받거나 현재 가치를 유지하거나 사이드 데크에서 카드를 낼 수 있습니다. 새로운 가치에 서십시오. 플레이어 1이 원하는 것을 결정한 후, 플레이어 2는 프로세스를 반복합니다.
두 선수가 모두 나면 손이 평가됩니다. 한 플레이어가 폭탄을 터뜨린 경우 (20 명 이상) 다른 플레이어도 폭탄을 터뜨리지 않은 상태에서 승리합니다. 한 플레이어가 서서 다른 플레이어의 핸드 값이 높으면 다른 플레이어가 승리합니다. 두 선수가 모두 서기로 선택하면 손값이 높은 선수가 승리합니다. 동점 일 경우 어느 선수도 승리하지 않습니다.
당첨 조건이 충족되지 않으면 경기가 반복됩니다. 플레이어가 턴을 끝내기로 선택하면 새로운 카드를 받고 새로운 것을 선택할 수 있습니다. 그들이 서기로 선택했거나 사이드 데크에서 카드를 사용했다면, 새로운 카드를받지 못하고 새로운 행동을 선택할 수 없습니다.
한 명의 플레이어가 게임에서 이길 때까지 계속 플레이합니다. 게임은 최고 3/5 세트로 진행됩니다.
왜 "간단한"파 자크?
스타 워즈 세계에서 파자 크는 도박을했다. 이러한 시스템을 포함 시키면 게임에 역 동성을 더 추가 할 수 있지만, 처음 KoTH 경쟁에는 약간 복잡합니다.
"실제"Pazaak 사이드 데크는 또한 플레이어들에 의해 제공되었으며, 네거티브 카드, 포지티브 또는 네거티브 카드, 플립 카드, 더블 카드 및 타이 브레이커 카드와 같은 다양한 카드 옵션을 포함 할 수 있습니다. 이것들은 또한 게임을 더욱 흥미롭게 만들지 만, 도박 인터페이스가 필요하고 경쟁자보다 훨씬 더 많이 필요합니다. 이 Simple Pazaak 게임에서 각 플레이어는 동일한 사이드 데크를 얻습니다.
이 게임의 성공 여부에 따라 도박 및 맞춤형 사이드 데크가 가능한 고급 버전을 개발하려는 노력을 기울일 수 있습니다.
선수들
이 게임의 플레이어는 귀하가 디자인 한 봇이됩니다. 각 봇은 Player 클래스를 확장하고 Mechanics 패키지를 가져 와서 다음과 같이 플레이어 패키지에 상주해야합니다.
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;
}
}
봇이 이전에 서고 싶다고 표시하지 않는 한 컨트롤러는 봇에 대해 getResponse 메소드를 호출합니다. getResponse 메소드는 액션과 재생할 카드의 두 가지 속성을 설정할 수 있습니다. 조치는 다음 중 하나 일 수 있습니다.
- 끝 : 턴을 끝내고 다음 턴에 새 카드를받습니다.
- 스탠드 : 현재 핸드 값을 유지합니다. 카드를 뽑지 않습니다.
- PLAY : 사이드 데크에서 카드를 재생 한 다음 서 있습니다.
액션을 PLAY로 설정 한 경우 재생할 카드는 분명히 중요합니다. Card 객체를받습니다. 전달한 카드 개체가 사이드 데크에 존재하지 않으면 봇이 대신 서 있습니다.
봇이 매 차례받는 파라미터는 다음과 같습니다.
- 각 플레이어의 승리를 포함하는 배열입니다. wins [0]은 플레이어 1이고 wins 1 은 플레이어 2입니다 (int [])
- 봇이 플레이어 1인지 여부 (부울)
- 지금까지 처리 한 카드 모음 (컬렉션)
- 상대방이 지금까지 처리 한 카드 모음 (컬렉션)
- 사이드 데크에있는 카드 모음 (컬렉션)
- 상대방의 덱에 남아있는 카드 수 (int)
- 상대방이 마지막으로 한 행동 (Action) [참고 : 이것은 END 또는 STAND, 절대로 PLAY되지 않습니다]
- 상대가 카드를했는지의 여부 (부울)
봇 규칙
봇은 getResponse 메소드를 통해 제공된 정보 만 사용할 수 있습니다. 그들은 다른 수업과 상호 작용하려고 시도해서는 안됩니다. 라운드 사이에 데이터를 저장하기 위해 단일 파일에 쓸 수 있습니다. 이들은 원하는대로 임의의 커스텀 방법, 속성 등을 가질 수있다. 적절한 시간 내에 실행해야합니다 (프로그램 실행이 실제로 즉각적이지 않은 경우 문제가 있음을 알 수 있습니다).
코드에서 어떤 종류의 악용을 발견하면 "자신을 켜는"것에 대한 보상을받습니다. 익스플로잇을 먼저 발견하면 문제를 해결하고 보상을받지 않습니다.
시민
이 글에서 이미 설명했듯이 컨트롤러는 봇을 작성할 필요가 없습니다. 그러나 테스트하려는 경우 여기에서 찾을 수 있습니다. https://github.com/PhantomJedi759/simplepazaak 두 개의 기본 봇이 포함되어 있습니다. "지능적"인 상대방은 END와 STAND 중 하나만 선택할 수 있으므로 잘 견뎌내서는 안됩니다. 다음은 그들이하는 일의 샘플 실행입니다.
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!
이 봇은 추첨의 운에 전적으로 의존하기 때문에 승패 비율이 크게 달라질 수 있습니다. 기술이 어떻게 게임의 운에 맞서 싸울 수 있는지 보는 것은 흥미로울 것입니다.
이것은 당신이 필요로하는 모든 것이어야합니다! 봇을 만들어보세요!
규칙에 대한 설명
메인 데크는 40 장의 카드입니다 : 4x1-10 각 핸드의 시작 부분에 다시 섞입니다.
플레이어의 사이드 데크에는 2x1-5 중에서 무작위로 선택된 4 장의 카드가 있습니다. 측면 데크는 손 사이에 유지됩니다.
손은 5 분의 3을 최고로하는 게임에서 진행됩니다. 봇은 승리 한 총 게임 수와 총 핸드 수를 기준으로 점수가 매겨집니다.
각 플레이어는 다른 모든 플레이어에 대해 100,000 개의 게임을해야합니다.
Pazaak Cup에서 제거 스타일 라운드는 최고의 Pazaak 봇이 누구인지 좁 힙니다. 각 봇 쌍은 10 만 개의 게임 중 최고 4-7 세트를 위해 경기합니다. 4 승을 한 사람은 다음 상대로 사다리를 올라가고 패자는 순서대로 순위를 놓고 전투를 계속합니다. 봇은 특정 상대가 다른 상대에 대한 능력 부족을 보상하기 위해 "윈 팜"할 수 없기 때문에이 스타일의 게임 플레이는 가장 공정합니다. Pazaak Cup은 최소 8 개의 봇이 제출 된 경우 7 월 3 일 금요일에 개최됩니다. 승자는 정답 상태와 고급 파 자크에서 시작 보너스를 받게되며, 파 자크 컵이 열리는 시간과 거의 같은 시간에 준비 될 것입니다.