java代码扑克 java扑克牌代码

java语言编程扑克牌

一:import java.util.Scanner;

成都创新互联公司作为成都网站建设公司,专注重庆网站建设公司、网站设计,有关企业网站制作方案、改版、费用等问题,行业涉及火锅店设计等多个领域,已为上千家企业服务,得到了客户的尊重与认可。

public class Play {

/**

* 玩牌

*/

public static void main(String[] args) {

Poker poker = new Poker();

boolean over = false;

Scanner cin=new Scanner(System.in);

while(!over){

System.out.println("打牌输入1,展示剩余牌输入其他字符:");

String c=cin.nextLine();

if("1".equals(c)){

int index = (int) (Math.random()*poker.getSize());

poker.remove(index);

}else{

poker.ShowPages();

}

}

/*for(int i = 0;i54;i++){

int index = (int) (Math.random()*poker.getSize());

poker.remove(index);

poker.ShowPages();

}

*/

}

}二://牌

public class Page { private String huase = "";

private String haoma = "";

public Page(String huase,String haoma){

this.huase = huase;

this.haoma = haoma;

}

public String show(){

return this.huase+this.haoma;

}

}三:import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

/**

* 一副扑克

*/

public class Poker {

private List pages = new ArrayList();

public Poker(){

String huase[] = new String[]{"黑桃","红桃","草花","方块"};

String haoma[] = new String[]{"A","2","3","4","5","6","7","8"燃清,"皮侍前9","10"

,"J","Q","K"};

for(int i = 0;i谈拿haoma.length;i++){

for(int j = 0;jhuase.length;j++){

pages.add(new Page(huase[j],haoma[i]));

}

}

pages.add(new Page("","大王"));

pages.add(new Page("","小王"));

}

public void ShowPages(){

System.out.println("展示剩余牌:");

for(Iterator i = pages.iterator();i.hasNext();){

System.out.println(((Page)i.next()).show());

}

}

//打牌

public void remove(int index){

pages.remove(index);

}

//剩余牌数

public int getSize(){

return pages.size();

}

}

java作业:随机出现一张扑克牌。包括花色和点数。【不算大王和小王】怎么写

public class PokerTest {

public static void main(String[] args) {

Poker.show();

}

}

class Poker {

public int num;

public String breed;

public Poker() {

}

public static void show() {

int i = (int) (Math.random() * 13) + 1;// 生成1-13的随机数

String[] s = new String[] { "红心", "黑桃", "方块", "黑花" };

int j = (int) (Math.random() * 4);

Poker 袭慧模p = new Poker();

p.num = i;

p.breed = 拍缓s[j];

System.out.println(p.toString());

}

@Override

public String toString() {

return "碧蔽Poker [num=" + num + ", breed=" + breed + "]";

}

}

用JAVA写个代码,实现52张牌随机分给四个人

java内的Collections类自侍亩带了一个shuffle洗牌算法。

static void shuffle(List? list)

使用默认随机老知森源对指定列表进行置换。

static void shuffle(List? list, Random rnd)

使用指定的随机源对指定列表进猛简行置换。

现在你可以把52张牌放进一个List里,调用他的shuffle算法打乱顺序。

高分急求java扑克出牌代码

我不知道电脑出牌为什么要进行大小比较以及删牌操作? 我的是52张牌若干玩家,随机发牌给玩家,玩家收到电脑发的牌。

这个是定义52张牌:Card.java

package com.etc.week4.day03;

public class Card {

// 点数 3 ---0 4 1 12 2 11 A 13 小王 14 大王磨扒

public int rank;

public final static int THREE = 0;

public final static int FOUR = 1;

public final static int FIVE = 2;

public final static int SIX = 3;

public final static int SEVEN = 4;

public final static int EIGHT = 5;

public final static int NINE = 6;

public final static int TEN = 7;

public final static int JACK = 8;//J

public final static int QUEEN = 9;//Q

public final static int KING = 10;//K

public final static int ACE = 11;//A

public final static int DEUCE = 12; //2

public final static int BLACK = 13; //小王

public final static int COLOR = 14;//大王

//花色(suit=0suit=4)

private int suit;

public final static int CLUB = 0; //梅花

public static final int DIAMOND = 1; //方块(钻石)

public static final int HEART = 2; //红桃(红此岁心)

public static final int SPADE = 3; //黑桃(花锄)

public static final int JOKER = 4; //王

public Card(int suit,int rank){

this.setSuit(suit);

this.setRank(rank);

}

public Card(){}

public int getRank() {

return rank;

}

public void setRank(int rank) {

if(rankCard.THREE||rankCard.COLOR){

throw new RuntimeException();

}

this.rank = rank;

}

public int getSuit() {

return suit;

}

public void setSuit(int suit) {

if(suitCard.CLUB || suitCard.JOKER){

throw new RuntimeException();

}

this.suit = suit;

}

// 点数对应 名称

public final static String[] RANK_NAMES={

"3","4","5","6","7","8","9","10","J","Q",

"K","A","2","小王"瞎扒昌,"大王"};

public final static String[] SUIT_NAMES={

"梅花","方块","红桃","黑桃",""};

@Override

public String toString() {

return SUIT_NAMES[this.suit]+RANK_NAMES[this.rank];

}

public static void main(String[] args) {

Card c =new Card(HEART, ACE);

System.out.println(c);

}

}

这个是定义若干玩家Player.java

package com.etc.week4.day03;

import java.util.Arrays;

public class Player {

String id;

String name;

Card cards[] ={};

public void addCards(Card card ){

// 每个玩家获取的牌

cards = Arrays.copyOf(cards, cards.length+1);

cards[cards.length-1] = card;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Card[] getCards() {

return cards;

}

public void setCards(Card[] cards) {

this.cards = cards;

}

public Player(String id, String name) {

this.id = id;

this.name = name;

}

public Player() {

super();

}

@Override

public String toString() {

return "Player:"+name+" cards="

+ Arrays.toString(cards) + "]";

}

}

这个是电脑随机发牌给玩家,玩家收到电脑发的牌PlayDemo.java

package com.etc.week4.day03;

import java.util.Arrays;

import java.util.Random;

public class PlayerDemo {

public static void main(String[] args) {

// 创建一副扑克牌

// 方块:13张(THREE~DEUCE)

// 梅花:13张(THREE~DEUCE)

// 黑桃:13张(THREE~DEUCE)

// 红桃:13张(THREE~DEUCE)

// 王: BLACK COLOR

Card [] cards = new Card[54];

int i=0;

// 构造52张普通的牌

for(int rank=Card.THREE;rank=Card.DEUCE;rank++){

cards[i++] = new Card(Card.DIAMOND, rank);

cards[i++] = new Card(Card.CLUB, rank);

cards[i++] = new Card(Card.SPADE, rank);

cards[i++] = new Card(Card.HEART, rank);

}

// 添加 大小王

cards[i++] = new Card(Card.JOKER, Card.BLACK);

cards[i++] = new Card(Card.JOKER, Card.COLOR);

// 将数组 变成集合 List

// List arr= Arrays.asList(cards);

// 将集合里面的元素 打乱... 洗牌

//Collections.shuffle(arr);

// 洗牌//

for(int n=cards.length-1;n=1;n--){

Random rd = new Random();

int index = rd.nextInt(n); //1 0

Card t = cards[n];

cards[n] = cards[index];

cards[index] = t;

}

// System.out.println("=====测试洗牌.....\n"+Arrays.toString(cards));

// 组建玩家团队

Player[] players = new Player[4];

players[0] = new Player("1010", "张柏芝");

players[1] = new Player("1011", "曾志伟");

players[2] = new Player("1012", "谭咏麟");

// players[3] = new Player("1013", "郭德纲");

// 发牌.....

for(int j =0;jcards.length;j++){

players[j%players.length].addCards(cards[j]);

}

// 显示各个玩家的牌

for(int m=0;mplayers.length;m++){

System.out.println(players[m]);

}

}

}


文章题目:java代码扑克 java扑克牌代码
文章网址:http://hbruida.cn/article/ddpjcgj.html