/**
* 计算机玩家类
*
* */
import java.util.Scanner;
public class ComputerPlayer {
//属性
String name;
int score;
//方法
public int showFist(){
int fistNo = (int)(Math.random() * 3 + 1);
String fistType = "";
switch (fistNo){
case 1:
fistType = "剪刀";
break;
case 2:
fistType = "石头";
break;
case 3:
fistType = "布";
break;
}
System.out.println(name + "出拳:" + fistType);
return fistNo;
}
}
public class TestComputerPlayer {
public static void main(String[] args) {
ComputerPlayer computerplay = new ComputerPlayer();
computerplay.name ="曹操";
System.out.println(computerplay.showFist());
}
}
/**
* 玩家类
* */
import java.util.Scanner;
public class PersonPlayer {
String name;
int score;
public int showFist() {
Scanner input = new Scanner(System.in);
System.out.print("请出拳:1.剪刀 2.石头 3.布(输入相应的数字):");
int fistNo = input.nextInt();
String fistType = "";
switch (fistNo){
case 1:
fistType = "剪刀";
break;
case 2:
fistType = "石头";
break;
case 3:
fistType = "布";
break;
}
System.out.println("你出拳:" + fistType);
return fistNo;
}
}
public class TestPersonPlayer {
public static void main(String[] args) {
PersonPlayer personplayer = new PersonPlayer();
System.out.println(personplayer.showFist());
}
}
import java.util.Scanner;
public class Game {
int times; //记录游戏的次数
ComputerPlayer computerPlayer; //null
PersonPlayer personPlayer; //null
public void init() {
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
System.out.print("选择对方角色(1:刘备 2:孙权 3:曹操):");
Scanner input = new Scanner(System.in);
int role = input.nextInt();
computerPlayer = new ComputerPlayer();
switch (role) {
case 1:
computerPlayer.name = "刘备";
break;
case 2:
computerPlayer.name = ("孙权");
break;
case 3:
computerPlayer.name = ("曹操");
break;
default:
break;
}
System.out.print("请输入你的名字:");
personPlayer = new PersonPlayer();
personPlayer.name = input.next();
System.out.println(personPlayer.name + " VS " + computerPlayer.name + " 对战");
System.out.println();
}
public void star() {
Scanner input = new Scanner(System.in);
System.out.print("要开始吗(y/n):");
String isBegin = input.next();
if (isBegin.equalsIgnoreCase("y")) {
int personFistNo = 0;
int computerFistNo = 0;
String isNext = "";
do {
times++;
personFistNo = personPlayer.showFist();
computerFistNo = computerPlayer.showFist();
calcOnceResult(personFistNo, computerFistNo);
System.out.print("是否进入下一轮(y/n)");
isNext = input.next();
} while (isNext.equalsIgnoreCase("y"));
}
print();
}
public void calcOnceResult(int personFistNo, int computerFistNo) {
if (personFistNo == computerFistNo) {
//各加1分
personPlayer.score++;
computerPlayer.score++;
System.out.println("握手言和");
} else {
//人胜
if ((personFistNo == 1 && computerFistNo == 3) || (personFistNo == 2 && computerFistNo == 1)
|| (personFistNo == 3 && computerFistNo == 2)) {
personPlayer.score = personPlayer.score + 2;
System.out.println("人定胜天");
} else {
computerPlayer.score += 2; //computerPlayer.score = computerPlayer.score + 2
System.out.println("计算机胜利");
}
}
}
public void print() {
System.out.println("------------------------------------------");
System.out.println(computerPlayer.name + " VS " + personPlayer.name);
System.out.println("对战次数:" + times);
System.out.println("姓名\t\t得分");
System.out.println(personPlayer.name + "\t\t" + personPlayer.score);
System.out.println(computerPlayer.name + "\t\t" + computerPlayer.score);
calcTotalResult();
System.out.println("------------------------------------------");
}
public void calcTotalResult() {
if (personPlayer.score > computerPlayer.score) {
System.out.println("最终结果:人胜");
} else if (personPlayer.score == computerPlayer.score) {
System.out.println("最终结果:平局");
} else {
System.out.println("最终结果:人机胜");
}
}
}
public class TestGame {
public static void main(String[] args) {
Game game = new Game();
game.init();
game.star();
}
}
最终组合成完全体
public class GameApp {
public static void main(String[] args) {
//游戏界面
System.out.println("----------------------欢迎进入游戏世界----------------------");
System.out.println(" ************************ ");
System.out.println(" *******猜拳 ,开始****** ");
System.out.println(" ************************ ");
//组装游戏部分
Game game = new Game();
//初始化
game.init();
//开始游戏
game.star();
//输出游戏统计结果
game.print();
//输出游戏最终结果
game.calcTotalResult();
}
}