梭哈游戏的完善(通过数字比较大小确定赢家)7-4

2023-10-23 07:50

本文主要是介绍梭哈游戏的完善(通过数字比较大小确定赢家)7-4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package group7;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

//梭哈游戏的完善
//比较最后获胜者-A>K>Q>J>10>9>8;黑>红>梅>方;

public class text4 {
public static void main(String[] args) {
String[] s1={“梅花”,“方块”,“黑桃”,“红桃”};
String[] s2={“A”,“8”,“9”,“0”,“J”,“Q”,“K”};
ArrayList box=new ArrayList();
for(int i=0;i<s1.length;i++){
for(int j=0;j<s2.length;j++)
box.add(s1[i]+s2[j]);
}
Collections.shuffle(box);
ArrayList 玩家1=new ArrayList();
ArrayList 玩家2=new ArrayList();
ArrayList 玩家3=new ArrayList();
ArrayList 玩家4=new ArrayList();
setbox(box, 玩家1, 玩家2, 玩家3, 玩家4);
System.out.println(“获胜的玩家是:玩家”+judgeMax(玩家1, 玩家2, 玩家3, 玩家4));
}
public static void setbox(ArrayList box,ArrayList 玩家1,ArrayList 玩家2,ArrayList 玩家3,ArrayList 玩家4){
int flag1=0,flag2=0,flag3=0,flag4=0;
int has=0;
int i=0;
System.out.println(“请输入你想要从玩家几开始发牌”);
Scanner sc=new Scanner(System.in);
int k=sc.nextInt();
switch(k)
{
case 1:
玩家1.add(box.get(i));i++;
玩家2.add(box.get(i));i++;
玩家3.add(box.get(i));i++;
玩家4.add(box.get(i));i++;
break;
case 2:
玩家2.add(box.get(i));i++;
玩家3.add(box.get(i));i++;
玩家4.add(box.get(i));i++;
玩家1.add(box.get(i));i++;
break;
case 3:
玩家3.add(box.get(i));i++;
玩家4.add(box.get(i));i++;
玩家1.add(box.get(i));i++;
玩家2.add(box.get(i));i++;
break;
case 4:
玩家4.add(box.get(i));i++;
玩家1.add(box.get(i));i++;
玩家2.add(box.get(i));i++;
玩家3.add(box.get(i));i++;
break;
}
has+=1;
while(has<4)
{
System.out.println(“玩家1:”+玩家1);
System.out.println(“玩家2:”+玩家2);
System.out.println(“玩家3:”+玩家3);
System.out.println(“玩家4:”+玩家4);
System.out.println(“请问玩家1下一局是否要抽取牌(输入0即抽取,1即不抽取)”);
flag1=sc.nextInt();
System.out.println(“请问玩家2下一局是否要抽取牌(输入0即抽取,1即不抽取)”);
flag2=sc.nextInt();
System.out.println(“请问玩家3下一局是否要抽取牌(输入0即抽取,1即不抽取)”);
flag3=sc.nextInt();
System.out.println(“请问玩家4下一局是否要抽取牌(输入0即抽取,1即不抽取)”);
flag4=sc.nextInt();
if(flag10)
{
玩家1.add(box.get(i));i++;
}
if(flag2
0)
{
玩家2.add(box.get(i));i++;
}
if(flag30)
{
玩家3.add(box.get(i));i++;
}
if(flag4
0)
{
玩家4.add(box.get(i));i++;
}
has+=1;
}
System.out.println(“最终玩家的牌为:”);
System.out.println(“玩家1:”+玩家1);
System.out.println(“玩家2:”+玩家2);
System.out.println(“玩家3:”+玩家3);
System.out.println(“玩家4:”+玩家4);
}
public static int judgeMax(ArrayList 玩家1,ArrayList 玩家2,ArrayList 玩家3,ArrayList 玩家4){
int count1=0,count2=0,count3=0,count4=0;
for(int i=0;i<玩家1.size();i++)
{
String s=玩家1.get(i);
char a=s.charAt(2);
count1=judgeNumber(a, count1);
}
for(int i=0;i<玩家2.size();i++)
{
String s=玩家2.get(i);
char a=s.charAt(2);
count2=judgeNumber(a, count2);
}
for(int i=0;i<玩家3.size();i++)
{
String s=玩家3.get(i);
char a=s.charAt(2);
count3=judgeNumber(a, count3);
}
for(int i=0;i<玩家4.size();i++)
{
String s=玩家4.get(i);
char a=s.charAt(2);
count4=judgeNumber(a, count4);
}
//比较得出牌最大的玩家
int max=max(max(count1, count2), max(count3, count4));
if(maxcount1)
return 1;
else if(max
count2)
return 2;
else if(maxcount3)
return 3;
else if(max
count4)
return 4;
return 0;
}
public static int max(int count1,int count2){
if(count1>count2)
return count1;
else return count2;
}
public static int judgeNumber(char a,int count){
switch(a)
{
case ‘8’:count+=8;break;
case ‘9’:count+=9;break;
case ‘0’:count+=10;break;
case ‘J’:count+=11;break;
case ‘Q’:count+=12;break;
case ‘K’:count+=13;break;
case ‘A’:count+=14;break;
}
return count;
}
}
在这里插入图片描述

这篇关于梭哈游戏的完善(通过数字比较大小确定赢家)7-4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/266542

相关文章

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类