
德州比赛剩7bb面对加注,同花KT能否全下?
2026年2月12日德州扑克规则介绍
2026年2月12日Player.java
import java.util.ArrayList;
import java.util.List;
public class Player {
public int id;//ID
public String name;//名字
public Listcards;//手牌
公共场合下,玩家,有整型的身份标识,还有字符串类型的名字 ,这种初始操作。
this.id = id;
this.name = name;
this.cards = new ArrayList();
public String size() {
// TODO 自动生成的方法存根
return null;
Puke.java
public,类,Puke,实现,Comparable ,这几个词,被组合在了一起。
public String color;//牌的花色
public String num;//牌的点数
this.color = color;//牌的花色
this.num = num ;//牌的点数
/*
* 定义扑克牌的规则
留意,参照,Java语言中的可比较接口,其包含的方法,用于比较,与指定对象,对比的时候,使用的方法,名为比较到,接受的参数类型为对象,具体所在的类为Java语言中的对象类。
*/
公开的整型,比较方法,参数为扑克对象,进行比较。
if (this.num == o.num)
if (this.color.equals(“黑桃”))
return 1;
else若该情况存在(this.color等同于“红桃”这种状况),则会出现相应情形,具体为(this.color等于“红桃”)
if (o.color.equals(“黑桃”))
{ return -1;
else {
return 1;
如果不是这种情况,而是当这个颜色等于“梅花”的时候。
要是(对象o的颜色等同于“黑桃”或者对象o的颜色等同于“红桃”)!
return -1; }
else
return 1;
else
return -1;
else
if (this.num.equals(“A”))
return 1;
转而倘若,此数字等同于,“K” 这个字符。
if (o.num.equals(“A”))
return -1;
else
return 1;
否则,如果,这个,数字,等于,双引号里的,大写字母Q。
要是(o的num等于”A” 或者 o的num等于”K”)。
return -1;
else
return 1;
否则,如果,这个,数字,等于,双引号括起来的,字母 J。
如果,o的num等于”A”,或者,o的num等于”K”,或者,o的num等于”Q”。
return -1;
else { return 1;
另外要是,这个数字等于,“10” ,这种情况 ,那又如何。
要是(对象o的num这个属性等于”A”或者对象o的num这个属性等于”K”或者)
o的num等于”Q”,或者,o的num等于”J”)。
return -1;
else
return 1;
else
返回,这个,数字,与,对象的,数字,进行,比较的,结果,标点符号为分号。
PlayGames.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/*
* 扑克牌游戏:
* 1、创建一副扑克牌,除去大小王
* 2、登录两位玩家
* 3、随机洗牌
* 4、顺序发牌
先去比较点数,之后再比较花色,黑桃大于红桃,红桃大于梅花,梅花大于方片。
*/
public class PlayGames {
public Listallpuke;
public void playgames(){
这,所有呕吐物,被创建为,一个新的,数组列表。
列举所有,呕吐物等于新的,一个数组列表。
/*
* 创建一副扑克牌
*/
public void porke(){
System.out.println(“创建扑克牌”);
allpukes.add(“方片A”);
allpukes.add(“梅花A”);
allpukes.add(“红桃A”);
allpukes.add(“黑桃A”);
for(int i=2;i
allpukes.add(“方片”+i);
allpukes.add(“梅花”+i);
allpukes.add(“红桃”+i);
allpukes.add(“黑桃”+i);
allpukes.add(“方片J”);
allpukes.add(“梅花J”);
allpukes.add(“红桃J”);
allpukes.add(“黑桃J”);
allpukes.add(“方片Q”);
allpukes.add(“梅花Q”);
allpukes.add(“红桃Q”);
allpukes.add(“黑桃Q”);
allpukes.add(“方片K”);
allpukes.add(“梅花K”);
allpukes.add(“红桃K”);
allpukes.add(“黑桃K”);
将“allpukes”应用“toString”方法转而形成的结果,赋值给名为“str”的“String”类型变量。
System.out.println(“———扑克牌创建成功:——–“);System.out.println(str)。
/*
* 打乱顺序
*/
public void shuffle(){
对于“System.out.println”,对其进行操作,操作内容为输出语句,输出的具体信息是“———开始洗牌——–”,此为一个句子,句末有标点符号。
//随机打乱顺序用List方法
Collections进行洗牌操作,针对的是所有的扑克牌。
程序那用于标准输出的语句,打印输出了这样一串字符,即“———洗牌结束———-”。
/*
* 创建玩家ID 和玩家姓名
*/
public void PutPlayers(){
系统输出打印,输出内容为,双引号内的,横线连接着的三个字,创建,玩家,创建玩家德信竞技,双引号内的内容,分号结尾。结束。结束,冒号结束,冒号结束。
for (int i = 1; i < 3; i++)
System.out.println(“请输入,第” + (i) +”位玩家的,ID和姓名:”)。
System.out.println(“输入ID:”);
int id = 0; ;
由系统的输入来弄出一个新的扫描器,这扫描器被命名为扫描器,它存在于一个被叫做扫描器的变量体内。
while(true)
try{
把通过扫描器读取的下一行内容去除首尾空白后,转换为整数类型,其结果赋值给id。
break;
当捕捉到数字格式异常的情况时,也就是捕获到编号格式方面违规的异常,以e来表示这个异常。
将“请输入整数类型的ID!”输出至控制台,这是通过System.out.println语句来达成的。
System.out.println(“再次去输入ID:”); 接着继续。
System.out.println(“输入姓名:”);
声明一个名为name的字符串变量,让它等于通过扫描器获取的下一行输入内容。
创建了一个名为player的对象,该对象属于Player类型,并且通过传入id和name来进行初始化。
players.add(player);
这行代码的目标功能是,将特定的文本内容,也就是“—-欢迎玩家:” ,与玩家列表中索引为0的玩家的名字,进行拼接组合,然后使用系统输出类的打印方法,输出显示在控制台。
System.out.println(“—-“”欢迎玩家:”, players.get(1).name)。
/*
* 开始发牌
*/
public void dealCard(){
System.out.println(“———着手发牌——–“)。
系统输出打印,输出内容为,“———玩家,该玩家是players获取的第0个元素的name属性值,进行拿牌—–”。
玩家获取到的编号为 0 的对象卡片,添加进了所有扑克牌获取到的编号为 0 的那张牌。
System.out.println(“———“”玩家”, players.get(1).name”拿牌—–“)。
玩家获取编号为1的对象,该对象的卡片数组添加全部扑克牌中编号为1的那张牌。
System.out.println(“———玩家”+players.get(0).name+”拿牌—–“);
玩家获取到的第一个物品,其卡片部分添加了所有扑克中获取到的第三个物品。
System.out.println(“———玩家”+players.get(1).name+”拿牌—–“);
数组players中索引为1的元素所具有的cards属性,添加allpukes数组中索引为3的元素。
System(),out(),println(),(“——–发牌结束——–”)。
/*
* 开始游戏
*/
采用抑制警告的方式,将警告类型设定为未经校验的类型 ,并进行抑制。
public void starGame(){
System.out.println(“——游戏开始——–“)。
把玩家获取的首张卡片进行排序,通过某种集合排序方式,,这种方式是特定集合类所具备的排序。
提取玩家列表中首个玩家的手牌 collection,然后获取该集合中的第二项元素,再将其转换为字符串,赋值给名为 maxCard 的字符串变量。 然后 , 赋值给名为maxCard的字符串变量。
将“System.out.println”写成“系统输出打印”,把“玩家:”写成“玩家名为”,把“最大的手牌是:”写成“最大手牌为”,改写后的内容为:系统输出打印(玩家名为 + players.get(0).name + 最大手牌为 + maxCard)。
针对玩家队列中位于索引1位置元素所持有的卡片集合,进行排序操作 ,通过使用集合类所提供的排序方法。
先获取players列表中索引为1的元素,再获取该元素的cards列表中索引为1的元素,接着调用该元素的toString方法,最后将结果赋值给maxCard1。
System.out.println(“玩家:”, players.get(0).name”最大的手牌是:”, maxCard1)。
定义一个名叫ListgameCard的对象,使其等于一个新建的ArrayList对象。
gameCard,全部添加,玩家获取的,位于索引为0处的,卡片集合中的卡片。
将玩家列表中索引为1的玩家所拥有的卡片,一一添加到游戏卡片集合之中。
Collections.sort(gameCard);
要是(玩家们获取到的第一个元素所包含的卡片当中,有游戏区域卡片集合里最后一个位置的那张卡片在其中),那么。
输出语句,打印出,“——-玩家”加上“players”获取的第0个元素的“name”属性值,再加上“赢了——–”。
}else
System,out,println,(”——-玩家”,players,.,get,(1),.,name”赢了””——–“)。
/*
* 查看玩家的牌
*/
定义一个公共的方法,该方法用于检查玩家卡片。
对于系统输出打印语句,其内容为“————-各位玩家的牌是—————–” ,这是一个用于在控制台显示特定文本信息的操作 ,通过该语句可以将指定的字符串呈现出来。
Collections.sort(players.get(0).cards);
将变量“playerCard1”赋值为,从集合“players”按照索引“0”获取的卡牌对象,调用其“toString”方法所返回的字符串结果。
让系统输出,打出这样一行字,玩家,那个从玩家列表里获取到的排在最前面的玩家,其名字所对应的内容,的牌是,那个同样从玩家列表里获取到的排在最前面的玩家,其持有的牌所对应的内容。
Collections.sort(players.get(1).cards);
字符串类型的玩家卡片2 ,等于 玩家列表中获取到的索引为1的玩家的卡片 ,转换为字符串形式。
System.out.println(“玩家”, players.get(1).name”的牌是”, players.get(1).cards)。
公开静态无效去执行主要的方法,这个方法用到参数叫做args ,这种情况是存在的。标点符号使用句号,标点符号使用句号。
// TODO 自动生成的方法存根
把那个进行标准输出的方法调用起来印出,“——-欢迎来到扑克牌王国———-”(句号在引号外)。
系统输出打印,输出的内容是,双引号括住的,横线横线横线,是否要开始游戏,双引号括住,分号。
System.out.println(“————-要是选择肯定的话就按键:1 — 要是选择否定的话就按键:0——-“)。
新建了一个Scanner对象,将其命名为scanner,该对象用于从系统输入中获取数据。
int a = scanner.nextInt();
if(a == 1){
while(true){
新建一个名为PlayGames的对象,将其赋值给一个名为pl的PlayGames类型变量。
pl.porke();
//pl.foreachPuke();
pl.shuffle();
pl.PutPlayers();
pl.dealCard();
进行输出操作了,输出的内容是“——-是否开始出牌–是请按:1——”。
int b = scanner.nextInt();
if(b == 1)
pl.starGame();
pl.checkplayerCard();
系统.out.打印输出(“——–是否要继续游戏———“)。
System.out.println(“——若要继续请按:1—–要是退出请按:0——“)。
int c = scanner.nextInt();
if(c == 1){
continue;
else{
break;
系统输出打印出,“———感谢您的参与———”。
else{
系统输出打印,输出内容为,一条由双引号包裹的,包含多个横线的,表述着欢迎下次再来意思的字符串。
第三季看完后,好多方法的实践用法不太明白,起初着实不知从哪着手,接着回看视频里的讲解,还参照自己敲的代码,又参照了其他人的代码,最终完成了这个扑克牌游戏,望能供大家参考!大伙一同努力,共同进步!

