总共有三个文件:Person.java、Computer.java、Pk.java
Computer.java
package com.hxzy.day;
public class Computer {
private String Name="马化腾";
private int fist;
private int Score=0;
private int weight=1;
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public int getScore() {
return Score;
}
public void setScore(int score) {
Score = score;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getFist() {
return fist;
}
public void setFist() {
int fist= (int)(Math.random()*3+1);
this.fist = fist;
}
public Computer() {
}
public Computer(String name, int fist) {
Name = name;
this.fist = fist;
}
}
Person.java
package com.hxzy.day;
import java.util.Scanner;
public class Person {
private String Name="马云";
private int fist;
private int Score=0;
private int weight=1;
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public int getScore() {
return Score;
}
public void setScore(int score) {
Score = score;
}
public Person(String name, int fist) {
Name = name;
this.fist = fist;
}
public Person() {
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getFist() {
return fist;
}
public void setFist() {
Scanner scanner=new Scanner(System.in);
int fist=scanner.nextInt();
this.fist = fist;
}
}
Pk.java
package com.hxzy.day;
import java.util.Scanner;
public class Pk {
public static boolean result(int computerFist,int personFist) {
if (computerFist - personFist == 1 || computerFist - personFist == -2) {
return true;
} else {
return false;
}
}
public static void startGame(Person person,Computer computer){
Scanner scanner=new Scanner(System.in);
String select="y";
int n=1;
while(!"N".equals(select)){
System.out.println("-------------person pk computer--------------");
System.out.println("1.剪刀\t2.石头\t3.布");
System.out.println("请输入你的选择:");
person.setFist();
System.out.println("电脑选择的是:"+computer.getFist()+"\t你选择的是:"+person.getFist());
if(person.getFist()==computer.getFist()){
System.out.println("和局");
}else{
if(result(computer.getFist(),person.getFist())==true){
System.out.println("电脑获胜!");
computer.setScore(computer.getScore()+computer.getWeight());
}else {
System.out.println("你赢了!");
person.setScore(person.getScore()+person.getWeight());
}
}
System.out.println("是否结束:(N)");
select=scanner.next();
}
System.out.println("成绩如下:");
System.out.println("电脑:"+computer.getName()+"---"+computer.getScore()+"\t\t玩家:"+person.getName()+"---"+person.getScore());
}
public static void main(String[] args) {
Person person = new Person();
Computer computer = new Computer();
Scanner scanner=new Scanner(System.in);
System.out.println("***************游戏列表**************");
int option=0;
while(-1!=option){
System.out.println("1.开始游戏\n2.设置玩家名称\n3.设置电脑名称\n4.修改输赢权重");
option=scanner.nextInt();
switch (option){
case 1:{
startGame(person,computer);
break;
}
case 2:{
System.out.println("输入你的名称:");
person.setName(scanner.next());
break;
}
case 3:{
System.out.println("输入电脑的名称");
computer.setName(scanner.next());
break;
}
case 4:{
System.out.println("输入玩家/电脑赢的权重(1,1)");
String weight=scanner.next();
String[] fluter=weight.split(",");
person.setWeight(Integer.parseInt(fluter[0]));
computer.setWeight(Integer.parseInt(fluter[1]));
System.out.println("你赢的权重为:"+person.getWeight()+"\t电脑赢的权重为:"+computer.getWeight());
break;
}
default:{
System.out.println("选择错误");
break;
}
}
}
}
}
在以前的版本有一些小改进,尽量使用到多的Java知识点。应该把startGame()和判断胜负函数写到同一个包的其他文件下的,在主文件中只包含main()函数更好。以后有时间可以使用swing做一个界面,由在控制台输入变成点击按钮。还有很多的问题、很多需要学习的地方,加油。