public class Person implements Comparable<Person>{
public int num1=0;
public int num2=0;
public int num3=0;
public String name1;
public String name2;
public String name3;
//无参构造方法
public Person(){
}
public Person(int num1, int num2, int num3, String name1, String name2,String name3) {
super();
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
this.name1 = name1;
this.name2 = name2;
this.name3 = name3;
}
public int compareTo(Person o) {
return this.num1-o.num1;
}
}
package cn.xtgj.dao;
import java.util.Scanner;
/**
* 项目名称:
石头剪子布游戏系统
1、规则同日常游戏,石头赢剪子,剪子布赢,布赢石头
2、支持二人、三人、四人玩(可选做一种)
3、能设定局次、奖分规则(如几次为一局)
4、系统统计得分、排名
5、(选做:支持人与电脑玩)
*
*/
public class Dao {
//Person p=new Person();
Scanner sc=new Scanner(System.in);
public int num1;//马云输入的
public int num2;//俞敏洪输入的
public int num3;//雷军输入的
public void oneGame(){
System.out.println("马云:");
System.out.println("请输入:(1)剪刀 (2)石头 (3)布");
num1=sc.nextInt();
switch(num1){
case 1:
System.out.println("马云:剪刀");
break;
case 2:
System.out.println("马云:石头");
break;
case 3:
System.out.println("马云:布");
break;
default:
System.out.println("你输入有误,请重新输入!");
}
}
public void twoGame(){
System.out.println("俞敏洪:");
System.out.println("请输入:(1)剪刀 (2)石头 (3)布");
num2=sc.nextInt();
switch(num2){
case 1:
System.out.println("俞敏洪:剪刀");
break;
case 2:
System.out.println("俞敏洪:石头");
break;
case 3:
System.out.println("俞敏洪:布");
break;
default:
System.out.println("你输入有误,请重新输入!");
}
}
public void threeGame(){
System.out.println("雷军:");
System.out.println("请输入:(1)剪刀 (2)石头 (3)布");
num3=sc.nextInt();
switch(num3){
case 1:
System.out.println("雷军:剪刀");
break;
case 2:
System.out.println("雷军:石头");
break;
case 3:
System.out.println("雷军:布");
break;
default:
System.out.println("你输入有误,请重新输入!");
}
}
/*//电脑
public void computer(){
System.out.println("电脑");
int num=(int)(Math.random()*3)+1;
switch(num){
case 1:
System.out.println("电脑:剪刀");
break;
case 2:
System.out.println("电脑:石头");
break;
case 3:
System.out.println("电脑:布");
break;
}
}*/
public void score(){
//奖分
}
}
package cn.xtgj.daomain;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
import cn.xtgj.dao.Dao;
import cn.xtgj.model.Person;
/**
*
* 项目名称:
石头剪子布游戏系统
1、规则同日常游戏,石头赢剪子,剪子布赢,布赢石头
2、支持二人、三人(可选做一种)
3、能设定局次、奖分规则(如几次为一局)
4、系统统计得分
5、(选做:支持人与电脑玩)
*
*
*/
public class GameMain {
static Person p=new Person();
static Dao dao=new Dao();
static Scanner sc=new Scanner(System.in);
static int options;
//创建集合
static TreeMap<String,Integer> map=new TreeMap<String,Integer>();
public static void main(String[] args) {
System.out.println("***猜拳游戏***");
while(true){
System.out.println("请输入玩法:(A)二人游戏 (B)三人游戏 (C)查看得分和排名 (D)退出系统 ");
String option=sc.next();
if("a".equalsIgnoreCase(option)){
//二人游戏
p.num1=0;//将分数清空
p.num2=0;//将分数清空
System.out.println("请设定局数:");
//只有输入数字才生效
if(sc.hasNextInt()){
options=sc.nextInt();
}
for(int count=0;count<options;count++){
System.out.println("玩家一,请输入:");
dao.oneGame();//玩家一
System.out.println();
System.out.println("玩家二,请输入:");
dao.twoGame();//玩家二
System.out.println();
if((dao.num1==1 && dao.num2==3) || (dao.num1==2 && dao.num2==1) || (dao.num1==3 && dao.num2==2)){
System.out.println("玩家一获胜(马云胜!)");
p.num1++;
}
else if((dao.num2==1 && dao.num1==3) || (dao.num2==2 && dao.num1==1) || (dao.num2==3 && dao.num1==2)){
System.out.println("玩家二获胜(俞敏洪胜!)");
p.num2++;
}
else{
System.out.println("平分秋色...");
}
}
map.clear();//清空
map.put("马云",p.num1);
map.put("俞敏洪",p.num2);
}
else if("b".equalsIgnoreCase(option)){
//三人游戏
//清空之前的计分
p.num1=0;
p.num2=0;
p.num3=0;
System.out.println("请设定局数:");
//只有输入数字才生效
if(sc.hasNextInt()){
options=sc.nextInt();
}
for(int count=0;count<options;count++){
System.out.println("玩家一,请输入:");
dao.oneGame();
System.out.println("玩家二,请输入:");
dao.twoGame();
System.out.println("玩家三,请输入:");
dao.threeGame();
if((dao.num1==1 && dao.num2==3 && dao.num3==3) || (dao.num1==2 && dao.num2==1 && dao.num3==1) || (dao.num1==3 && dao.num2==2 && dao.num2==2)){
System.out.println("玩家一获胜,(马云胜!)");
p.num1++;
}
else if((dao.num2==1 && dao.num1==3 && dao.num3==3) || (dao.num2==2 && dao.num1==1 && dao.num3==1) || (dao.num2==3 && dao.num1==2 && dao.num2==2)){
System.out.println("玩家二获胜,(俞敏洪胜!)");
p.num2++;
}
else if((dao.num3==1 && dao.num2==3 && dao.num1==3) || (dao.num3==2 && dao.num2==1 && dao.num1==1) || (dao.num3==3 && dao.num2==2 && dao.num1==2)){
System.out.println("玩家三获胜,(雷军胜!)");
p.num3++;
}
else if((dao.num1==1 && dao.num2==1 && dao.num3==3) || (dao.num1==2 && dao.num2==2 && dao.num3==1) || (dao.num1==3 && dao.num2==3 && dao.num3==2)){
System.out.println("玩家一和玩家二战胜了玩家三,(马云和俞敏洪获胜!)");
p.num1++;
p.num2++;
}
else if((dao.num1==1 && dao.num3==1 && dao.num2==3) || (dao.num1==2 && dao.num3==2 && dao.num2==1) || (dao.num1==3 && dao.num3==3 && dao.num2==2)){
System.out.println("玩家一和玩家三战胜了玩家二,(马云和雷军获胜!)");
p.num1++;
p.num3++;
}
else if((dao.num2==1 && dao.num3==1 && dao.num1==3) || (dao.num2==2 && dao.num3==2 && dao.num1==1) || (dao.num2==3 && dao.num3==3 && dao.num1==2)){
System.out.println("玩家二和玩家三战胜了玩家一,(俞敏洪和雷军获胜!)");
p.num2++;
p.num3++;
}
else if((dao.num1==1 && dao.num2==2 && dao.num3==3) || (dao.num1==1 && dao.num2==3 && dao.num3==2) || (dao.num2==1 && dao.num1==2 && dao.num3==3) || (dao.num2==1 && dao.num1==3 && dao.num3==2) || (dao.num3==1 && dao.num1==3 && dao.num2==2) || (dao.num3==1 && dao.num1==2 && dao.num2==3) || (dao.num1==1 && dao.num2==1 && dao.num3==1) || (dao.num1==2 && dao.num2==2 && dao.num3==2) || (dao.num1==3 && dao.num2==3 && dao.num3==3)){
System.out.println("平分秋色...");
}
}
map.clear();//先清空之前的
map.put("马云",p.num1);
map.put("俞敏洪",p.num2);
map.put("雷军",p.num3);
}
else if("c".equalsIgnoreCase(option)){
//查看排名奖分系统
Set<Entry<String,Integer>> set=map.entrySet();
Iterator<Entry<String,Integer>> it=set.iterator();
System.out.println("姓名 得分");
while(it.hasNext()){
System.out.println(it.next());
}
}
else if("d".equalsIgnoreCase(option)){
//退出系统
System.out.println("已退出...");
System.exit(0);
}
else{
System.out.println("你输入的有误,请重新输入!");
}
}
}
}