猜拳游戏(java)

猜拳游戏

import java.util.Random;
import java.util.Scanner;
/*
请编写一个猜拳游戏
有个人 Tom ,设计他的成员变量,成员方法,可以让电脑猜拳
电脑每次都会随机生产0,1,2
0表示石头 1表示剪刀 2表示布
并要可以显示 Tom的输赢次数(清单),假定玩三次
*/
public class MoraGame {public static void main(String args[]){// 创建一个玩家对象Tom t = new Tom();// 用来记录最后输赢的次数int winCount = 0;// 创建一个二维数组,用来接收局数,Tom出拳情况以及电脑出拳情况int[][] arr1 = new int[3][3];int j = 0;// 创建一个一维数组,用来接收输赢情况String[] arr2 = new String[3];Scanner scanner = new Scanner(System.in);for (int i = 0; i < 3; i++){// 获取玩家出的拳System.out.println("请输入你要出的拳(0-拳头, 1-剪刀, 2-布):");int num = scanner.nextInt();t.setTomGuessNum(num);int tomGuess = t.getTomGuessNum();arr1[i][j + 1] = tomGuess;// 获取电脑出的拳int comGuess = t.computerNum();arr1[i][j + 2] = comGuess;// 将玩家猜的拳与电脑做比较String win = t.vsComputer();arr2[i] = win;arr1[i][j] = t.count;// 对每一局的情况进行输出System.out.println("=============================");System.out.println("局数\t玩家的出拳\t电脑的出拳\t输赢的情况");System.out.println(t.count + "\t" + tomGuess + "\t\t" +comGuess + "\t\t" + arr2[i]);System.out.println("=============================");System.out.println("\n\n");winCount = t.winCount(win);}// 对游戏的最终结果进行输出System.out.println("局数\t\t玩家的出拳\t电脑的出拳\t输赢的情况");for (int a = 0; a < arr1.length; a++){for (int b = 0; b < arr1[a].length; b++){System.out.print(arr1[a][b] + "\t\t");}System.out.print(arr2[a]);System.out.println();}System.out.println("你赢了" + winCount + "次");}
}class Tom{// 玩家出拳的类型int tomGuessNum; //0,1,2// 电脑出拳的类型int comGuessNum; //0,1,2// 玩家赢的次数int winCountNum;// 比赛的次数int count = 1;  // 一共比赛3次public int computerNum(){Random r = new Random();comGuessNum = r.nextInt(3);return  comGuessNum;}/**  设置玩家猜拳的数字的方法*  @para tomGuessNum* */public void setTomGuessNum(int tomGuessNum){if (tomGuessNum > 2 || tomGuessNum < 0){throw new IllegalArgumentException("数字输入错误");}this.tomGuessNum = tomGuessNum;}public int getTomGuessNum(){return tomGuessNum;}/** 比较猜拳的结果* @return 玩家赢返回ture,否则返回false* */public String vsComputer(){//比较if (tomGuessNum == 0 && comGuessNum == 1){return "你赢了";}else if (tomGuessNum == 1 && comGuessNum == 2){return "你赢了";}else if (tomGuessNum == 2 && comGuessNum == 0){return "你赢了";}else if (tomGuessNum == comGuessNum){return "平手";}else return "你输了";}/** 记录玩家赢的次数* @return* */public int winCount(String s){count++;if (s.equals("你赢了")){   // 统计赢的次数winCountNum++;}return  winCountNum;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

samber/lo 库的使用方法: condition

samber/lo 库的使用方法&#xff1a; condition samber/lo 是一个 Go 语言库&#xff0c;使用泛型实现了一些常用的操作函数&#xff0c;如 Filter、Map 和 FilterMap。汇总目录页面 这个库函数太多&#xff0c;因此我决定按照功能分别介绍&#xff0c;本文介绍的是 samber/l…

Socket通信---Python发送数据给C++程序

0. Problems 很多时候实现某种功能&#xff0c;需要在不同进程间发送数据&#xff0c;目前有几种主流的方法&#xff0c;如 让python和C/C程序互相发送数据&#xff0c;其实有几种方法&#xff1a; 共享内存共享文件Socket通信 在这里只提供Socket通信的例程&#xff0c;共享…

面试复盘——10——一面全答了,二面全挂了...

前言 跨越了两年的一场面试hhhh&#xff0c;一面答的很不错&#xff0c;但可惜二面&#xff0c;基本一个没说上来…很离谱。 一面(23.12.29) 妈的&#xff0c;一面录音没录上。。。不管他了 二面(24.1.2) 为什么想从&#xff08;当前实习的地方&#xff09;离职 实习项目…

挑战30天学完Python:Day16 日期时间

&#x1f4d8; Day 16 &#x1f389; 本系列为Python基础学习&#xff0c;原稿来源于 30-Days-Of-Python 英文项目&#xff0c;大奇主要是对其本地化翻译、逐条验证和补充&#xff0c;想通过30天完成正儿八经的系统化实践。此系列适合零基础同学&#xff0c;或仅了解Python一点…

shell脚本用法小记

shell脚本用法小记 1. 参数含义1.1 参数"-z"的含义 2. 语法小记if语法 1. 参数含义 1.1 参数"-z"的含义 在shell 脚本中&#xff0c; -z 是一个选项&#xff0c;用于判断字符串是否为空。 if [ -z $2 ]; thenros2 run workspace_name node_name --ros-a…

奇异递归模板模式应用5-静态多态

动态多态&#xff1a;C动态多态是利用虚函数特性实现的&#xff0c;即基类指针(引用&#xff09;指向派生类指针(引用)。由于虚函数的实现是在运行期进行的&#xff0c;因而会产生运行期开销&#xff08;虚表指针偏移&#xff0c;与分支预测器和CPU指令流水线相关&#xff09;。…

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.02.10-2024.02.15

2024.02.10–2024.02.15&#xff1a; arXiv中发表的关于大语言模型&#xff08;LLMs&#xff09;相关的文章&#xff0c;已经筛选过一部分&#xff0c;可能有的文章质量并不是很好&#xff0c;但是可以看出目前LLM的科研大方向&#xff01; 后续我会从中选择出比较有意思的文章…

【关于深度学习的一些资料】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 动手学深度学习Awesome Deep LearningTensorFlow Official ModelsPyTorch Image ModelsDeep Reinforcement LearningNeural Style Transfer 动手学深度学习 动手学深度学习 https://zh.d2l.ai/chapter_installation/index.…

Java Web(七)__Tomcat(二)

Tomcat工作模式 Tomcat作为Servlet容器&#xff0c;有以下三种工作模式。 1&#xff09;独立的Servlet容器&#xff0c;由Java虚拟机进程来运行 Tomcat作为独立的Web服务器来单独运行&#xff0c;Servlet容器组件作为Web服务器中的一部分而存在。这是Tomcat的默认工作模式。…

Java开发中计算金额时使用什么数据类型?(企业真题)

Java开发中计算金额时使用什么数据类型&#xff1f; 不能使用float或double&#xff0c;因为精度不高。不容许舍入误差 使用BigDecimal类替换&#xff0c;可以实现任意精度的数据的运算。

Java Web(七)__Tomcat(一)

JavaWeb 服务器 介绍 为什么需要&#xff1f; Web服务器是一个应用程序&#xff08;软件&#xff09;&#xff0c;对HTTP协议的操作进行封装&#xff0c;使得程序员不必直接对协议进行操作&#xff0c;让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Web服…

Web安全之浅见

备注&#xff1a;这是我在2017年在自己的网站上写的文章&#xff0c;今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训&#xff0c;了解了很多关于网络安全方面的知识&#xff0c;也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…

【 OpenGL 教程06 】 关于着色器(01)

一、说明 着色器是目前做3D图形最流行的方式。而对应的OpenGL操作晦涩难懂&#xff0c;本篇试图参照一些相关解释文档&#xff0c;以及一个代码案例进行分解说明。 二、OpenGL的渲染管线流程 数据传输到显示环节的数据流程。 OpenGL—>顶点处理器—>细分着色—>几何处…

C语言:指针(一)

目录 1.内存和地址2. 指针变量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指针变量和解引用操作符&#xff08;*&#xff09;2.2.1 指针变量2.2.2 解引用操作符&#xff08;*&#xff09; 2.3 指针变量的大小 3.指针变量的类型和意义3.1 指针的解引用3.2 指针 -指…

[云] vmware: latency的设置

https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-vm-administration/GUID-F5DAC793-7B13-418F-949E-0CD80CEC5D1E.html Configure the Virtual Machine Latency Sensitivity 如果虚拟机上的业务&#xff0c;需要敏感的网络延迟&#xff0c;就需要设置这个参数来做调整…

【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB

前言 本人的个人博客站点&#xff08;https://www.darkathena.top &#xff09;基于Halo博客系统搭建&#xff0c;该博客系统后端可以配置多种数据库&#xff0c;默认为H2&#xff0c;但是最新版已不建议使用H2&#xff0c;而是建议使用mysql/postgresql等数据库。经验证&…

【PyTorch][chapter 17][李宏毅深度学习]【无监督学习][ Auto-encoder]

前言&#xff1a; 本篇重点介绍AE&#xff08;Auto-Encoder&#xff09; 自编码器。这是深度学习的一个核心模型. 自编码网络是一种基于无监督学习方法的生成类模型,自编码最大特征输出等于输入 Yann LeCun&Bengio, Hinton 对无监督学习的看法. 目录&#xff1a; AE 模型原…

FPGA OSERDESE2

Output Parallel-to-Serial Logic Resources (OSERDESE2) OSERDESE2 在Xilinx 7 系列器件是一款专用的并行至串行转换器,具有特定的时钟和逻辑资源,旨在促进高速源同步接口的实现。每个OSERDESE2模块都包括一个专用的数据串行器和 3 状态控制。数据和 3 态串行器都可以在 SD…

Edwards爱德华STP系列-A1603分子泵使用维修保养说明

Edwards爱德华STP系列-A1603分子泵使用维修保养说明

注意pytorch的原地操作

常见的原地操作&#xff1a;nn.ReLu(inplaceTrue) a torch.randn(2) # tensor([-0.3690, 0.0626]) b a.clone() # tensor([-0.3690, 0.0626]) c a # tensor([-0.3690, 0.0626]) relu nn.ReLu(inplaceTrue)情况1 out relu(a) # tensor([0.0000, 0.0626]) a # tensor([…