자바 카드 배포 기능 실현

3694 단어 자바포커
본 논문 의 사례 는 자바 가 포커 배 포 를 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
3 인 투 지주 의 카드 배포 기능 을 실현 하 다.
생각:
1.54 장의 카드 를 준비 합 니 다.
2.카드 세탁
3、카드 를 유저 에 게 나 누 어 줍 니 다
4.각 선수 의 카드 와 지주 의 비장의 카드 를 살 펴 본다.
사고방식 보충:먼저 두 개의 화색 과 숫자의 그룹 을 만 들 고 하나의 List 집합 과 Map 집합 을 만 들 고 이중 for 순환 을 이용 하여 화색 과 숫자 를 52 장의 카드 로 조합 한 다음 에 각각 Map 집합 에 추 가 된 value 값 에서 Map 의 key 값 은 0-51 로 표시 하고 이중 for 순환 과 동시에 0-51 의 값 을 List 집합 에 순서대로 부여 한다.순환 이 끝 난 후 순서대로 대왕,왕 군 을 맵 집합 에 넣 은 value 에 대응 하 는 key 값 을 52 와 53 으로 표시 하고 52 와 53 의 값 을 List 집합 에 부여 해 야 하 며 이때 모든 패 그룹 이 준 비 를 마 쳤 다.
각각 네 개의 새 List 집합 을 만 들 고 번 호 를 저장 하 는 List 집합 중의 번 호 를 어 지 럽 힌 후에 게이머 에 게 나 누 어 주 며 마지막 으로 세 장의 비장의 카드 를 남 겨 그들 이 대응 하 는 List 집합 에 추가 합 니 다.
각각 세 명의 유저 와 베이스 카드 의 번호 집합 을 옮 겨 다 니 며 옮 겨 다 니 는 수 치 를 맵 의 get 방법의 key 값 에 가 져 와 상대 적 으로 받 아야 할 value 값(즉 대응 하 는 카드)을 얻 은 다음 에 value 값 을 게이머 에 게 해당 하 는 번호 값 에 부여 합 니 다.
마지막 으로 세 명의 유저 와 베이스 카드 에 대응 하 는 List 집합 출력 을 인쇄 하면 그들 이 나 누 어 진 패 를 볼 수 있다.
구체 적 인 코드 는 다음 과 같다.

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class TestPokerPlus {

 public static void main(String[] args) {
  //1.       
  //  map  ,        list    
  List list = new ArrayList();
  HashMap<Integer,String> map = new HashMap<Integer,String>();
  //       JQK          map 
  String[] color = {"♥","♦","♠","♣"};
  String[] number = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
  int num = 0;//     
  for(int i = 0 ;i< number.length;i++){
   for(int j = 0 ;j< color.length;j++){
    map.put(num,color[j]+number[i]);
    list.add(num);
    num++;
   }
  }
  //        52,53    ,   map     “  ”、“  ”   
  list.add(list.size());
  list.add(list.size());
  //     、     
  map.put(list.size()-2,"  ");
  map.put(list.size()-1,"  ");

  //2.  
  //       
  Collections.shuffle(list);

  //3.  
  //           
  List player1 = new ArrayList();
  List player2 = new ArrayList();
  List player3 = new ArrayList();
  List cards = new ArrayList();
  //      
  for(int i = 0 ;i<list.size();i++){
   if(i<list.size()-3){
    if(i % 3 == 1){
     player1.add(list.get(i));
    }else if(i % 3 == 2){
     player2.add(list.get(i));
    }else{
     player3.add(list.get(i));
    }
   }else{
    cards.add(list.get(i));
   }
  }
  //          
  Collections.sort(player1);
  Collections.sort(player2);
  Collections.sort(player3);
  Collections.sort(cards);
  //   3                map                 
  boardAssignment(map, player1);
  boardAssignment(map, player2);
  boardAssignment(map, player3);
  boardAssignment(map, cards);

  //4.  
  //             
  System.out.println(player1);
  System.out.println(player2);
  System.out.println(player3);
  System.out.println(cards);
 }

 private static void boardAssignment(HashMap<Integer, String> map,List list) {
  for(int i = 0;i < list.size();i++){
   list.set(i, map.get(list.get(i)));
  }
 }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기