JAVA 猜拳游戏

题目:通过控制台方式实现一个人机对战的猜拳游戏

用户通过输入(0.石头子 1.剪刀 2.布),机器随机生成(0.石头子 1.剪刀 2.布)

要求:

  1. 能打印玩家的对局信息,胜利的次数,平局次数,和平局次数
package HomeWorkExercise;

import java.util.Iterator;
import java.util.Random;
import java.util.Scanner; public class Homework14 {
public static void main(String args[]) {
String name = "小杨";
Game game = new Game(name); //进行10次猜拳
for(int i = 1 ; i <= 5 ; i++) { game.play();
System.out.println();
} //打印情况
game.getInfo(); }
} /*
* 思路
* 0 石头 1剪刀 2布
* 1.电脑端:生成一个随机数 并返回,0~2
* 2.玩家:用户输入,0~2,超出范围提示输入错误,并重新输入
* 3.进行猜拳游戏
* 进行枚举
* 电脑端 0
* 玩家出2 算赢,0算平局,1算输
* 电脑端 1
* 玩家出0 算赢,1算平局,2算输
* 电脑端 2
* 玩家出1 算赢,2算平局,0算输
*/
class Game{
String name;
int win = 0;
int fail = 0;
int draw = 0; //构造器
public Game(String name) {
this.name = name;
} //生成电脑出的数
public int computer() {
Random r1 = new Random();
return r1.nextInt(2);
} //获取玩家出的数
public int player() {
Scanner sc = new Scanner(System.in);
int input;
//从键盘获取一个数 0~2
while(true) {
System.out.print("请输入一个数(0~2):");
input = sc.nextInt();
if(input >=0 && input <=2) {
break;
}else{
System.out.println("输入有误,请输入0~2这三个数");
}
}
return input;
} //开始游戏
public void play() {
int computer = this.computer();
int player = this.player(); //电脑出石头
if(computer == 0 ) {
System.out.println("电脑:石头");
if(player == 2) {
System.out.println("您:布");
System.out.println("胜利");
this.win++;
}else if(player == 0) {
System.out.println("您:石头");
System.out.println("平局");
this.draw++;
}else {
System.out.println("您:剪刀");
System.out.println("失败");
this.fail++;
}
} //电脑出剪刀
if(computer == 1 ) {
System.out.println("电脑:剪刀");
if(player == 0) {
System.out.println("您:石头");
System.out.println("胜利");
this.win++;
}else if(player == 1) {
System.out.println("您:剪刀");
System.out.println("平局");
this.draw++;
}else {
System.out.println("您:布");
System.out.println("失败");
this.fail++;
}
} //电脑出布
if(computer == 2 ) {
System.out.println("电脑:布");
if(player == 1) {
System.out.println("您:剪刀");
System.out.println("胜利");
this.win++;
}else if(player == 2) {
System.out.println("您:布");
System.out.println("平局");
this.draw++;
}else {
System.out.println("您:石头");
System.out.println("失败");
this.fail++;
}
}
} //获得输赢次数
public void getInfo() {
System.out.println("玩家:"+this.name);
System.out.println("输赢次数如下");
System.out.println("胜利\t平局\t失败");
System.out.println(this.win+"\t" + this.draw +"\t" + this.fail +"\t");
} }

JAVA 猜拳游戏的更多相关文章

  1. python与java的猜拳游戏

    python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...

  2. 人机猜拳游戏Java

    作业要求: 我的代码: package day20181119;/** * 猜拳游戏 * @author Administrator * @version1.0 */import java.util. ...

  3. 有趣的java小项目------猜拳游戏

    package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...

  4. Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观

    Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java  ...

  5. 猜拳游戏三局两胜------java实现代码

    package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ...

  6. Java中利用随机数的猜拳游戏

    Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...

  7. java 人机猜拳 游戏

    人机猜拳-游戏 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用 定义一个电脑类:Computer.java 点击查看[Computer.java]代码 /** * @Title: 电脑类 ...

  8. java--demo之猜拳游戏

    版本1:人机大战  基础随机出    用户键盘录入 package com.hainiu.demo; import java.util.Scanner; /* * 人机大战石头剪刀布 */ publi ...

  9. JavaScript--面向对象--猜拳游戏

    //html代码 <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

随机推荐

  1. CKKS Part5: CKKS的重缩放

    本文翻译于 CKKS EXPLAINED, PART 5: RESCALING,主要介绍CKKS方案中最重要的技术- rescaling,重缩放技术 介绍 在CKKS的前一篇文章 CKKS Part4 ...

  2. 【XR-2】伤痕

    不难发现,直接漫无目的地构造不是一个好的选择,因为我们并不知道选择四座城市方案的上界是什么,因此下面可以来先分析一下这个方案的上界. 首先可以考虑这使得这四个点的导出子图是强连通的方案数,但是经过尝试 ...

  3. ApacheJemeter的简单使用

    前言:最近由于工作需要进行接口测试,故简单复习一下ApacheJemeter的使用 安装包下载地址: 链接:https://pan.baidu.com/s/11ywNWRUkFNNBCWw4HiO6B ...

  4. 认识Html DOM

    1.认识HTML DOM HTML Document Object Model 即:超文本标记语言-文档对象模型 HTML DOM理解为网页的API.它将网页中的各个元素都看作一个个对象,从而使网页中 ...

  5. C++中的常见错误

    1.变量定义位置错误 1 int sum = 0; 2 3 do 4 { 5 int i = 1; 6 sum += i; 7 i++; 8 }while(i <= 100);//错误:i没有定 ...

  6. Lab: Web shell upload via Content-Type restriction bypass

    首先上传一个正常头像. 之后,上传木马文件,并抓包 POST /my-account/avatar HTTP/1.1 Host: ac4f1f7d1eaa6cd2c0d80622001b00f9.we ...

  7. 微信小程序音频播放 InnerAudioContext 的用法

    今天项目上涉及到了微信小程序播放音频功能,所以今天跟着一些教程做了个简单的播放器 1.实现思路 刚开始想着有没有现成的组件可以直接用,找到了微信的媒体组件 audio,奈何看着 1.6.0版本开始,该 ...

  8. java程序出现oom如何解决?什么场景下会出现oom?

    1.什么是oom? OOM,全称"Out Of Memory",翻译成中文就是"内存用完了",来源于java.lang.OutOfMemoryError. 当J ...

  9. 虫师Selenium2+Python_00学习大纲

        1.自动化测试基础 5.自动化测试模型 9.Selenium Grid2 13.GitHub托管项目 2.测试环境搭建 6.SeleniumIDE 10.Python多线程 14.持续集成Je ...

  10. Apache虚拟主机的搭建及相关问题解决

    在开发的过程中,很多时候项目的部署都需要在本地进行虚拟服务器的模拟搭建,所以具体的配置流程为下,并且把自己遇到的问题跟大家分享. 1.Apache配置文件httpd.conf 找到   # Virtu ...