package youxi;

public class Player {
private String name;
private double score;
public Player(String name, double score) {
super();
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}

private String setScore() {
// TODO Auto-generated method stub
return this.setScore() ;
}

private String setName() {
// TODO Auto-generated method stub
return this.setName();
}
}

package youxi;

import java.util.Scanner;

public class Game {

private Player player;
public Game (Player player){
this.player=player;
}

public void start(){
while(true){
System.out.println("开始游戏");
Scanner sc=new Scanner(System.in);
System.out.println("请输入剪刀石头布or退出");
String s1=sc.next();
if( s1.equals("退出")){
break;
}
String[] arr=new String[]{"剪刀","石头","布"};
int count=(int)(Math.random()*4);
String s2=arr[count];
int flag=rule(s1,s2);
if(flag>0){
System.out.println("机器人"+arr[count]+"~~~~~"+player.getName()+"赢了,加十分");
player.setScore(player.getScore()+10);

}
if(flag<0){
System.out.println("机器人"+arr[count]+"~~~~~"+player.getName()+"输了,减十分");
player.setScore(player.getScore()-10);

}
else if(flag==0){
System.out.println("机器人"+arr[count]+"~~~~~"+"平手");
}
System.out.println( player.getName()+":"+player.getScore());
}

}

/**
* 游戏规则
* @return
*/

public int rule(String s1,String s2){
if(s1.equals(s2))
{return 0;}
if(s1.equals("剪刀")){
if(s2.equals("石头")){
return -1;

}
if(s2.equals("布")){
return 1;
}
}
if(s1.equals("石头")){
if(s2.equals("布")){
return -1;

}
if(s2.equals("剪刀")){
return 1;
}
}
if(s1.equals("布")){
if(s2.equals("剪刀")){
return -1;

}
if(s2.equals("石头")){
return 1;
}
}

return 0;
}
}

package youxi;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Player p=new Player("志伟",100);
Game g=new Game(p);
g.start();

}

}

石头剪刀布的JAVA小程序 供初学者参考的更多相关文章

  1. 输出多行字符的一个简单JAVA小程序

    public class JAVA { public static void main(String[] args) { System.out.println("-------------- ...

  2. 微信小程序错误码参考大全

    开发过程中,会遇到很多微信返回的状态码,鬼知道代表什么意思,现在好了,整理总结了一份状态码,方便大家. 转载:http://www.yiyongtong.com/archives/view-1856- ...

  3. 浏览器兼容java小程序配置说明

    最近在使用的一个web应用系统是内嵌了java小程序,遇到了各种浏览器兼容性问题,现梳理如下: 1.通过以下链接检测当前电脑是否已经安装有java https://java.com/zh_CN/dow ...

  4. 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口

    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...

  5. java 小程序开发PKCS7Padding 解密方法实现,以及错误Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法

    近日在对接小程序API,其中wx.getUserInfo api返回的数据encryptedData 的解密算法要求为: AES-128-CBC,数据采用PKCS#7填充. 经过一番查询,得到java ...

  6. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  7. 2015.11.27初识java一集简单的java小程序

    JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...

  8. java的数据类型,几个java小程序

    1:求圆的面积 还好看了c++,不然直接看这课件还真是看不懂……加油吧 要从键盘读入数据可以用Scanner类的nextlnt()或者nextDouble()方法,首先创建Scanner类的一个实例, ...

  9. 首次编译Java小程序

    public class helloworld { public static void main(string[] args) { system.out.println("hello wo ...

随机推荐

  1. 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP

    前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle). 英文原文:htt ...

  2. [转]ASP.NET Core基本原理(11)-管理应用程序状态

    本文转自:http://zhuchenglin.me/fundamentals-11-app-state?utm_source=tuicool&utm_medium=referral ASP. ...

  3. 使用waitfor 语句

    aitfor语句用于延迟后面语句的执行,可以指定延迟时间长度是具体的时间.参考下面的语句: waitfor delay ’00:01:15’ print N’到时间了’    --也可以不加N 字符串 ...

  4. tomcat一个IP绑定多个域名,不同域名访问不同的应用

    修改conf文件夹下面的server.xml的Engine里面的内容即可原始内容如下: …… <Engine name="Catalina" defaultHost=&quo ...

  5. Ajax简单介绍和使用步骤

    Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写).现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax. 同步是指:发送方发出数据后,等 ...

  6. python私有成员

    在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用.在Python中,是通过_前缀来实现的. 正常的函数和变量名是公开的(publ ...

  7. JavaScript(Two)

    innerHtml xx.innerHtml 读取元素内的所有Html内容 xx.innerHtml = 新的值 替换元素内的所有Html内容 JS中不予许出现"-"; font- ...

  8. ArcGIS for Server使用AD中的用户配置

    ArcGIS for Server使用AD中的用户配置 1.概述 默认情况下,ArcGIS Server使用内置存储模式来管理用户和角色.该模式使用基于文件格式来存储信息.当然,ArcGIS Serv ...

  9. arcengine自己做一个工具Tool放到工具箱中

    // Copyright 2010 ESRI // // All rights reserved under the copyright laws of the United States // an ...

  10. android 自定义

    初级: 1.Android自定义View之一:初探实例 ——> onDraw 2.getwidth和getmeasuredwidth的区别以及两者的使用场景 3.Android 自定义View ...