자바 는 두 지주 의 카드 발급 기능 을 실현 한다.
5619 단어 자바지주 와 싸우다카드 를 발급 하 다
먼저,두 지 주 는 포커 와 게이머 가 있어 야 게임 을 시작 할 수 있 습 니 다.그래서 여기 서 우 리 는 먼저 카드 실체 류 와 게이머 실체 류 를 만들어 야 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
먼저 Poker 클래스 입 니 다.포인트,색상 과 정렬 속성 을 포함 하고 크 고 작은 왕 후에 추가 합 니 다.여기 서 우 리 는 Comparable 인 터 페 이 스 를 실현 하고 편리 한 후에 정렬 해 야 합 니 다.
public class Poker implements Comparable<Poker>{
private String flower;
private String pointer;
private int sort;
public Poker() {
}
public Poker(String flower, String pointer, int sort) {
super();
this.flower = flower;
this.pointer = pointer;
this.sort = sort;
}
public String getFlower() {
return flower;
}
public void setFlower(String flower) {
this.flower = flower;
}
public String getPointer() {
return pointer;
}
public void setPointer(String pointer) {
this.pointer = pointer;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
@Override
public String toString() {
return flower +"-" + pointer;
}
@Override
public int compareTo(Poker a) {
return this.getSort() - a.getSort();
}
}
그 다음 에 Player 클래스 입 니 다.여기 서 우 리 는 속성 이 id,유저 이름과 유저 의 카드 와 지주 여 부 를 정의 합 니 다.
import java.util.ArrayList;
public class Player {
private int id;
private String name;
private ArrayList<Poker> pokers = new ArrayList<>();
private boolean boss;
public Player() {
}
public Player(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<Poker> getPokers() {
return pokers;
}
public void setPokers(ArrayList<Poker> pokers) {
this.pokers = pokers;
}
public boolean isBoss() {
return boss;
}
public void setBoss(boolean boss) {
this.boss = boss;
}
}
실체 류 가 만들어 진 후에 우 리 는 기능 을 실현 해 야 한다.먼저 우리 가 실현 하고 자 하 는 기능 을 간단하게 서술 하 자.먼저 우 리 는 54 장의 완전한 패 를 요구 한 다음 에 카드 를 뒤 섞 어야 한다.(여기 서 우 리 는 Collections 안의 정태 적 인 shuffle 방법 으로 실현 한다)그리고 세탁 한 패 에 따라 51 장 을 보 내 고 무 작위 지 주 를 보 내 고 나머지 세 장의 패 를 지주 에 게 준다.세 명의 유저 의 패 를 모두 크기 에 따라 표시 합 니 다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class PokerGame {
/** */
static List<Player> players;
static ArrayList<Poker> list = new ArrayList<>();
static String[] flowers = {" "," "," "," "};
static String[] pointers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
int bossIndex;
static{
for(int i = 0;i < flowers.length;i++){
for(int j = 0;j < pointers.length;j++){
Poker p = new Poker(flowers[i],pointers[j],j);
list.add(p);
}
}
list.add(new Poker(" "," ",13));
list.add(new Poker(" "," ",14));
players = Arrays.asList(
new Player(1," "),
new Player(2," "),
new Player(3," ")
);
}
/** */
public void pushBoss(){
/** , */
Random r = new Random();
bossIndex = r.nextInt(players.size());
players.get(bossIndex).setBoss(true);
}
/** */
public void XiPai(){
/** Collections */
Collections.shuffle(list);
}
/** */
public void FaPai(){
/** 51 */
for(int i = 0;i < 51;i+=3){
players.get(0).getPokers().add(list.get(i));
players.get(1).getPokers().add(list.get(i+1));
players.get(2).getPokers().add(list.get(i+2));
}
/** */
for(int j = 51;j < 54;j++){
players.get(bossIndex).getPokers().add(list.get(j));
}
}
/** */
public void PaiXu(){
/** Collections sort */
Collections.sort(players.get(0).getPokers());
Collections.sort(players.get(1).getPokers());
Collections.sort(players.get(2).getPokers());
}
/** */
public void start(){
pushBoss();
XiPai();
FaPai();
PaiXu();
for(Player p:players){
System.out.println(p.getPokers());
}
}
}
구체 적 인 실현 을 살 펴 보 자.
public class Test {
public static void main(String[] args) {
new PokerGame().start();
}
}
결 과 는 다음 과 같다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.