人机猜拳游戏Java
作业要求:








我的代码:
package day20181119;
/**
* 猜拳游戏
* @author Administrator
* @version1.0
*/
import java.util.Scanner;
public class FingerGuessing {
String chName;
String name;
int i;
int ch1;
int Score1;
int ch2;
int Score2;
public void showLoginMenu(){
System.out.println("--------------欢迎来到游戏世界------------");
System.out.println("\t***********************");
System.out.println("\t *****猜拳,开始*****");
System.out.println("\t***********************");
System.out.println("\n出拳规则:1.剪刀2.石头3.布");
System.out.print("请选择对方角色:(1.刘备2.孙权3.曹操)");
Scanner input=new Scanner (System.in);
int ch=input.nextInt();
if(ch==1){
chName="刘备";
showStartGame();
}else if(ch==2){
chName="孙权";
showStartGame();
}else if(ch==3){
chName="曹操";
showStartGame();
}else{
System.out.println("您的输入有误,请重新输入!");
showLoginMenu();
}
}
public void showStartGame(){
Scanner input=new Scanner(System.in);
System.out.print("请输入您的姓名:");
name=input.nextLine();
System.out.println(name+"VS"+chName+"对战!");
showStart();
}
public void showStart(){
Scanner input=new Scanner(System.in);
i=i+1;
System.out.print("\n要开始第"+i+"轮吗?(Y/N)");
String ch=input.nextLine();
if(ch.equals("Y")){
showFist();
}else{
showResult2();
}
}
public void showFist(){
System.out.print("请出拳:1.剪刀2.石头3.布(输入相应数字):");
Scanner input=new Scanner(System.in);
ch1=input.nextInt();
if(ch1==1){
System.out.println("你出拳:剪刀");
showComputer();
}else if(ch1==2){
System.out.println("你出拳:石头");
showComputer();
}else if(ch1==3){
System.out.println("你出拳:布");
showComputer();
}
}
public void showComputer(){
ch2=(int)(Math.random()*3);
if(ch2==0){
System.out.println(chName+"出拳:剪刀");
showResult();
}else if(ch2==1){
System.out.println(chName+"出拳:石头");
showResult();
}else if(ch2==2){
System.out.println(chName+"出拳:布");
showResult();
}
}
public void showResult(){
if(ch1==1&&ch2==1||ch1==2&&ch2==2||ch1==3&&ch2==0){
System.out.println("结果是:^_^,你输了,下次加油啊!");
Score2++;
showStart();
}else if(ch1==1&&ch2==2||ch1==2&&ch2==0||ch1==3&&ch2==1){
System.out.println("结果是:恭喜,你赢了!");
Score1++;
showStart();
}else if(ch1==1&&ch2==0||ch1==2&&ch2==1||ch1==3&&ch2==2){
System.out.println("结果是:和局,真帅!");
showStart();
}
}
public void showResult2(){
System.out.println("------------------------------------");
System.out.println(name+"VS"+chName);
System.out.println("对战次数:"+(i-1));
System.out.println("姓名\t得分");
System.out.println(name+"\t"+Score1);
System.out.println(chName+"\t"+Score2);
if(Score1>Score2){
System.out.print("结果:恭喜恭喜!");
}else if(Score1<Score2){
System.out.println("结果:下次再加油哦!");
}else if(Score1==Score2){
System.out.println("真是皆大欢喜的结局呢!");
}
System.out.println("------------------------------------");
}
}
-------------------------------------------------------------------------------------
package day20181119;
public class TestFingerGuessing {
public static void main(String[] args) {
FingerGuessing game=new FingerGuessing();
game.showLoginMenu();
}
}
人机猜拳游戏Java的更多相关文章
- java 人机猜拳 游戏
人机猜拳-游戏 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用 定义一个电脑类:Computer.java 点击查看[Computer.java]代码 /** * @Title: 电脑类 ...
- Java 实现简单的人机猜拳游戏
import java.util.Scanner; import java.util.Random; public class TestGuess{ public static void main(S ...
- JAVA 猜拳游戏
JAVA 猜拳游戏 题目:通过控制台方式实现一个人机对战的猜拳游戏 用户通过输入(0.石头子 1.剪刀 2.布),机器随机生成(0.石头子 1.剪刀 2.布) 要求: 能打印玩家的对局信息,胜利的次数 ...
- python与java的猜拳游戏
python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...
- 有趣的java小项目------猜拳游戏
package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...
- Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观
Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java ...
- 猜拳游戏三局两胜------java实现代码
package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ...
- Java中利用随机数的猜拳游戏
Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...
- JAVA基础代码分享--模拟人机猜拳系统
问题描述: 一.主要功能: .电脑与人互动,实现“剪刀.石头.布”的游戏: 1.1 角色登陆: ******************** ***欢迎进入猜拳游戏*** **************** ...
随机推荐
- myloader原理介绍
myloader恢复主要流程 1.首先由myloader主线程完成建库建表,依次将备份目录下建库和建表文件执行应用到目标数据库实例中: 2.接着myloader主线程会生成多个工作线程,由这些 ...
- MySQL 的三个浮点类型
MySQL 支持的三个浮点类型是 FLOAT.DOUBLE 和 DECIMAL 类型. FLOAT 数值类型用于表示单精度浮点数值, DOUBLE 数值类型用于表示双精度浮点数值. 与整数一样,这些类 ...
- arcgis api for flex 开发入门
参考:http://blog.sina.com.cn/s/articlelist_2346836525_1_1.html 参考教程:https://www.jb51.net/books/81280.h ...
- @responsebody 返回json
添加jackson依赖 添加@ResponseBody 测试: 注意,如果输入中文,出现乱码现象,则需要@RequestMapping(value="/appinterface" ...
- c# 继承与多种状态
可访问性: public 无限制 internal 只允许在同一个程序集访问 protected ...
- EasyUI添加进度条
EasyUI添加进度条 添加进度条重点只有一个,如何合理安排进度刷新与异步调用逻辑,假如我们在javascript代码中通过ajax或者第三方框架dwr等对远程服务进行异步调用,实现进度条就需要做到以 ...
- Linux基础命令---检查密码文件pwck
pwck 检查用户密码文件“/etc/passwd”和“/etc/shadow”的完整性,将验证结果送到标砖输出.提示用户删除格式不正确或有其他不可更正错误的条目.检查以验证每个条目是否具有:正确的字 ...
- Linux基础命令---文本统计wc
wc 统计文件的字节数.单词数.行数. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 wc [选项] f ...
- MySQL 0Day漏洞出现 该漏洞可以拿到本地Root权限
2016年9月12日, legalhackers.com网站发布了编号为CVE-2016-6662的0day漏洞公告 .由于该漏洞可以获得MySQL服务器的Root权限,且影响MySql5.5.5.6 ...
- Ubuntu 为 root 帐号开启 SSH 登录
1. 修改 root 密码sudo passwd root 2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config :xxx@ubuntu:~$ su - ro ...