Java控制台实现猜拳游戏小游戏
作者:Samoy 发布时间:2022-04-20 09:52:55
标签:java,猜拳游戏
本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下
先来看一下效果图:
首先我们创建一个Person类,这个类有name和score两个属性,有play这个方法,源代码如下:
package com.samoy;
public class Person {
public String name;
public int score;
public Person(String name, int score) {
this.name = name;
this.score = score;
}
public String play(int i) {
return i == 1?"剪刀":(i == 2?"石头":"布");
}
}
接下来是主程序入口:
package com.samoy;
import java.util.Random;
import java.util.Scanner;
public class JavaTest {
public static void main(String[] args) {
int num = 0;
System.out.println("*****************\n****猜拳, 开始****\n*****************");
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
System.out.println("请选择对方角色<1:刘备 2:孙权 3:曹操>");
Scanner scanner = new Scanner(System.in);
//new一个对手
Person opponent = new Person("",0);
int nameIndex = scanner.nextInt();
while (true){
if (nameIndex == 1){
opponent.name = "刘备";
break;
}else if (nameIndex == 2){
opponent.name = "孙权";
break;
}else if (nameIndex == 3){
opponent.name = "曹操";
break;
}else {
System.out.println("输入错误!输入对方角色<1:刘备 2:孙权 3:曹操>");
nameIndex = scanner.nextInt();
}
}
System.out.println("请输入您的姓名:");
Scanner scanner1 = new Scanner(System.in);
Person self = new Person(scanner1.next(),0);
System.out.println(self.name + " VS " +opponent.name);
System.out.println("要开始游戏吗?<y/n>");
Scanner scanner2 = new Scanner(System.in);
String option = scanner2.next();
while (option.equals("y")){
System.out.println("请出拳:1、剪刀 2、石头 3、布");
Scanner scanner3 = new Scanner(System.in);
int select = scanner3.nextInt();
String result1;
if (select!=1&&select!=2&&select!=3){
System.out.println("输入错误!请输入出拳规则:1、剪刀 2、石头 3、布");
select = scanner3.nextInt();
}
result1 = self.play(select);
System.out.println(self.name+"出:"+result1);
String result2 = opponent.play(new Random().nextInt(3)+1);
System.out.println(opponent.name+"出:"+result2);
if (result1.equals(result2)){
System.out.println("和局");
}else if (result1.equals("剪刀")&&result2.equals("布")||result1.equals("石头")&&result2.equals("剪刀")||result1.equals("布")&&result2.equals("石头")){
System.out.println("你赢了! "+self.name+"赢!");
self.score += 1;
}else {
System.out.println("你输了! "+opponent.name+"赢!");
opponent.score += 1;
}
num++;
System.out.println("需要进行下一局吗?<y/n>");
option = scanner2.next();
if (option.equals("n")){
System.out.println("=================");
System.out.println("共进行"+num+"局\n"+self.name+"得分为"+self.score+","+opponent.name+"得分为"+opponent.score +"\n");
if (self.score>opponent.score){
System.out.println(self.name+"赢!"+self.name+"好棒!");
}else if (self.score == opponent.score){
System.out.println("平局!");
}else {
System.out.println(opponent.name+"赢!"+self.name+"笨蛋!");
}
System.out.println("感谢你的使用!");
}else if (!option.equals("y")){
System.out.println("输入错误,请重新输入!");
System.out.println("需要进行下一局吗?<y/n>");
option = scanner2.next();
}
}
}
}
源代码下载:Java猜拳游戏
来源:https://blog.csdn.net/samoy/article/details/51741353


猜你喜欢
- 通过eclipse修改web的url访问路径今天做SpringMVC 基础跳转网页的时候发现了一个问题,就是eclipse访问url路径的问
- 获取手机唯一标识 拼接的方式获取手机唯一标识第一种方式是获取IMEI,但是有的手机如果不是正品的话,就获取不到所以通过这一种方式还是会出现有
- 缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力。本文主要针对自己在Winform方
- 这篇文章主要介绍了设计模式在Spring框架中的应用汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 1、队列的基本概念队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进
- 简介简单工厂模式 (Simple Factory) 又叫静态工厂方法(Static Factory Method)模式。简单工厂模式通常是定
- 1、Redis 怎么保证高可用、有哪些集群模式主从复制、哨兵模式、集群模式。2、主从复制在当前最新的 Redis 6.0 中,主从复制的完整
- 之前碰到个问题,使用webview的时候无法定位,最近19大没法墙,只能去百度逛逛,发现有人说要这么做 WebSe
- Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码功能介绍客户端
- 当我们在项目中登录使用验证码的时候,不妨试试Kaptcha生成验证码,非常简单1、首先,我们在pom.xml文件中引入kaptcha的mav
- 每天上下楼都是乘坐电梯的,就想电梯的工作原理是什么呢?于是自己写了个控制台程序来模拟一下电梯的工作原理!采用面向对象的编程思想!将电梯拆解为
- 本文实例讲述了散列表的原理与Java实现方法。分享给大家供大家参考,具体如下:概述符号表是一种用于存储键值对(key-value pair)
- 本文实例为大家分享了C#实现猜数字游戏具体代码,供大家参考,具体内容如下给定一个0-100的随机数字猜其大小题目样式:电脑产生一个0到100
- 一、User Agent的含义User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及
- 今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下。这个程序说起来有些历史了,是我11年编写的,那时候学了Android开
- 简介官方API文档Scaffold的of方法说明有说明调用Scaffold.of方法是在Scallfold的子组件的Build方法中,也就是
- GC,Garbage Collect,中文意思就是垃圾回收,指的是系统中的内存的分配和回收管理。其对系统性能的影响是不可小觑的。今天就来说一
- 下载gradle直接百度gradle,然后点击链接进去就可以找到,这里附上下载链接:gradle下载安装gradle##解压下载下来的zip
- 公钥与私钥公钥与私钥是成对的,一般的,我们认为的是公钥加密、私钥解密、私钥签名、公钥验证,有人说成私钥加密,公钥解密时不对的。公钥与私钥的生
- 本文实例讲述了Spring实战之使用注解实现声明式事务操作。分享给大家供大家参考,具体如下:一 配置文件<?xml version=&