初学java小测试 扑克牌游戏

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 初学java小测试 扑克牌游戏
package game;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Game {
  static int vu = 0;
  static int wgold = 100;
  static int dgold = 100;
  public static void Hs(int hs){//计算花色
    hs/=13;
    if(hs==4){
      hs=3;
    }
    switch (hs) {
    case 0:
      System.out.print("黑桃");
      break;
    case 1:
      System.out.print("梅花");
      break;
    case 2:
      System.out.print("方块");
      break;
    case 3:
      System.out.print("红桃");
      break;
    }
  }
  public static void Enter() throws IOException  {//停顿
      System.out.println("按回车继续");
      new BufferedReader(new InputStreamReader(System.in)).readLine();
  }
  private static void Pai(int pai) {
    switch (pai) {
    case 1:
      System.out.println("A");
      break;
    case 11:
      System.out.println("J");
      break;
    case 12:
      System.out.println("Q");
      break;
    case 13:
      System.out.println("K");
      break;
    default:
      System.out.println(pai);
      break;
    }
  }
  public static void main(String[] args) throws IOException {
    Scanner input = new Scanner(System.in);
    System.out.println("                   抽牌游戏                                                     ");
    System.out.println("游戏规则");
    System.out.println("比大小,A最大  。牌大小一样比花色,黑桃最大,其次是梅花,方块,红桃");
    System.out.println("初始金币  玩家 100 电脑金币 100\n开始自动下注10金币");
    while(wgold>0){
      while(dgold>0){
        Enter();
        wgold-=10;
        dgold-=10;
        System.out.println("玩家金币 "+wgold+"\n电脑金币 "+dgold);
        System.out.println("玩家抽牌");
        Enter();
        int hs,pai;//玩家牌花色,牌数
        int dhs,dpai;//电脑牌花色,牌数
        hs=(int)(1+Math.random()*52);//玩家抽的花色
        pai=(int)(1+Math.random()*13);//玩家抽的牌
        Hs(hs);
        Pai(pai);
        System.out.println("请问是否加注  加注输入加注金币数(不能超过现有金币数)  不加注输入0   电脑自动跟");
        jwvu();
        if(pai==1){
          pai=14;//A最大
        }
        Enter();
        System.out.println("电脑抽牌");
        dhs=(int)(1+Math.random()*52);
        dpai=(int)(1+Math.random()*13);
        Hs(dhs);
        Pai(dpai);
        if(pai>dpai){
          System.out.println("玩家胜利");
          if(vu==0){
            wgold+=10*2;
          }else{
            wgold+=10*2+vu*2;
          }
          System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
          Enter();
        }else if(pai<dpai){
          System.out.println("电脑胜利");
          if(vu==0){
            dgold+=10*2;
          }else{
            dgold+=10*2+vu*2;
          }
          System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
          Enter();
        }else if(pai==dpai){
          if(hs<dhs){
            System.out.println("玩家胜利");
            if(vu==0){
              wgold+=10*2;
            }else{
              wgold+=10*2+vu*2;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }else if(hs>dhs){
            System.out.println("电脑胜利");
            if(vu==0){
              dgold+=10*2;
            }else{
              dgold+=10*2+vu*2;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }else{
            System.out.println("平局");
            if(vu==0){
              dgold+=10;
              wgold+=10;
            }else{
              dgold+=10+vu;
              wgold+=10+vu;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }
        }
        if(wgold==0 || dgold==0)break;
      }
      if(wgold==0 || dgold==0)break;
    }
    if(wgold<=0)System.out.println("!!!电脑最终获胜!!!");
    if(dgold<=0)System.out.println("!!!玩家最终获胜!!!");
  }
  public static void jwvu(){//控制加注数输入
    while(true){
      Scanner input = new Scanner(System.in);
      if(input.hasNextInt()){
        vu = input.nextInt();
        }else{
        System.out.println("... 金币用整数计算  重新输入");
        jwvu();
        break;
        }
      if(vu==0){
        break;
      }else if(vu>0 && vu<=wgold){
        System.out.println("已加注");
        wgold-=vu;
        if(dgold>vu){
          dgold-=vu;
        }else{
          dgold-=dgold;
        }break;
      }else{
        System.out.println("输入错误 重新输入");
        continue;
      }
    }
  }
}
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
27天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
72 2
|
2月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
43 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
2月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
27 5
|
2月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
52 1
java制作游戏,如何使用libgdx,入门级别教学
|
2月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
41 1
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:改变游戏规则的革新
在这篇技术性文章中,我们将深入探讨人工智能(AI)如何彻底改变了软件测试领域。从自动化测试到智能缺陷检测,AI不仅提高了测试的效率和准确性,还为软件开发团队提供了前所未有的洞察力。通过具体案例,本文揭示了AI在软件测试中应用的现状、挑战及未来趋势,强调了技术创新在提升软件质量与开发效率中的关键作用。
|
2月前
|
XML Java Maven
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
59 7
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试中的人工智能:改变游戏规则的技术革命
【10月更文挑战第10天】 本文深入探讨了人工智能在软件测试中的应用,揭示了它如何提高测试效率、减少人为错误,并预示了未来软件测试行业的发展趋势。通过案例分析和原理讲解,文章展现了AI技术在自动化测试、缺陷检测和性能评估等方面的巨大潜力。
|
2月前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
36 0
|
3月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
74 6