public class Card {//扑克类
private String face;
private String suit;

// 牌面值和花色初始化
public Card(String face, String suit) {
this.face = face;
this.suit = suit;
}

// 输出牌面值和花色
public String toString() {
return suit + " " + face;
}

public String getFace() {
return face;
}

public String getSuit() {
return suit;
}

// 洗牌的方法
public static void xipai(Card[] deck) {
for (int first = 0; first < deck.length; first++) {

int second = (int) (Math.random() * 52);// 随机生成0-51的数字
Card temp = deck[first]; // 表示此类的变量是自己本身,也就是自己的一个对象。
deck[first] = deck[second];
deck[second] = temp;
}
}

// 发牌
public static void fapai(Card[] deck) {

Card A[] = new Card[52];
Card B[] = new Card[52];
Card C[] = new Card[52];
Card D[] = new Card[52];

for (int i = 0; i < deck.length; i += 4) {
A[i] = deck[i];
B[i] = deck[i + 1];
C[i] = deck[i + 2];
D[i] = deck[i + 3];
}
int count = 0;
System.out.print("A玩家持牌\t");
for (int i = 0; i < deck.length; i += 4) {

System.out.print(A[i] + "\t");
count++;
if (count % 13 == 0) {
System.out.println("");
}

}
System.out.print("B玩家持牌\t");
for (int i = 0; i < deck.length; i += 4) {
System.out.print(B[i] + "\t");
count++;
if (count % 13 == 0) {
System.out.println("");
}

}
System.out.print("C玩家持牌\t");
for (int i = 0; i < deck.length; i += 4) {
System.out.print(C[i] + "\t");
count++;
if (count % 13 == 0) {
System.out.println("");
}

}
System.out.print("D玩家持牌\t");
for (int i = 0; i < deck.length; i += 4) {
System.out.print(D[i] + "\t");
count++;
if (count % 13 == 0) {
System.out.println("");
}

}

}

}

//测试类

public class Demo {

public static void main(String[] args) {

String [] f={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String s[]={"黑桃","红桃","梅花","方块"};
Card deck[]=new Card[52]; //对象数组
for ( int i = 0; i < deck.length; i++ ) {
deck[ i ] = new Card( f[ i % 13 ], s[ i / 13 ] );//数组中的每一个对象必须分别进行实例化操作
//System.out.println(deck[i].toString());
}
//********************************——洗牌——********************************
Card gina[]=new Card[52];
Card.xipai(deck);
//洗牌后的序列
for ( int i = 0; i < deck.length; i++ ){
System.out.println(deck[i].toString());
}

System.out.println("***************************************************");
for ( int i = 0; i < gina.length; i++ ){
gina[i]=deck[i];
}

//********************************——发牌——********************************
Card.fapai(gina);
//发牌后的序列
for ( int i = 0; i < deck.length; i++ ){
System.out.println(gina[i].toString());
}

}

}

斗地主——扎金花——3DMark的更多相关文章

  1. 棋牌平台开发教程之扎金花大小比较算法在php中的实现

    PHP中扎金花比大小如何实现 在棋牌游戏中,不管是现实的还是线上的,扎金花无疑是最热门棋牌游戏之一,鄙人从小就酷爱扎金花,机缘巧合后面从事了IT行业,话不多说,直接进去正题吧. 扎金花两副牌的比较规则 ...

  2. 测开之路三十三:Flask实现扎金花游戏

    访问http://localhost:8888/game随机获取一张扑克牌.豹子(炸弹):三张点相同的牌.例:AAA.222.顺金(同花顺.色托):花色相同的顺子.例:黑桃456.红桃789.最大的顺 ...

  3. 200行代码搞定炸金花游戏(PHP版)

    <?php/* * 游戏名称:炸金花(又名三张牌.扎金花) * 开发时间:2009.1.14 * 编 程:多菜鸟 * 来 源:http://blog.csdn.net/kingerq/archi ...

  4. 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化

    联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...

  5. 2015最新iOS学习线路图

    iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...

  6. 晋城6397.7539(薇)xiaojie:晋城哪里有xiaomei

    晋城哪里有小姐服务大保健[微信:6397.7539倩儿小妹[晋城叫小姐服务√o服务微信:6397.7539倩儿小妹[晋城叫小姐服务][十微信:6397.7539倩儿小妹][晋城叫小姐包夜服务][十微信 ...

  7. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  8. 测开之路四十九:用Django实现扑克牌游戏

    用Django实现和之前flask一样的扑克牌游戏 项目结构 html <!DOCTYPE html><html lang="en"><head> ...

  9. 汕尾6397.7539(薇)xiaojie:汕尾哪里有xiaomei

    汕尾哪里有小姐服务大保健[微信:6397.7539倩儿小妹[汕尾叫小姐服务√o服务微信:6397.7539倩儿小妹[汕尾叫小姐服务][十微信:6397.7539倩儿小妹][汕尾叫小姐包夜服务][十微信 ...

随机推荐

  1. SUID, SGID, SBIT

    基本上SUID有这样的限制与功能: SUID权限仅对二进位程序(binaryprogram)有效,不能用在shellscript上面: 运行者对於该程序需要具有x的可运行权限: 本权限仅在运行该程序的 ...

  2. Head First Html and CSS学习笔记之HTML

    初学前端开发,记录下自己的学习笔记. 第一章 认识HTML 1:关于HTML HTML是超文本标记语言(HyperText Markup Language)的缩写,用来建立网页的结构. 它只会根据标记 ...

  3. Ternary Search Trees 三分搜索树

    经常碰到要存一堆的string, 这个时候可以用hash tables, 虽然hash tables 查找很快,但是hash tables不能表现出字符串之间的联系.可以用binary search ...

  4. 循序渐进Python3(十)-- 1 -- pymysql

    使用pymsql 模块操作数据库 #!/usr/bin/env python , ),()]), user='root', passwd='123456', db='test')# 创建游标curso ...

  5. [Zigbee]定时器1

    注意:在定时器可以使用一个输入/输出引脚之前,所需的 I/O 引脚必须配置为定时器 1 的外设引脚. 定时器1的引脚映射方案选用是备用2方案:P07对应通道3.P06-通道4.P12-通道0.P11- ...

  6. 文本提交带单引号引起mysql报错

    mysql插入数据时报错:MySQL server version for the right syntax to use near 'Microsoft YaHei', 经过反复测试,原因是提交的编 ...

  7. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. Expected one result (or null) to be returned by selectOne(), but found 2

    这个问题在于你查询sql返回结果是多个值.一个集合,但是你在service的实现层的dao都调用了.get方法.而是应该使用.getlist方法等.

  9. C# 对Access数据库操作的通用类

    (转载自博主Jerry很简单) //Access数据库-C# 操作类 代码using System;using System.Collections.Generic;using System.Linq ...

  10. 把vim当做golang的IDE

    开始决定丢弃鼠标,所以准备用vim了. 那么在vim里面如何搭建golang环境呢? git盛行之下,搭建vim环境是如此简单. 而且vim搭建好了之后,基本上跟IDE没有差别. 高亮.自动补全.自动 ...