梭哈游戏的完善(通过数字比较大小确定赢家)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

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

关键字synchronized、volatile的比较

关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且volatile只能修饰于变量,而synchronized可以修饰方法,以及代码块。随着JDK新版本的发布,synchronized关键字的执行效率上得到很大提升,在开发中使用synchronized关键字的比率还是比较大的。多线程访问volatile不会发生阻塞,而synchronize

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个