使用java实现猜拳小游戏
作者:YL5335 发布时间:2023-11-25 17:30:16
标签:java,猜拳
本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下
实现下图要求
public class User {
private String u_name;
private int u_score;
public User() {
super();
}
public User(String name, int score) {
super();
this.u_name = name;
this.u_score = score;
}
public String getName() {
return u_name;
}
public void setName(String name) {
this.u_name = name;
}
public int getScore() {
return u_score;
}
public void setScore(int score) {
this.u_score = score;
}
/**
* 出拳方法
* @param choice 选择的数字代表出拳(1:石头2:剪刀3:布)
* @return str 返回你所选择的出拳
*/
public String chuQuan(int choice){
String str = "";
switch (choice) {
case 1:
str = "石头";
break;
case 2:
str = "剪刀";
break;
case 3:
str = "布";
break;
default:
System.out.println("未知错误");
break;
}
return str;
}
}
public class Computer {
private String c_name;
private int c_score;
public String getName() {
return c_name;
}
public void setName(String name) {
this.c_name = name;
}
public int getScore() {
return c_score;
}
public void setScore(int score) {
this.c_score = score;
}
/**
* 出拳方法
* @param choice 选择的数字代表出拳(1:石头2:剪刀3:布)
* @return str 返回你所选择的出拳
*/
public String chuQuan(int choice){
String str = "";
switch (choice) {
case 1:
str = "石头";
break;
case 2:
str = "剪刀";
break;
case 3:
str = "布";
break;
default:
System.out.println("未知错误");
break;
}
return str;
}
}
import java.util.Scanner;
public class Game {
Scanner input = new Scanner(System.in);
private User user;
private Computer computer;
private int count;
private int c_score;
private int u_score;
//初始化方法
public void init(){
user = new User();
computer = new Computer();
System.out.println("-----------------欢迎进入游戏世界------------------");
System.out.println("\t **************************");
System.out.println("\t\t** 猜拳,开始 **");
System.out.println("\t **************************");
System.out.println();
System.out.println("出拳规则:1.石头 2.剪刀 3.布");
System.out.print("请选择对方角色:(1:曹操 2:孙权 3:刘备):");
int key = input.nextInt();
switch (key) {
case 1:
computer.setName("曹操");
break;
case 2:
computer.setName("孙权");
break;
case 3:
computer.setName("刘备");
break;
default:
System.out.println("非法输入...");
break;
}
System.out.print("请输入你的姓名:");
user.setName(input.next());
System.out.println(user.getName()+" VS "+computer.getName());
begin();
}
//是否开始执行 循环执行直到输入n结束
public void begin(){
System.out.print("要开始吗(y/n):");
// boolean falg = true;
String str = input.next();
if(str.equals("y")){
while(true){
score();
System.out.print("是否开始下一轮:(y/n)");
String str1 = input.next();
count++;
if(str1.equals("y")){
}else{
// falg = false;
break;
}
}
}
show();
}
//人和机器出拳并判断胜负 此处计算比赛次数 双方得分
public void score(){
System.out.print("请出拳:");
int choice1 = input.nextInt();
String str1 = user.chuQuan(choice1);
int choice2 = (int)(Math.random()*3+1);
String str2 = computer.chuQuan(choice2);
System.out.println("你出拳"+str1);
System.out.println(computer.getName()+"出拳"+str2);
if(choice1 == choice2){
System.out.println("结果:平局");
}else if(choice2-choice1==-1||choice2-choice1==2){
System.out.println("结果:"+computer.getName()+"获胜...");
c_score++;
computer.setScore(c_score);
}else if(choice1-choice2==-1||choice1-choice2==2){
System.out.println("结果:恭喜你,你获胜...");
u_score++;
user.setScore(u_score);
}
}
//显示比赛结果并比较得得出最后胜负
public void show(){
System.out.println("--------------------------------");
System.out.println(user.getName()+" VS "+computer.getName());
System.out.println("对战次数:"+count+"\n\n");
System.out.println("姓名\t得分");
System.out.println(user.getName()+"\t"+user.getScore());
System.out.println(computer.getName()+"\t"+computer.getScore()+"\n");
if(user.getScore()>computer.getScore()){
System.out.println("结果:恭喜恭喜");
}else if(user.getScore()<computer.getScore()){
System.out.println("结果:再接再厉");
}else{
System.out.println("结果:平局");
}
System.out.println("--------------------------------");
}
}
测试类
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Game game = new Game();
game.init();
}
}
这样猜拳小游戏就实现了。
来源:https://blog.csdn.net/YL5335/article/details/119143642


猜你喜欢
- SpringMVC常用组件DispatcherServlet:前端控制器,不需要工程师开发,由框架提供作用:统一处理请求和响应,整个流程控制
- 在软件开发过程中经常需要知道程序运行的大概时间,或者需要在规定时间内取数据,这是可以使用下面的方法获取时间段,还可以用在限时循环方法一:/*
- 提示:IntelliJ IDEA以下简称IDEA;####IntelliJ IDEA 配置git:需要的材料:一、git.exe二、配置gi
- 目录通过Resource接口手动加载通过@Value自动转换通过ResourceLoader加载使用ResourceUtils加载资源读取资
- 本文实例为大家分享了Java实现员工管理系统的具体代码,供大家参考,具体内容如下本系统主要练习到的相关内容: 1、 流程控制语句 2、 类、
- 本文实例讲述了C#调用VB进行简繁转换的方法。分享给大家供大家参考。具体分析如下:首先在C#项目中引用Microsoft.VisualBas
- 目录问题为每个request设置超时值Http Handler给Request加上超时处理抛出正确的异常使用Handler总结HttpCli
- 学会了Paint,Canvas的基本用法之后,我们就可以动手开始实践了,先写个简单的图片加载进度条看看。按照惯例,先看效果图,再决定要不要往
- 最近项目需要用到可以滑动删除并且带有上拉加载下拉刷新的Listview,查阅了一些资料,大多都是在SwipeMenuListView的基础上
- 本文实例讲述了C#生成随机数功能。分享给大家供大家参考,具体如下:using System;using System.Collections
- 本文为大家整理了C#图片切割、图片压缩、缩略图生成的实现代码,大家可以收藏,方便以后使用,具体内容如下/// 图片切割函数 /// <
- 本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值。分享给大家供大家参考借鉴之用。具体功能代码如下:public s
- 什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行
- 接触过Android开发的同学们都知道在Android中访问程序资源基本都是通过资源ID来访问。这样开发起来很简单,并且可以不去考虑各种分辨
- Looper是整个跨线程通信的管理者 // 内部持有的变量如下: ThreadLocal
- 本文实例讲述了Spring实战之方法级别缓存用法。分享给大家供大家参考,具体如下:一 配置文件<?xml version="
- 本文实例讲述了Java实现将png格式图片转换成jpg格式图片的方法。分享给大家供大家参考,具体如下:import java.awt.Col
- 安卓原生的按钮是多么丑,效果是多么单调,大家也是有目共睹的。 要做一个APP少不了使用按钮,一个好看的按钮少不了好看的效果和外表,这次主要跟
- 什么是继承面向对象的特征:封装:不必要公开的数据成员和方法,使用private关键字进行修饰。意义:安全性。背景代码中创建的类, 主要是为了
- 简介我们在开发web应用的时候,有时候为了适应浏览器大小的调整,需要动态对页面的组件进行位置的调整。这时候就会用到flow layout,也