使用继承实现:“剪刀石头布的游戏”
使用继承实现:“剪刀石头布的游戏”
运行结果
package 一个题玩游戏; /* 使用继承实现:“剪刀石头布的游戏” 写的有点凑合 许昌学院 马志勇 */ import java.util.Scanner; //玩家类 /* 它有一个成员变量(name)和一个成员方法(show)。 其中的成员变量表示它的名称,成员方法表示出拳的行为,出的拳值是由系统产生随机数表示。 (提示:随机数可以使用Math.random()方法,或使用Random类)、 定义一个游戏玩家类PersonPlayer: 它有一个成员变量(name)和一个成员方法(show)。 其中的成员变量表示它的名称,成员方法表示出拳的行为,出的拳值是由用户输入的整数表示。 */ class Player{ private int name; public Player() { } public Player(int name) { this.name = name; } public void show(int name) { this.name=name; } } class ComputerPlayer extends Player{ int name; public int show() { int num= (int)((Math.random()*3)*100); num=(int)num/100; if(num==0) { return 3; }else { return num; } } } class PersonPlayer extends Player{ private int name; public PersonPlayer() { } public void show(int num) { this.name=name; } public int show() { Scanner sc=new Scanner(System.in); this.name=sc.nextInt(); return name; } } class Game{ public ComputerPlayer com; public PersonPlayer pe; public void start() { com= new ComputerPlayer(); pe=new PersonPlayer(); int c=com.show(); int p=pe.show(); System.out.println("ComputerShow is:"+c); System.out.println("playerShow is:"+p); if(p==1) { if(c==1) { System.out.println("平局"); }else if(c==2) { System.out.println("player winner"); }else System.out.println("computer winner"); }else if(p==2) { if(c==1) { System.out.println("computer winner"); }else if(c==2) { System.out.println("平局"); }else System.out.println("player winner"); }else if(p==3) { if(c==1) { System.out.println("player winner"); }else if(c==2) { System.out.println("computer winner"); }else System.out.println("平局"); } } } public class GameTest { public static void main(String[] args) { Game g=new Game(); System.out.println("请输入1,2,3。分别表示石头,剪刀,布"); System.out.print("请输入:"); g.start(); } }
上一篇:
通过多线程提高代码的执行效率例子