class Player {
private String name;
private int num;
public Player() {
}
public Player(String name) {
this.name=name;
}
public Player(String name, int num) {
this.name=name;
this.num=num;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name=name;
}
public void setNum(int num) {
this.num=num;
}
public int getNum() {
return this.num;
}
public int show()
{
return num;
}
}
-
定义一个计算机玩家类ComputerPlayer:
它有一个成员变量(name)和一个成员方法(show)。其中的成员变量表示它的名称,成员方法表示出拳的行为,出的拳值是由系统产生随机数表示。(提示:随机数可以使用Math.random()方法,或使用Random类)
import java.util.Random;
class ComeputerPlater extends Player{
public ComeputerPlater() {
}
public ComeputerPlater(String name) {
super(name);
}
public int show()
{
int num = new Random().nextInt(3)+1;
return num;
}
}
-
定义一个游戏玩家类PersonPlayer:
它有一个成员变量(name)和一个成员方法(show)。其中的成员变量表示它的名称,成员方法表示出拳的行为,出的拳值是由用户输入的整数表示。
class PersonPlayer extends Player{
public PersonPlayer() {
}
public PersonPlayer(String name,int num) {
super(name,num);
}
}
-
定义一个游戏类Game:
它有两个成员变量(computer\player)和一个成员方法(start),其中的成员变量分别表示两个对手,一个是计算机玩家对象,一个是游戏玩家对象。成员方法表示一次游戏过程。
import java.util.Scanner;
class Game {
public Game() {
}
//游戏过程
public void start() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入1,2,3,分别表示剪刀,石头,布:");
int num=sc.nextInt();
PersonPlayer person = new PersonPlayer("person",num);
int p=person.show();
ComeputerPlater computer = new ComeputerPlater("computer");
int c=computer.show();
System.out.println(computer.getName()+" show is "+c);
System.out.println(person.getName()+" show is "+p);
if(c==1)
{
if(p==1)
System.out.println("平局");
else if(p==2)
System.out.println("person win");
else if(p==3)
System.out.println("computer win");
}
else if(c==2)
{
if(p==1)
System.out.println("computer win");
else if(p==2)
System.out.println("平局");
else if(p==3)
System.out.println("person win");
}
else if(c==3)
{
if(p==1)
System.out.println("person win");
else if(p==2)
System.out.println("computer win");
else if(p==3)
System.out.println("平局");
}
}
}
-
编写一个测试类,完成一次剪刀石头布的游戏
-
public class Text { public static void main(String []agrs) { Game game = new Game(); game.start(); } }
提示:
从ComputerPlayer类,personPlayer类,找出共同的属性和共同的行为;定义为二者的父类Player类。
ComputerPlayer类,personPlayer类,使用继承的方式定义,恰当运用用继承、重写、super关键字等。