猜拳游戏:
人机对战,可以在控制台输入数字选取对战角色,进行猜拳游戏,设置玩家昵称,用输入数字调用类中方法进行猜拳,循环对战,在玩家结束后显示对战结果,显示双方各自得分。
1.分析业务,创建用户类Human

 /*** 类Human* 成员变量:*     hName*     hFirst* 成员方法:* 人类出拳showFist()*/

2.创建计算机类Computer,实现计算机出拳

/*** 类Computer* 成员变量:* 机器名称cName* 机器出拳:cFist* 成员方法:*        显示机器出拳:showFist*        选取对手:*/

3.创建游戏类,选择对战选手

 * 类Game* 成员变量:*   用户:hUser*   电脑:cUser*   用户胜局:hw*   电脑胜局:cw* 成员方法:初始化方法initial()*          开始游戏startGame()*          出拳,判断输赢cq()*/

4.分别调用用户类和计算机类的出拳方法showFist(),接受返回值并比较,给出胜负结果
5.实现循环对战,累计胜场数
6.结束后显示游戏结果
源代码如下:

Human类:

import java.util.Random;
import java.util.Scanner;
public class Human {private String hName;private int hFist;public Human() {}public String gethName() {return hName;}public void sethName(String hName) {this.hName = hName;}public int gethFist() {return hFist;}public void sethFist(int hFist) {this.hFist = hFist;}
//定义出拳规则public int showFirst() {Scanner scanner = new Scanner(System.in);//将键盘收录的数字传给成员变量fistthis.sethFist(scanner.nextInt());//通过switch控制语句定义出拳switch (gethFist()) {case 1:System.out.println(hName + "出拳:  剪刀");break;case 2:System.out.println(hName + "出拳: 石头");break;case 3:System.out.println(hName + "出拳:  布");break;default:System.out.println("你输入有误");}//将人出拳fist返回到Game类中用于判断胜负return gethFist();}
}

Computer类

import java.util.Random;
import java.util.Scanner;
public class Computer {private String cName;private int cFist;public Computer() {}public String getcName() {return cName;}public void setcName(String cName) {this.cName = cName;}public int getcFist() {return cFist;}public void setcFist(int cFist) {this.cFist = cFist;}public int showFirst() {//生成随机数用于计算机出拳Random random = new Random();//1-3的随机数赋值给机器出拳fistthis.setcFist(random.nextInt(3) + 1);switch (getcFist()) {case 1:System.out.println(cName + "出拳:  剪刀");break;case 2:System.out.println(cName + "出拳: 石头");break;case 3:System.out.println(cName + "出拳:  布");break;}return getcFist();}//从键盘接收一个数字来选择电脑对战对手public void rival(int choice) {switch (choice) {case 1:this.setcName("刘备");System.out.println("你选择的是刘备");break;case 2:this.setcName("孙权");System.out.println("你选择的是孙权");break;case 3:this.setcName("曹操");System.out.println("你选择的是曹操");break;}}
}

Game类

public class Game {private Human hUser;private Computer cUser;int cw = 0, hw = 0;public void initial() {hUser = new Human();cUser = new Computer();}public void startGame() {Scanner scanner = new Scanner(System.in);System.out.println("********************");System.out.println("******猜拳,开始******");System.out.println("********************");System.out.println();System.out.println("出拳规则:1.剪刀 2.石头 3.布");System.out.println("请选择对方角色:1.刘备 2.孙权 3.曹操");//        选择角色//调用computer中的rival方法选取角色cUser.rival(scanner.nextInt());System.out.println("请输入玩家昵称:");//输入玩家昵称用于显示对战结果hUser.sethName(scanner.next());System.out.println("要开始吗?y/n");//判断是否开始游戏,执行cq()方法进行猜拳if (scanner.next().equalsIgnoreCase("y")) {cq();} else {System.out.println("已退出!");}}public void cq() {Scanner scanner = new Scanner(System.in);
//        人类出拳System.out.println("请出拳:1.剪刀 2.石头 3.布(输入相对数字):");hUser.showFirst();
//        机器出拳cUser.showFirst();
//        判断输赢if (hUser.gethFist() == cUser.getcFist()) {System.out.println("你们是平局!");} else if ((hUser.gethFist() == 1 && cUser.getcFist() == 3) || (hUser.gethFist() == 2 && cUser.getcFist() == 1) || (hUser.gethFist() == 3 && cUser.getcFist() == 2)) {System.out.println("恭喜你,你赢了!");hw++;} else {System.out.println(cUser.getcName() + "赢了!");cw++;}System.out.println("是否需要下一轮?y/n");if (scanner.next().equalsIgnoreCase("y")) {//            循环执行方法cq方法cq();} else {//            输出结果System.out.println("-------------------------------------");System.out.println(cUser.getcName() + "VS" + cUser.getcName());System.out.println("您赢了" + hw + "局");System.out.println(cUser.getcName() + "赢了" + cw + "局");System.out.println("-------------------------------------");}}
}

JAVA编写猜拳游戏相关推荐

  1. 用python编写猜拳游戏

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.编写猜拳游戏 二.思路 1:我的思路 2:别人的思路 总结 前言 提示:这里可以添加本文要记录的大概内容: 学习p ...

  2. 用java编写围棋游戏

    好的,我来为您提供一些关于如何使用 Java 编写围棋游戏的指导. 首先,你需要了解围棋的规则和游戏流程.围棋是一种棋类游戏,游戏中有两名玩家,分别为黑棋和白棋.每个玩家可以在棋盘上的任意位置下棋,目 ...

  3. java编程猜拳游戏_Java开发实现猜拳游戏

    本文实例为大家分享了Java实现猜拳游戏的具体代码,供大家参考,具体内容如下 一.问题简介 通过控制台方式实现一个人机对战的猜拳游戏,用户通过输 入(1.剪刀2.石头3.布),机器随机生成(1.剪刀2 ...

  4. Java人机猜拳游戏

    Java人机猜拳游戏 欢迎进入游戏 请输入你的姓名: 神挡杀神 请选择你的对手(1马云2马化腾): 1 要开始码?(y/n) y 出拳规则:1.剪刀2.石头3.布 神挡杀神请出拳: 1 神挡杀神出拳: ...

  5. java刘备猜拳游戏类_基于java实现人机猜拳游戏

    本文实例为大家分享了java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果.当用 ...

  6. Java人机猜拳游戏(命令行版)

    这是本学期的java作业: java编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况.有简单的操作界面. 学了一个学期的Java,感觉收获还挺多的.第一次用Java写小 ...

  7. 用java编写运行的小游戏_第一次用Java编写小游戏!

    哈哈,我又来发帖了- -话说好久没碰eclipse了,所以这次就给大家带来一个我的原创作品:Java猜拳!!! 先上效果: 1.PNG (13.21 KB, 下载次数: 34) 2016-1-24 1 ...

  8. python与java的猜拳游戏

    python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...

  9. 用java写猜拳游戏,Java写人机猜拳游戏(可扩展其他游戏或其他参与者)

    初学Java,写一个控制台输入输出的小游戏,模拟人机猜拳.为了扩展性稍微强一些,这个小游戏代码有些复杂,但确实可以扩展其他游戏或者其他参与者的. 代码还有一些小问题,后面贴出来... /******* ...

  10. 如何用java编写小游戏

    应一起学习java的众兄弟姐妹们的要求,对塔防游戏小程序做一个简单的说明,本人学习java两年时间,现在刚刚入职,虽然上班基本不用java swing相关的知识,但由于大学期间运用awt.swing编 ...

最新文章

  1. Java浮点值拒绝服务漏洞危害分析
  2. 来自MIT的论文答辩、PPT教程,教你轻松应对毕业季和学术会议
  3. python中scrapy框架_python的scrapy框架
  4. 过滤器解决Struts2重定向漏洞
  5. Swift 中如何测试驱动开发
  6. lock字段mysql_MySQL的lock tables和unlock tables的用法(转载)
  7. Run Length Encoding
  8. 绕固定坐标轴旋转与绕自身坐标轴旋转一致性证明
  9. java io流_浅谈IO流(一)-流的基本概念以及java的常见流
  10. Bootstrap 组件之 Nav
  11. 对于DSH算法损失函数的理解
  12. SqlPackage.exe –使用bacpac和PowerShell或Batch技术自动执行SQL Server数据库还原
  13. 今天心情不太开心?有点心烦
  14. 怎么查自己电脑服务器信息吗,怎么查看自己云服务器信息吗
  15. arccatalog点要素显示不完_改变人际关系核心要素,不讨好不献媚,牢记这3点,受益一生...
  16. XP pro下安装Windows XP Tablet PC 2005组件教程
  17. 峯云5G:纵论AI赋能 聚焦企业联络与协同
  18. Java Swing制作古老的打砖块游戏
  19. cad画直角命令_cad中怎么把直角倒角
  20. Tauri 应用篇 - 系统托盘

热门文章

  1. 5G及移动边缘计算(MEC)
  2. 01-ArcGIS从下载到卸载那些事儿
  3. 使用ubuntu内置桌面共享:vino,实现远程桌面
  4. STM32串口通信基本原理
  5. 读书笔记-穿越计算机的迷雾
  6. Linux命令大全(超详细版)
  7. 美发店员工合同WORD版(可直接下载打印)【卓美业网拓软件整理】
  8. 一文搞懂URI与URL
  9. 2021白盒测试常用工具介绍【建议收藏】
  10. 地下水环评(一级)实践技术及Modflow地下水数值模拟