主要功能:

1)选取对战角色

2)猜拳

3)记录分数

4)显示比分以及结果

完整代码:


import java.util.Scanner;/** @author: wyh* @classname: Guess* @description: 猜拳游戏(面向对象)* @date: 2022/6/21 19:43* @version: 0.1* @since: jdk11*/
public class Guess {public static void main(String[] args) {Game game = new Game();game.startGame();}
}//创建用户
class User {String name;int score;public User() {}public User(String name) {this.name = name;}//出拳方法public int showFist() {Scanner sc = new Scanner(System.in);System.out.println("请出拳(1-剪刀   2-石头    3-布):");return sc.nextInt();}
}class Computer {String name;int score;public Computer() {}public Computer(String name) {this.name = name;System.out.println("您选择了" + name + "对战");}//出拳方法public int showFist() {return (int) (Math.random() * 3 + 1);}
}//游戏类
class Game {User user;Computer computer;int count;//记录游戏次数public void startGame() {Scanner sc = new Scanner(System.in);String exit;boolean start;do {start = false;System.out.println("猜拳游戏开始");System.out.println("1-刘备   2-孙权    3-曹操:");System.out.println("请选择您的对手:");int hero = sc.nextInt();switch (hero) {case 1:computer = new Computer("刘备");break;case 2:computer = new Computer("孙权");break;case 3:computer = new Computer("曹操");break;default:System.out.println("角色选择错误,请重新输入:");start = true;}} while (start);System.out.println("请输入您的姓名:");String name = sc.next();user = new User(name);do {count++;int num1 = user.showFist();//用户出拳并返回对应值int num2 = computer.showFist();//电脑出拳并返回对应值result(num1, num2);System.out.println("是否进行下一局游戏?(输入y继续)");exit = sc.next();} while (exit.equals("y"));System.out.println("游戏结果:");System.out.println(user.name + "\tVS\t" + computer.name);System.out.println("对战次数" + count);System.out.println("姓名" + "\t\t" + "得分");System.out.println(user.name + "\t\t" + user.score);System.out.println(computer.name + "\t\t" + computer.score);if (user.score > computer.score)System.out.println("恭喜您,获胜了!");else if (user.score < computer.score)System.out.println("很遗憾," + computer.name + "获胜");elseSystem.out.println("双方平局,择日再战!");}//猜拳结果判定private void result(int num1, int num2) {//①if (num1 == 1) {System.out.println(user.name + "出拳:剪刀");if (num2 == 1) {System.out.println(computer.name + "出拳:剪刀");System.out.println("和局,双方各不加分");}if (num2 == 2) {System.out.println(computer.name + "出拳:石头");System.out.println(computer.name + "胜利,分数加一");computer.score++;}if (num2 == 3) {System.out.println(computer.name + "出拳:布");System.out.println(user.name + "胜利,分数加一");user.score++;}}//②if (num1 == 2) {System.out.println(user.name + "出拳:石头");if (num2 == 1) {System.out.println(computer.name + "出拳:剪刀");System.out.println(user.name + "胜利,分数加一");user.score++;}if (num2 == 2) {System.out.println(computer.name + "出拳:石头");System.out.println("和局,双方各不加分");}if (num2 == 3) {System.out.println(computer.name + "出拳:布");System.out.println(computer.name + "胜利,分数加一");computer.score++;}}//③if (num1 == 3) {System.out.println(user.name + "出拳:布");if (num2 == 1) {System.out.println(computer.name + "出拳:剪刀");System.out.println(computer.name + "胜利,分数加一");computer.score++;}if (num2 == 2) {System.out.println(computer.name + "出拳:石头");System.out.println(user.name + "胜利,分数加一");user.score++;}if (num2 == 3) {System.out.println(computer.name + "出拳:布");System.out.println("和局,双方各不加分");}}}
}

运行结果:

开始:

猜拳:

结束:

Java猜拳小游戏(面向对象版)相关推荐

  1. 简单的java猜拳小游戏

    简单的java猜拳小游戏 /*** 猜拳小游戏* @ author lyle*/import java.util.Scanner;public class 猜拳小游戏 {public static v ...

  2. java小朋友猜拳_[Java教程]Java猜拳小游戏(剪刀、石头、布)

    [Java教程]Java猜拳小游戏(剪刀.石头.布) 0 2015-09-29 08:00:04 import java.util.Random;import java.util.Scanner;pu ...

  3. c语言猜拳游戏实训报告,Java猜拳小游戏程序设计实验报告.doc

    Java程序设计实验报告 班级: 学号: 姓名: 实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况.有简单的操作界面. 实验 ...

  4. Java五子棋小游戏简单版(3)

    JAVA五子棋 前言,既(2)之后,做了一下改进,如界面的优化,棋子的优化,AI对战的实现 还是回顾一下我们之前(1)(2)的工作 建立一个Chess包→界面类ChessUI→画棋子类DrawChes ...

  5. Java斗地主小游戏有序版

    题目 斗地主综合案例:有序版 1.准备牌:大王小王 52张牌:循环嵌套遍历两个集合,组装52张牌 可以使用Map<Integer,String>集合储存牌的索引+组装好的牌.创建一个Lis ...

  6. JAVA打字小游戏,面向对象完成

    测试类,测试类主要是用于引用,将我们进行引入 package com.ytzl.Project.work;public class Test {public static void main(Stri ...

  7. 用java写猜拳小游戏

    题目:用面向对象编程的思想,设计一个猜拳游戏,完成人机猜拳互动游戏的开发. 题目要求: 基本思想: 各部分主要代码: Npc1类代码: Player1类: content方法: checked方法: ...

  8. 实现石头剪刀布获胜法_用java实现一个猜拳小游戏

    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 项目名称 猜拳小游戏 项目描述 玩家与电脑进行猜拳游戏,玩家行为采用输入方式,电脑行为采用随机形式. 实现: User类 ...

  9. 【java学习】猜拳小游戏

    猜拳小游戏,实现内容:选择对战人物,记录对战详情,循环对战,记录胜场,第21行的ROBOT方法思路不错,记录一下 package day1204;import day1203.Acount;impor ...

最新文章

  1. 数据库中的数据类型和c#的数据类型的映射表[转]
  2. Java NIO系列教程(一) Java NIO 概述
  3. LeetCode Third Maximum Number
  4. jQuery源码 Ajax模块分析
  5. wordpress woodstock主题导入demo xml文件 execution time out
  6. Android Kotlin Flow 如何使用callbackflow
  7. 第一个Sprint冲刺成果
  8. maven自定义webapp目录
  9. 【2020团体程序设计天梯赛】L1部分(PTA,L1-065到L1-072)题解代码
  10. 小视频app开发过程中关于转码问题的经验总结
  11. 编译」(compile),与「反编译」(decompile)..哪些语言容易被反编译.
  12. jackson框架java反序列化漏洞_Jackson CVE-2019-12384: 反序列化漏洞复现
  13. 北京/上海内推 | 微软亚洲研究院系统与网络组招聘全职实习生
  14. ssis oracle配置,[SSIS][Oracle]安裝 Oracle Driver 提供 SSIS 使用
  15. [爬虫项目]猫眼电影TOP100
  16. 超级详细的 Maven 教程(基础+高级)
  17. z77主板升级nvme,迁移系统,蓝屏解决方法
  18. 【Codeforces Round #695 (Div. 2) B】Hills And Valleys
  19. Gazebo模型制作dae
  20. 肖特基二极管、瞬态二极管、普通二极管等各种二极管的区别?

热门文章

  1. 山东大学软件学院创新实训——飞讯(二)
  2. java scanner怎么循环_java怎么实现循环输入一个数?
  3. 【日常学习笔记】2019/1/10(Oracle语句学习)
  4. bilibili录播姬使用文档
  5. 计算机科学技术学院博逸楼,逍遥二路(宁夏路)附近校内附属设施
  6. 5.17世界电信日,蚂蚁客服与你一起同行
  7. 2016首届对象存储技术及应用大会在京成功召开
  8. 使用a标签的href来实现点击手机号拨打电话
  9. 关于通达信数据格式的发布
  10. RPKM, FPKM, TPM ????