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

简介:

 用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了,来,和我猜拳吧!

本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/4065119.html,如需转载请自行联系原作者

相关文章
|
7月前
|
Python
猜拳游戏
用Python编写猜拳游戏。
63 0
|
8月前
|
Python
两句话,ChatGPT帮我写一个打飞机的游戏
两句话,ChatGPT帮我写一个打飞机的游戏
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
用GPT生成《超级马里奥》游戏关卡,近9成关卡可玩
用GPT生成《超级马里奥》游戏关卡,近9成关卡可玩
192 0
|
11月前
|
传感器 开发框架 网络协议
羡慕《钢铁侠》电影里科技感满满的全息手势交互吗?现在你也可以!试试这款【本地手势识别案例】
羡慕《钢铁侠》电影里科技感满满的全息手势交互吗?现在你也可以!试试这款【本地手势识别案例】
151 0
10:超级玛丽游戏
10:超级玛丽游戏
77 0
P1000 超级玛丽游戏
P1000 超级玛丽游戏
76 0
|
开发者 Python
猜拳游戏 | 学习笔记
快速学习猜拳游戏
78 0
|
传感器 人工智能 安全
不用键盘也能玩超级玛丽!当乐高马里奥变身遥控器,真‧手动控制
不用键盘也能玩超级玛丽!当乐高马里奥变身遥控器,真‧手动控制
223 0