石头剪刀布的JAVA小程序 供初学者参考
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();
}
}
最新文章
- OpenGL glMultMatrixf() glPushMatrix() glPushMatrix()浅析
- UltraEdit 注册机使用说明
- PLL失锁
- Tomcat - SSL操作大全
- Android 常见问题收集 (持续更新)
- Java API —— Set接口 &; HashSet类 &; LinkedHashSet类
- 三、Socket之UDP异步传输文件-多文件传输和文件MD5校验
- Yii Framework 开发教程Zii组件-Tabs示例
- c++ 顺序容器学习 - 容器适配器
- china-pub
- python进阶(4):初始面向对象
- Java 逆变与协变
- JS实现数组每次只显示5条数据
- codeforces 842D Vitya and Strange Lesson
- Linux学习之CentOS(九)-----文件与目录的默认权限与隐藏权限
- 数据库4m10d作业
- TCP-IP详解笔记3
- php 微信调用扫一扫
- 856. Score of Parentheses
- C++ 指针悬挂和赋值操作符的重载,拷贝构造函数实现