博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人机交互,来和我猜拳吧!
阅读量:6683 次
发布时间:2019-06-25

本文共 3080 字,大约阅读时间需要 10 分钟。

 用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,如需转载请自行联系原作者

你可能感兴趣的文章
适用于ASP等环境的JS日期选择控件
查看>>
rpm 与 yum 用法
查看>>
Oracle数据库新版本12c信息汇总
查看>>
【Oracle Database 12c新特性】 In-Database Archiving数据库内归档
查看>>
运维自动化之psutil模块
查看>>
mysql的复制原理以及复制类型
查看>>
iOS开发系统类功能划分
查看>>
知道IP地址的情况下,如何查看主机名
查看>>
SQL执行过程
查看>>
Puppet批量部署tomcat
查看>>
OSPF与Loopback地址
查看>>
mysql的sql执行计划详解
查看>>
Cacti 0.8.8b 配置spine
查看>>
ppt免费模板下载
查看>>
有关字符串中的函数及其部分面试题
查看>>
试用分区助手心得
查看>>
IP地址被恶意域名解析
查看>>
完美安装centos7编译安装php5.6.40(亲测成功!)
查看>>
CentOS7基于虚拟用户的vsfptd
查看>>
[1]supervisor的使用管理:实现对异常中断的子进程的自动重启(以tomcat为例)
查看>>