关于扑克游戏怎样办里新号

简易扑克牌游戏,写的略长了点,花了一下午,给大家看一下
游戏开始:O(∩_∩)O哈哈~package imooc.
import java.util.ArrayL
import java.util.C
import java.util.L
import java.util.S
* 可改变玩家数量和玩家手牌数
* 根据手牌中最大牌进行简单大小比较
public class Test {
public static void main(String[] args) {
System.out.println("--------产生一副扑克牌--------");
List&Pocker& pockers = Pocker.createPocker();
System.out.println("--------扑克牌创建成功--------");
System.out.println(pockers.toString());
System.out.println("--------开始洗牌--------");
Collections.shuffle(pockers);
System.out.println("--------洗牌结束--------");
System.out.println(pockers.toString());
System.out.println("--------创建玩家--------");
Scanner scanner = new Scanner(System.in);
List&Player& players = new ArrayList&Player&();
int handCardNum = 3;
int playerNum = 2;
while (true) {
System.out.println("请输入玩家数量:");
playerNum = scanner.nextInt();
for (int i = 0; i & playerN i++) {
System.out.println("创建第" + (i + 1) + "位玩家的ID和姓名:");
System.out.println("输入玩家id(int): ");
id = scanner.nextInt();
System.out.println("输入玩家姓名:");
name = scanner.next();
players.add(new Player(id, name));
for (int i = 0; i & playerN i++) {
System.out.println("欢迎玩家:" + players.get(i).getName());
System.out.println("--------开始发牌--------");
int cardNums = handCardNum * playerN
for (int i = 0; i & cardN i++) {
pocker = pockers.get(i);
players.get(i % playerNum).getHandPockers().add(pocker);
System.out.println("--------发牌结束--------");
System.out.println("--------开始游戏--------");
Pocker maxPocker = new Pocker("方块", "2");
int winPlayer = 0;
for (int i = 0; i & playerN i++) {
Collections.sort(players.get(i).getHandPockers()); // 对手牌进行排序
Collections.reverse(players.get(i).getHandPockers()); // 排序后的手牌进行翻转,第一位为最大值
System.out
.println("玩家"
+ players.get(i).getName()
+ "最大手牌为:"
+ players.get(i).getHandPockers().get(0)
.toString());
if (pareTo(players.get(i).getHandPockers()
.get(0)) & 0) {
maxPocker = players.get(i).getHandPockers().get(0);
winPlayer =
System.out.println("玩家" + players.get(winPlayer).getName()
+ "获胜");
System.out.println("玩家各自的手牌为:");
for (int i = 0; i & playerN i++) {
System.out.println(players.get(i).getName() + ": "
+ players.get(i).getHandPockers().toString());
} catch (Exception e) {
System.out.println("输入值错误,请重新输入");
scanner = new Scanner(System.in);
}玩家类:Playerpackage imooc.
import java.util.ArrayL
import java.util.L
public class Player {
* 属性:ID,姓名,手牌
* 手牌为扑克牌的集合
private List&Pocker& handP
public Player(int id, String name) {
this.name =
this.handPockers = new ArrayList&Pocker&();
public int getId() {
public String getName() {
public List&Pocker& getHandPockers() {
return handP
}扑克牌类:Pockerpackage imooc.
import java.util.ArrayL
import java.util.A
import java.util.C
import java.util.L
* @author sun
包括四种花色:黑桃、红桃、梅花、方块、
十三中点数:2~10,J、Q、K、A,不包括大小王
public class Pocker implements Comparable&Pocker&{
//扑克牌花色
//扑克牌面值
private static final int CARDNUM = 52;
//扑克牌总量
private static final int SINGLECOLORNUM = 13; //每种颜色扑克牌数量
public Pocker(){
public Pocker(String color, String value) {
this.color =
this.value =
public String getColor() {
public String getValue() {
* 产生52张扑克牌
* return List&Pocker&
public static List&Pocker& createPocker(){
List&Pocker& pockers = new ArrayList&Pocker&();
for(int i = 0; i & CARDNUM; i++){
String newValue =
int temp = i % SINGLECOLORNUM;
switch (temp) {
newValue = "j";
newValue = "Q";
newValue = "K";
newValue = "A";
newValue = String.valueOf(temp);
String newColor =
switch (i / SINGLECOLORNUM) {
newColor = "黑桃";
newColor = "红桃";
newColor = "梅花";
newColor = "方块";
pockers.add(new Pocker(newColor,newValue));
* Collections.shuffle进行洗牌
public static List&Pocker& shuffle(List&Pocker& pockers){
Collections.shuffle(pockers);
* (non-Javadoc)
* @see parable#compareTo(java.lang.Object)
* 重写了copmareTo方法,实现了Comparable接口
* 根据牌值和花色在列表中的顺序进行比较
public int compareTo(Pocker o) {
List&String& valueBase = Arrays.asList("2","3","4","5","6","7","8","9","10","J","Q","K","A");
List&String& colorBase = Arrays.asList("方块","梅花","红桃","黑桃");
if(valueBase.indexOf(this.value) == valueBase.indexOf(o.value))
return Integer.valueOf(colorBase.indexOf(this.color)).compareTo(Integer.valueOf(colorBase.indexOf(o.getColor())));
return Integer.valueOf(valueBase.indexOf(this.value)).compareTo(Integer.valueOf(valueBase.indexOf(o.getValue())));
public String toString() {
return color+
写下你的评论...
写下你的评论...
写下你的评论...
写下你的评论...
需要强制类型转换
我明白的。但是compare to 方法本身不就是返回int类型的值吗?还要装箱为Integer类型吗?
要用包装类
点击展开后面4条评论
写下你的评论...
写下你的评论...
写下你的评论...
取模运算和整除运算的使用把我惊呆了!
写下你的评论...
写下你的评论...
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2德州扑克,德州扑克游戏,德州扑克第一门户,中扑网
1、打开微信,扫一扫 2、 扫描上面二维码3、或者添加微信号:www-dzpk-com
扑克王杯澳门站主赛事正在直播中(5.21-5.26)
扑克王杯澳门站完美落幕,李龙云获得冠军抱走138W港元大奖 扑克王澳门站主赛最后一场比赛,今天终于完美落幕,比赛从5月21日开始,至5月26日结束,历时6天的时间,共吸引了[ ]
澳门扑克王俱乐部
奖池:保底500万港元
西安半坡国际艺术区壹号院
奖池:526000
拉斯维加斯Rio酒店
云南威乐智力竞技中心
奖池:3180000旅游基金
( 2017 CPG上海选拔赛冠军龙荣 ) 2017 CPG上海选拔赛历经四天的激烈角逐,最终由龙荣的夺冠圆满画上
第75期日期:出刊周刊:月刊
新竞技-德州扑克风云第第74期期新竞技-德州扑克风云第第73期期
刚刚过完五一小长假,各位小伙伴们是不是还依旧沉寂在
四月春光无限好,精彩赛事少不了。在祖国南疆,有有崭
草长莺飞的二月天已经到来,在这个万物复苏的季节里,请问小猫钓鱼这种玩法的规则
1.洗牌,排好
2.每人先拿三张牌
3.在剩余的牌中翻开3张
4.看手中的牌是否有和下面的三张牌相加后得14的,必须是下面的一张牌和手中的一\二\三张牌相加
5.这样,那些牌就属于你了,留做最后算分用
6.如果没有相加够14的,你就要把你手中的牌随意放一张在下面,再从最初洗过的牌里拿一张
7.一直就这样玩
8.最后牌完光了以后统计分数,黑桃4分,红桃3分,梅花2分,方片1分,大王小王是5分
9.补充:大王小王在游戏中按数字5使用
10.OK了,我打的好辛苦~~~呵呵~~~祝你玩的愉快~~~
我知道的钓鱼是这样:
先发6张拍在桌上,每人手里发5张,手里的牌无论几张加上桌子上的一张加起来等于14就行了。钓好了再补齐手里的5张牌。最后看谁的分数多,依次...
公平啊,同样的条件同样的抽法,概率是相同的(亲要好评哦)
不知道你说的是不是这种一群人坐一圈,每人抽一张牌,然后数一二三,最小的那个人就把牌贴到脑门上。因为相互之间都不知道别人的牌,若是有人主动承认自己最小,那还好,要...
游戏规则:
1 、总牌数:一副纸牌,去除去 2 — 6 的牌和鬼牌,共 32 张牌。
2 、游戏人数: 2 — 6 人;
3 、基本玩...
游戏、拍七令
人数:无限制
方法:多人参加,从1-99报数,但有人数到含有“7”的数字或“7”的倍数时,不许报数,要拍下一个人的后脑勺,下...
答: 你好,正常的大便应该是不会有白色的分泌物流出来的,像你这种情况的话应该要,到医院去进行化验。
答: 校园吧,名字。一些休闲娱乐八卦
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区升级扑克游戏规则[新手入门]_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
升级扑克游戏规则[新手入门]
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。 - 博客频道 - CSDN.NET
问题及代码:
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
者:李磊涛
*完成时间:日
*版 本 号:v1.0
*问题描述:在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。
*输入描述:无。
*程序输出:洗牌后的概况。
#include&ctime&
#include&vector&
#include&iterator&
#include&algorithm&
#include&iostream&
int main()
ostream_iterator &int& ios(cout,& &);
srand(time(NULL));
vector&int&
for(int i=1;i&55;i++)
poker.push_back(i);
cout&&&Before Shuffle&&&
copy(poker.begin(),poker.end(),ios);
random_shuffle(poker.begin(),poker.end());
cout&&endl&&&After Shuffled&&&
copy(poker.begin(),poker.end(),ios);
运行结果:
知识点总结:
通过该程序,强化了我对范型程序设计及STL的认识。
学习心得:
采用STL的 random_shuffle 算法很简便,但不会写还要加强练习。
排名:千里之外

我要回帖

更多关于 扑克游戏订制 新动 的文章

 

随机推荐