자바 카드 배포 기능 실현
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)));
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.