Java猜拳小游戏(面向对象版)
主要功能:
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猜拳小游戏(面向对象版)相关推荐
- 简单的java猜拳小游戏
简单的java猜拳小游戏 /*** 猜拳小游戏* @ author lyle*/import java.util.Scanner;public class 猜拳小游戏 {public static v ...
- java小朋友猜拳_[Java教程]Java猜拳小游戏(剪刀、石头、布)
[Java教程]Java猜拳小游戏(剪刀.石头.布) 0 2015-09-29 08:00:04 import java.util.Random;import java.util.Scanner;pu ...
- c语言猜拳游戏实训报告,Java猜拳小游戏程序设计实验报告.doc
Java程序设计实验报告 班级: 学号: 姓名: 实验题目:猜拳小游戏 实验要求: 用java编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况.有简单的操作界面. 实验 ...
- Java五子棋小游戏简单版(3)
JAVA五子棋 前言,既(2)之后,做了一下改进,如界面的优化,棋子的优化,AI对战的实现 还是回顾一下我们之前(1)(2)的工作 建立一个Chess包→界面类ChessUI→画棋子类DrawChes ...
- Java斗地主小游戏有序版
题目 斗地主综合案例:有序版 1.准备牌:大王小王 52张牌:循环嵌套遍历两个集合,组装52张牌 可以使用Map<Integer,String>集合储存牌的索引+组装好的牌.创建一个Lis ...
- JAVA打字小游戏,面向对象完成
测试类,测试类主要是用于引用,将我们进行引入 package com.ytzl.Project.work;public class Test {public static void main(Stri ...
- 用java写猜拳小游戏
题目:用面向对象编程的思想,设计一个猜拳游戏,完成人机猜拳互动游戏的开发. 题目要求: 基本思想: 各部分主要代码: Npc1类代码: Player1类: content方法: checked方法: ...
- 实现石头剪刀布获胜法_用java实现一个猜拳小游戏
本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 项目名称 猜拳小游戏 项目描述 玩家与电脑进行猜拳游戏,玩家行为采用输入方式,电脑行为采用随机形式. 实现: User类 ...
- 【java学习】猜拳小游戏
猜拳小游戏,实现内容:选择对战人物,记录对战详情,循环对战,记录胜场,第21行的ROBOT方法思路不错,记录一下 package day1204;import day1203.Acount;impor ...
最新文章
- 数据库中的数据类型和c#的数据类型的映射表[转]
- Java NIO系列教程(一) Java NIO 概述
- LeetCode Third Maximum Number
- jQuery源码 Ajax模块分析
- wordpress woodstock主题导入demo xml文件 execution time out
- Android Kotlin Flow 如何使用callbackflow
- 第一个Sprint冲刺成果
- maven自定义webapp目录
- 【2020团体程序设计天梯赛】L1部分(PTA,L1-065到L1-072)题解代码
- 小视频app开发过程中关于转码问题的经验总结
- 编译」(compile),与「反编译」(decompile)..哪些语言容易被反编译.
- jackson框架java反序列化漏洞_Jackson CVE-2019-12384: 反序列化漏洞复现
- 北京/上海内推 | 微软亚洲研究院系统与网络组招聘全职实习生
- ssis oracle配置,[SSIS][Oracle]安裝 Oracle Driver 提供 SSIS 使用
- [爬虫项目]猫眼电影TOP100
- 超级详细的 Maven 教程(基础+高级)
- z77主板升级nvme,迁移系统,蓝屏解决方法
- 【Codeforces Round #695 (Div. 2) B】Hills And Valleys
- Gazebo模型制作dae
- 肖特基二极管、瞬态二极管、普通二极管等各种二极管的区别?
热门文章
- 山东大学软件学院创新实训——飞讯(二)
- java scanner怎么循环_java怎么实现循环输入一个数?
- 【日常学习笔记】2019/1/10(Oracle语句学习)
- bilibili录播姬使用文档
- 计算机科学技术学院博逸楼,逍遥二路(宁夏路)附近校内附属设施
- 5.17世界电信日,蚂蚁客服与你一起同行
- 2016首届对象存储技术及应用大会在京成功召开
- 使用a标签的href来实现点击手机号拨打电话
- 关于通达信数据格式的发布
- RPKM, FPKM, TPM ????