斗地主——扎金花——3DMark

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());
}

}

}

时间: 2024-10-07 22:54:56

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

[编程题-搜狐]扎金花

[编程题] 扎金花 两个搜狐的程序员加了一个月班,终于放假了,于是他们决定扎金花渡过愉快的假期 . 游戏规则: 共52张普通牌,牌面为2,3,4,5,6,7,8,9,10,J,Q,K,A之一,大小递增,各四张: 每人抓三张牌.两人比较手中三张牌大小,大的人获胜. 对于牌型的规则如下: 1.三张牌一样即为豹子 2.三张牌相连为顺子(A23不算顺子) 3.有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在牌型一样时,比较牌型数值大小(如AAA>KKK,QAK>534,QQ2

扎金花大小比较算法(Java版)

注:以下算法说明仅限一副牌(不包含大小王)的情况 1.扎金花规则说明(大家都懂的,这里做简单描述): 1)玩家每人3张牌: 2)牌面大小2.3.4.5.6.7.8.9.10(用T表示),J.Q.K.A,大小依次递增: 3)牌的花色有黑桃(用H表示).红心(用X表示).梅花(用M表示).方块(用F表示),大小依次递减: 4)牌有豹子(3张牌数字大小相同).同花顺.同花(此种未实现,有兴趣的玩家可以自己加上,或者欢迎和我交流).顺子.对子.散牌几种类型,大小依次递减: 5)玩家先比牌的类型,如先按照

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

PHP中扎金花比大小如何实现 在棋牌游戏中,不管是现实的还是线上的,扎金花无疑是最热门棋牌游戏之一,鄙人从小就酷爱扎金花,机缘巧合后面从事了IT行业,话不多说,直接进去正题吧. 扎金花两副牌的比较规则就不说了,注明一下是顺子的时候 : JQK < A23 < QKA 下面是个人一点建议,供大家参考!(有哪里不对的欢迎指教 棋牌平台开发: www.yasewl.com) 思路:扎金花 1. 随机生成两幅牌,每副牌结构为 复制代码 代码如下:array( array('Spade','K'), a

关于扎金花php版

目的:完成炸金花游戏,判断3人中的牌谁最大 思路: 制作1副扑克牌,不包括大小王 为每个人发牌,每个牌唯一 计算每张牌的大小 比较每张牌的大小 扑克牌 分析,4种花色,每种花色13张牌 1 public $cards =array(); 2 3 /** 4 * 生成扑克牌 5 */ 6 public function __construct() 7 { 8 //花色 黑桃 红桃 梅花 方块 9 $hua = array('黑桃','红桃','梅花','方块'); 10 //牌面 11 $shu

Java 小游戏:扎金花

当所有人都拿到3张牌之后,需要比较所有人的牌的大小,这时分为下面几步完成   1) 将一手牌按从大到小的顺序重新排列并计算出当前一手牌的牌型.   2)比较所有参与人的牌,先比较牌型,如果牌型相同再比较点数和花色.1)先完成一手牌的排列和计算牌型 Yarborough.java package com.entity; import com.utils.CardUtils; /** * 一手牌 * @author Administrator * */ public class Yarborough

搜狐笔试题之扎金花

题目描述: 共52张牌,牌面为2,3,4,5,6,7,8,9,10,J,Q,K,A,大小递增,各四张:每人抓三张牌.两人比较手中三张牌大小,大的人获胜 牌型如下: 三张一样的为豹子 三张牌相连为顺子(A23不算) 有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在比较牌型数值大小时(如AAA>KKK,QAK>534,QQ2>10104)在二人均无特殊牌型时,依次比较三张牌中最大的,大的人获胜,若最大的牌一样,则比较第二大,以此类推 若两人牌面相同,则为平局(dra

棋牌平台制作教程之php中的炸金花大小比较算法

PHP中扎金花比大小如何实现 在棋牌游戏中,不管是现实的还是线上的,炸金花无疑是最热门棋牌游戏之一,鄙人从小就酷爱炸金花,机缘巧合后面从事了IT行业,话不多说,直接进去正题吧. 炸金花两副牌的比较规则就不说了,注明一下是顺子的时候 : JQK < A23 < QKA 思路:炸金花下面是个人一点建议,供大家参考!(有哪里不对的欢迎指教 棋牌平台定制: www.yasewl.com) 1. 随机生成两幅牌,每副牌结构为 复制代码 代码如下:array(      array('Spade','K'

Lua中调用 cocos2d-x 的滑动条/滚动条 ScrollView

 ScrollView 我想玩儿过手机的朋友对滑动条都不陌生吧,(旁边: 这不是废话么???? )   那好吧,废话不多说直接开始ScrollView吧 local m_BaseNode  -- 主场景 local CreateScroll    -- 房间分级滑动视图 local CreateStageNode   -- 创建节点 local m_ScrollView              -- 滑动层变量 local m_Inner     -- 内容器 local addScrol

2015最新iOS学习线路图

iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位. iOS学习路线:http://www.mobiletrain.org/page/ios.html 课程分  类 课程模块 模块介绍 课程内容 Part1C语言 C语言和Objective-C语言 C语言 Mac系统及常用工具.进制:C数据