主要功能:

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. 老程序员都去哪儿了?
  2. 不是python中用于开发用户界面的第三方库-Python三方库:wxPython(GUI图形用户界面)...
  3. stl map高效遍历删除的方法
  4. 成功解决cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion fa
  5. threeten-extra使用实例
  6. TensorFlow 笔记1--基本用法
  7. 老罗学习MVC之旅:MVC组件分析
  8. springboot异步任务
  9. VMware Workstation下减小ubuntu系统占用系统盘大小
  10. 玩转基金(2)购买基金
  11. PYECHARTS 实战 国内/国际地图航线图制作 (一)
  12. 个人笔记本安装ubuntu系统
  13. nginx的安装以及简单代理域名
  14. 如何采用一套程序代码,实现系统的“千人千面”
  15. Julia学习笔记:使用GLM包进行一元回归分析及模型拟合度检验
  16. 共线条件方程及其应用
  17. XMPP与SIP-IM两大协议的对比
  18. 黑莓8700软件_莓友shadywb分享:我眼中的黑莓
  19. i5 12400f和i5 12600kf参数对比
  20. Android系统10 RK3399 init进程启动(十五) 配置新产品

热门文章

  1. reduce()使用场景、用法总结
  2. 数据库对象(同义词)
  3. 相空间重构matlab代码
  4. 我所理解的一心多用薄如纸屑
  5. 关于RNA-seq 的那点事Count 数的标准化 (一) RPKM 和FPKM,TPM及C(R)PM
  6. Wwise入门和实战
  7. Python 3.9.5安装教程
  8. 连接依赖与第五范式的个人理解
  9. Nerf论文前后介绍以及今后方向(2020年各个方向工作论文分析) NEURAL VOLUME RENDERING:NERF AND BEYOND
  10. Windows远程桌面工具连接Ubuntu系统使用总结