자바 간단하게 두 지주 발 패 기능 실현
5677 단어 자바지주 와 싸우다카드 를 발급 하 다
질문:
두 지주 의 게임 규칙 을 참고 하여 카드 를 보 내 는 기능(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();
}
}
결실이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.