人机交互,来和我猜拳吧!

   用JAVA实现了一个简单的猜拳游戏,准备记录下来,算作是总结和回顾吧。程序运行结果如下:

人机交互,来和我猜拳吧!

1.首先你需要编写一个电脑的类,类中有一个记录获胜几次的成员变量,和一个出拳的方法(用取随机数字来表示电脑出拳),代码如下:

 1 class Computer {

 2     int count;

 3 

 4     public int showFist() {

 5         Random obj = new Random();

 6         // 利用Random类的nextInt()方法生成0-2之间的数

 7         int number = obj.nextInt(3) + 1;

 8         switch (number) {

 9         case 1:

10             System.out.println("电脑出:石头");

11             break;

12         case 2:

13             System.out.println("电脑出:剪刀");

14             break;

15         case 3:

16             System.out.println("电脑出:布");

17             break;

18         }

19         return number;

20     }

21 }

 2.然后你需要一个和电脑玩耍的人,类中同样也是一个记录获胜的成员变量和一个出拳的方法(取控制台用户输入的数值作为你出拳),代码如下:

 1 class Person {

 2     int count;

 3 

 4     public int showFist() {

 5         Scanner input = new Scanner(System.in);

 6         System.out.println("请出拳:1.石头  2.剪刀  3.布 0.退出");

 7         int number = input.nextInt();

 8         switch (number) {

 9         case 1:

10             System.out.println("我出:石头");

11             break;

12         case 2:

13             System.out.println("我出:剪刀");

14             break;

15         case 3:

16             System.out.println("我出:布");

17             break;

18         case 0:

19             break;

20         }

21         return number;

22     }

23 }

3.最后就是玩游戏的主体类,类中三个成员变量,分别是电脑、人、记录玩总次数,还有一个构造函数用来初始化电脑和人对象,一个判断输赢的方法,一个打印结果方法,代码如下:

 1 public class FingerGuessing {

 2     Person   per;

 3     Computer com;

 4     int count;

 5 

 6     public FingerGuessing() {

 7         per = new Person();

 8         com = new Computer();

 9         count = 0;

10     }

11 

12     public void gameBegin() {

13         System.out.println("==========猜拳小游戏==========");

14         System.out.println("=   游戏规则:1.石头 2.剪刀 3.布 0.退出       =");

15         System.out.println("===========================");

16         int perno;

17         int comno;

18         do {

19             perno = per.showFist();

20             if (perno == 0) {

21                 showResult();

22                 break;

23             }

24             comno = com.showFist();

25             if ((perno == comno)) {

26                 System.out.println("平局\n");

27                 this.count++;

28             } else if ((perno - comno == -1) || (perno - comno == 2)) {

29                 System.out.println("恭喜,你赢了!\n");

30                 per.count++;

31                 this.count++;

32             } else {

33                 System.out.println("很遗憾,你输了!\n");

34                 com.count++;

35                 this.count++;

36             }

37 

38         } while (perno != 0);

39 

40     }

41     public void showResult() {

42         System.out.println("与电脑共较量<" + this.count + ">次;");

43         System.out.println("玩家获胜<" + per.count + ">次;");

44         System.out.println("电脑获胜<" + com.count + ">次;");

45         System.out.println("平局<" + (this.count-per.count-com.count) + ">次;");

46     }

47 

48     public static void main(String[] args) {

49         FingerGuessing game = new FingerGuessing();

50         game.gameBegin();

51     }

52 }

        这样猜拳小游戏就OK了,来,和我猜拳吧!

你可能感兴趣的:(人机交互)