자바 간단하게 두 지주 발 패 기능 실현

본 논문 의 사례 는 자바 가 간단하게 두 지주 가 패 를 발급 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
질문:
두 지주 의 게임 규칙 을 참고 하여 카드 를 보 내 는 기능(54 장의 카드,점수,색깔 을 고려 합 니 다.3 명의 유저,그 중 지주 가 기타 유저 보다 3 장의 카드 가 많 음)
다음 기능 을 실현 하도록 요구 합 니 다.
1.카드 세탁
2.카드 발급(일반적인 방식 에 따라 A-B-C-A-B-C-A-C-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A
3.유저 가 가지 고 있 는 카드 의 전시(포인트 에 따라 순 서 를 정 해 야 함)
분석 하 다.
대상 을 대상 으로 하 는 프로 그래 밍 사 고 를 활용 하여 카드,게이머 와 게임 세 부분 으로 나 누고 카드 류 의 속성 은 무늬,포인트,순서 가 있다.유저 류 속성 은 유저 id,닉네임,지주,패 의 집합 여부;게임 과정 은 카드 를 섞 고 랜 덤 으로 지 주 를 만 들 고 카드 를 보 내 며 카드 의 순 서 를 완성 하 며 게이머 가 가지 고 있 는 카드 전시 기능 으로 나 뉜 다.
프로그램 구현

package com.lesson17.homework;

/**
 * @author HUC
 *
 */

/**   */
public class Poker {

 /**      */
 private String flower;
 /**      */
 private String pointer;
 /**      */
 private int sort;

 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;
 }

package com.lesson17.homework;
   
public class Player {

 /**   id */
 private int id;
 /**      */
 private String name;
 /**        */
 private ArrayList<Poker> pokers = new ArrayList<>();
 /**        */
 private boolean boss;

 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;
 }

package com.lesson17.homework;

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 washPoker(){
  Collections.shuffle(list);
 }
 
 /**    */
 public void pushBoss(){
  Random r = new Random();
  bossIndex = r.nextInt(players.size());
  //            
  players.get(bossIndex).setBoss(true);
 }
 

 /**    */
 public void pushPoker(){
  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 i = 51;i < 54 ;i++){
   //       (3 )     
   players.get(bossIndex).getPokers().add(list.get(i));
  }
 }
 
 /**  */
 public void sortPoker() {
  Collections.sort(players.get(0).getPokers(), (a,b)->a.getSort()-b.getSort());
  Collections.sort(players.get(1).getPokers(), (a,b)->a.getSort()-b.getSort());
  Collections.sort(players.get(2).getPokers(), (a,b)->a.getSort()-b.getSort());
 }
 
 public void start(){
  //    
  pushBoss();
  //  
  washPoker();
  //  
  pushPoker();
  //  
  sortPoker();
  //   
  for(Player p : players){
   System.out.println(p.getPokers());
  }
 }
 
 public static void main(String[] args) {
  new PokerGame().start();
 }
}
결실


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

좋은 웹페이지 즐겨찾기