자바 는 두 지주 의 카드 발급 기능 을 실현 한다.

두 지 주 는 전국 적 으로 데스크 톱 게임 입 니 다.전국 적 으로 다양한 유형 에 도 불구 하고 대동소이 합 니 다.오늘 은 두 지주 의 카드 발급 기능 을 실현 하고 프로그램의 가 독성 과 확장 성 을 위해 대상 을 대상 으로 하 는 방법 으로 이 기능 을 실현 합 니 다.
먼저,두 지 주 는 포커 와 게이머 가 있어 야 게임 을 시작 할 수 있 습 니 다.그래서 여기 서 우 리 는 먼저 카드 실체 류 와 게이머 실체 류 를 만들어 야 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
먼저 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();
 }
 
}
결 과 는 다음 과 같다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기