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


       用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("平局
    ");
    27                 this.count++;
    28             } else if ((perno - comno == -1) || (perno - comno == 2)) {
    29                 System.out.println("恭喜,你赢了!
    ");
    30                 per.count++;
    31                 this.count++;
    32             } else {
    33                 System.out.println("很遗憾,你输了!
    ");
    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了,来,和我猜拳吧!

  • 相关阅读:
    第几天
    计算一个歌手的平均分
    将单词的首字母改为大写
    两数求和
    做一板1寸照片
    Filter过滤器
    AJAX
    EL表达式
    session存取
    默认的前进,刷新,后退,代码
  • 原文地址:https://www.cnblogs.com/java-class/p/4065119.html
Copyright © 2020-2023  润新知