程序地带

模拟猜数字书写猜拳


简单实现 模拟猜数字书写猜拳 MoreGameTest内提供了一些实现小游戏的方法,


import java.util.Random;
import java.util.Scanner;
//模拟猜数字书写猜拳
public class MoraGameTest {
//开始方法
public void start() {
//首先调用 规则方法
rule();
int count = 0; //对局次数
int youWin = 0;//获胜次数
int pcWin = 0; //失败次数
int noWin = 0;//平局次数
while(true){
//每次结束后 ,重新开始的分割线
System.out.println("__________________________");
count++;
//调用电脑随机生成数方法;调用转换1方法
int pc = pc();
toString(pc);
// System.out.println("电脑随机生成的是:"+ toString(pc));
//调用玩家输入方法 ;调用转换方法
int you = you();
System.out.println("你出的是:" + toString(you));
//然后判断 输赢条件 0 平局,1 你赢了,-1电脑赢了
// 判断输赢
int isWin = isWin(pc, you);
if (isWin==0){
System.out.println("平局");
noWin++;
}else if(isWin==1){
System.out.println("你赢了!");
youWin++;
}else if (isWin==-1){
System.out.println("你输了!");
pcWin++;
}
//5局3胜
System.out.println("对局次数:"+count+"/5");
System.out.println("你赢了:"+youWin+"次,你输了:"+pcWin+"次,平局:"+noWin+"次");
if (youWin>=3){
System.out.println("对局结束,你先赢了3局!");
break;
}if (pcWin>=3){
System.out.println("对局结束,电脑先赢了3局!");
break;
}if (noWin>=3){
System.out.println("对局结束,平局!");
}
}
}
//规则方法
private void rule() {
System.out.println("请输入指示:0剪刀,1石头,2布");
}
//电脑随机生成方法
private int pc(){
Random random = new Random();
//3 是随机生成0—3之间的int类型,不包含3
return random.nextInt(3);
}
//玩家输入方法
private int you(){
//获取控制台输入
Scanner sc = new Scanner(System.in);
if (sc.nextInt()==0||sc.nextInt()==1||sc.nextInt()==2){
return sc.nextInt();
}
int you = you();
System.out.println("请重新输入:");
return you;
}
// 判断输赢方法(传入电脑输的方法,和你输入的方法)
// 0-平 1-赢 -1-输
private int isWin(int pc, int you) {
if (pc == you) {
return 0;
} else if (pc > you) {
if (pc - you == 1) {
return -1;
} else {
return 1;
}
} else {
if (you - pc == 1) {
return 1;
} else {
return -1;
}
}
}
//转换方法1:0,1,2转换为剪刀,石头,布
private String toString(int i){
switch(i){
case 0:
return "剪刀";
case 1:
return "石头";
case 2:
return "布";
}
return null;
}
}

Test测试类 进行测试


public class Test {
public static void main(String[] args) {
//创建MoraGameTest对象,用以调用提供的方法
MoraGameTest mo = new MoraGameTest();
//调用游戏开始方法
mo.start();
}
}

效果如下:(可以设置电脑随机生成的数字显示在控制台) 在这里插入图片描述


在这里插入图片描述


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51633983/article/details/111246296

随机推荐

2021-01-12

我是山西农业大学的一名大一学生,专业是数据科学与大数据技术。我希望通过学习编程,能使他成为我的一技之长,以后成为我安身立命的本领。我相信我会坚持下去ÿ...

weixin_53246119 阅读(124)

统计一个有10人的班中,男、女生的人数各是多少。将统计的男生人数存入变量MANK中,女生人数存入变量WOMAN中。 算法分析: 男、女生的标志可用“0”、“1”字符来表示,并从键盘输入此标志。

将统计的男生人数存入变量MANK中,女生人数存入变量WOMAN中。算法分析:男、女生的标志可用“0”、“1”字符来表示,并从键盘输入此标志。每循环一次使相应人...

编程使我快乐doge 阅读(249)

windows配置php7和Apache服务器

PHP和Apache安装配置PHP7安装与配置php7Windows下载地址:https://windows.php.net/download/我选择安装的版本是线程安全64位系统的版本...

Java'BestBlog 阅读(662)

JVM初级笔记

文章目录JVM虚拟机一、基础1、JVM定义2、JVM知识图谱二、类加载机制1、class文件2、类加载过程3、类加载器三、内存结构1、程序计数器2、虚拟机栈3、本地方法栈4、堆5、方法区四、GC垃圾回...

可乐多点冰 阅读(537)

MongoDB( 一 ) MongoDB 简介

目录 Mongo简介MongoDB主要特点MongoDB 概念解析数据库文档(Document)集合合法的集合名cappedcollectionsMongoDB数据类型ObjectIdMongo简介M...

黄嚯嚯 阅读(771)

在使用ffmpeg查看设备名称出现乱码解决

在ffmpeg的学习过程中,开头就遇到点小问题,使用ffmpeg遍历主机的设备名称,在window下命令行终端有出现乱码,我个人觉得问题应该是出...

Qt_青橙 阅读(897)