>  기사  >  Java  >  Doudizhu 게임의 카드 섞기와 딜링 시스템을 Java로 구현하는 방법

Doudizhu 게임의 카드 섞기와 딜링 시스템을 Java로 구현하는 방법

PHPz
PHPz앞으로
2023-04-24 15:55:07975검색

    1. 집주인 싸움

    1. 소개

    저는 "도박의 신"을 본 학생이라면 누구나 그 안에 마법과 유사한 마법의 힘이 있다는 것을 알고 있다고 믿습니다.

    맞아요! 오늘 우리가 이야기할 마법 같은 것은: 특수 기능(????이 아님)

    그것은: 집주인의 카드 섞기와 딜링 시스템입니다! ! !

    2. 소개

    저는 많은 사람들이 고전적인 포커 게임 "Dudi Zhu"를 플레이할 수 있다고 믿습니다. 이번에는 Java 언어를 사용하여 Dou Landlord의 카드 섞기와 딜링 프로그램을 작성하겠습니다. Dou Landlord의 규칙에 따라 완료됩니다.

    카드 덱에는 총 54장의 카드가 있습니다. 카드는 모양과 숫자 또는 문자로 구성되어 있습니다. 각각 스페이드, 클럽, 다이아몬드, 하트를 나타내는 4가지 모양이 있습니다. ♛는 왕을 의미합니다.

    집주인 게임에는 세 명의 플레이어가 참여합니다. 먼저 54장의 카드를 섞은 다음 각 사람이 차례로 카드를 뽑습니다. 마지막으로 세 장의 카드가 홀 카드로 예약됩니다. 플레이어와 3장의 카드가 콘솔에 인쇄되어 있습니다.

    3. 일러스트레이션

    Doudizhu 게임의 카드 섞기와 딜링 시스템을 Java로 구현하는 방법

    2. 카드 준비

    다음 코드는 모두 main 메소드로 작성되었습니다! ! ! main方法中编写!!!

    1.代码示例

    //准备牌
            HashMap<Integer,String> map=new HashMap<>();
            ArrayList<Integer> list=new ArrayList<>();
            map.put(1,"大王");
            map.put(2,"小王");
            list.add(1);
            list.add(2);
    
            String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
            String[] colors={"♠","♥","♦","♣"};
    
            int index=3;
            for (String number : numbers) {
                for (String color : colors) {
                    map.put(index,number + color);
                    list.add(index);
                    index++;
                }
            }

    注:此处代码编写要导入两个包:

    import java.util.HashMap;

    import java.util.ArrayList;

    2.数据展示

    使用System.out.println(map);System.out.println(list);语句展示数据如下:

    {1=大王, 2=小王, 3=2♠, 4=2♥, 5=2♦, 6=2♣, 7=A♠, 8=A♥, 9=A♦, 10=A♣, 11=K♠, 12=K♥, 13=K♦, 14=K♣, 15=Q♠, 16=Q♥, 17=Q♦, 18=Q♣, 19=J♠, 20=J♥, 21=J♦, 22=J♣, 23=10♠, 24=10♥, 25=10♦, 26=10♣, 27=9♠, 28=9♥, 29=9♦, 30=9♣, 31=8♠, 32=8♥, 33=8♦, 34=8♣, 35=7♠, 36=7♥, 37=7♦, 38=7♣, 39=6♠, 40=6♥, 41=6♦, 42=6♣, 43=5♠, 44=5♥, 45=5♦, 46=5♣, 47=4♠, 48=4♥, 49=4♦, 50=4♣, 51=3♠, 52=3♥, 53=3♦, 54=3♣}
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54]

    三、洗发牌与排序

    代码示例

    	//洗牌
    	Collections.shuffle(list);
    	
    	//发牌
    	ArrayList<Integer> diPai=new ArrayList<>();
    	ArrayList<Integer> player1=new ArrayList<>();
    	ArrayList<Integer> player2=new ArrayList<>();
    	ArrayList<Integer> player3=new ArrayList<>();
    	
    	for (int i = 0; i < list.size(); i++) {
    	    if(i>=51){
    	        diPai.add(list.get(i));
    	    }else if(i%3==0){
    	        player1.add(list.get(i));
    	    }else if(i%3== 1){
    	        player2.add(list.get(i));
    	    }else {
    	        player3.add(list.get(i));
    	    }
    	}
    	//排序
        Collections.sort(diPai);
        Collections.sort(player1);
        Collections.sort(player2);
        Collections.sort(player3);

    注:此处代码编写要导入一个包:

    import java.util.Collections;

    四、看牌(打印到控制台)

    1.代码示例

    //看牌
        look("周润发",player1,map);
        look("刘德华",player1,map);
        look("周星驰",player1,map);
        look("底牌",diPai,map);

    其中,要创建一个 look

    1. 코드 예

      private static void look(String name, ArrayList<Integer> list, HashMap<Integer, String> map) {
            System.out.println(name+":");
            for (Integer number : list) {
                System.out.print(map.get(number)+" ");
            }
            System.out.println();
        }

    참고: 여기서 코드를 작성하려면 두 개의 패키지를 가져와야 합니다.

    import java.util.HashMap;

    import java.util.ArrayList;<br><br>2. 데이터 표시<br><br> <code>System.out.println(map);System.out.println(list); 문을 사용하여 다음과 같이 데이터를 표시합니다. :

    {1=대왕, 2=소왕, 3=2│, 4=2♥, 5=2︎, 6=2♣, 7=A│, 8=A♥, 9=A︎, 10 = A♣, 11=K♣, 12=K♥, 13=K♣, 14=K♣, 15=Q│, 16=Q♥, 17=Q︎, 18=Q♣, 19=J│, 20 = J♥, 21=J︎, 22=J♣, 23=10│, 24=10♥, 25=10︎, 26=10♣, 27=9│, 28=9♥, 29=9︎, 30 = 9♣, 31=8│, 32=8♥, 33=8│, 34=8♣, 35=7│, 36=7♥, 37=7│, 38=7♣, 39=6│, 40 = 6♥, 41=6♣, 42=6♣, 43=5│, 44=5♥, 45=5│, 46=5♣, 47=4│, 48=4♥, 49=4│, 50 = 4♣, 51=3│, 52=3♥, 53=3︎, 54=3♣}🎜[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38 , 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54]🎜🎜🎜3. 샴푸 카드와 분류🎜🎜코드 예시🎜rrreee🎜 참고: 여기 코드는 패키지를 가져와야 합니다: 🎜🎜import java.util.Collections;🎜🎜4 카드 확인(콘솔에 인쇄) 🎜🎜1 코드 예 🎜rrreee🎜Among look 메소드를 생성하려면: 🎜rrreee🎜2. Show 🎜🎜🎜주윤발: 🎜A♣ K♣ Q♥ Q♣ J♣ J︎ J♣ 10♥ 10︎ 10♣ 9 ♣ 6 │ 6 ︎ 5 ︎ 4 │ 3 │ 3 │ 🎜Andy Lau: 🎜A ♣ K ♣ Q ♥ J ♣ J ♣ J ♣ 10 ♥ 10 10 ♣ 9 6 6 6 5 4 치 3 ︎ │ 3︎ 🎜스티븐 차우: 🎜A♣ K♣ Q♥ Q♣ J♣ J︎ J♣ 10♥ 10︎ 10♣ 9│ 6│ 6︎ 5︎ 4︎ 3│ 3︎ 🎜핸드카드: 🎜2♥ A│ 7♣🎜🎜

    위 내용은 Doudizhu 게임의 카드 섞기와 딜링 시스템을 Java로 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제