简介

石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,输出总局数,胜率。

分析

通过while循环死循环模拟不断进行游戏,当用户输入0时break跳出while循环。

通过Random产生随机数模拟AI出拳

定义了一个choose方法,将用户输入和AI随机生成的数,转换成剪刀、石头和布。

判断输赢逻辑:
1:石头 2:剪刀 3:布

变量userChoose中存储的是用户的出拳
变量ai中存储的是电脑的出拳当userChoose - ai 等于-1或2时,用户赢
当userChoose - ai 等于0时,平局
当userChoose - ai 等于1或-2时,电脑赢

源代码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);Random r = new Random();int count = 0;    // 总局数int win = 0;    // 获胜局数int result = 0;    // 结果int ai = 0;    // 电脑出拳System.out.print("请输入姓名:");String name = sc.nextLine();while(flag) {System.out.println("************************************************");System.out.println("欢迎"+ name + "进入猜拳游戏");System.out.println("1.石头     2.剪刀     3.布     0.退出");System.out.println("************************************************");System.out.print("请输入数字:");int userChoose = sc.nextInt();    // 玩家选择if (userChoose == 0) {    // 游戏结束break;}// AI出拳ai = r.nextInt(3)+1;// 输出玩家和电脑的出拳System.out.println("你的出拳是:" + choose(userChoose));System.out.println("电脑出拳是:" + choose(ai));// 判断输赢switch(userChoose - ai) {case -1:    // 赢case 2:System.out.println("你赢了! ╭(╯^╰)╮");win++;    // 用户赢,赢场计数器自增1count++;    // 局数计数器自增1break;case 0:    // 平局System.out.println("平局,再来一局~~~~~o(* ̄︶ ̄*)o");count++;break;case 1:    // 输case -2:System.out.println("你输了! O(∩_∩)O哈哈~");count++;break;}System.out.println("\n");}System.out.println();System.out.println("\t\t\t\t排行榜");System.out.println("************************************************");System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");System.out.println(name + "\t\t" + count + "\t\t\t" + win + "\t\t\t" + String.format("%.2f", (win*1.0/count)*100) + "%");}// 返回出拳public static String choose(int choose) {switch(choose) {case 1:return "石头";case 2:return "剪刀";case 3:return "布";}return "";}入代码片

游戏截图

进入游戏输入姓名,显示菜单:用户出石头:

用户出剪刀:

用户出布:

输入0游戏结束:

总结

本程序是学习中的一个小案例,目前程序比较基础,只能记录一个玩家的信息,且数据不能存在本地。作者是在校的一名学生,目前技术有限,如有考虑不周,请各路大神批评指正,共同学习。

Java石头剪刀布(简单小游戏)相关推荐

  1. Java入门简单小游戏有哪些?

    适合新手练习的小游戏有超级玛丽.愤怒的小鸟.飞机大战.五子棋.彩虹雨.聊天室.华容道.坦克大战.扫雷等.还有贪吃蛇,由Java开发出来的一款经典小游戏,java小白入门可以用这款游戏开发练手锻炼自己的 ...

  2. 如何利用JAVA编写一个简单的石头剪刀布的小游戏

    楼主为了完成作业,花了一小会时间自己琢磨了一下,写出了这个石头剪刀布的小游戏. 思路很简单,就是令石头=2,剪刀=1,布=0,那么电脑随机生成一个数,分别去对应,游戏者同时也输入一个数字,也是对应着前 ...

  3. java对拼图小游戏的简单实现(详解)

    使用Java编写拼图小游戏主要包括: 初始化界面 初始化菜单 初始化数据 初始化图片 其他必要功能的实现 这几部分.在进行细分时包括了菜单的搭建,添加图片,打乱图片位置,让图片移动起来,查看完整图片, ...

  4. Java练手小游戏---黄金矿工

    你玩过4399曾经最火的黄金矿工小游戏吗,黄金矿工小游戏是一款休闲娱乐的一个挖宝游戏,在游戏中地下会有许多的宝藏,你得想办法把它们都挖出来,作为矿工的你,对你来说是轻车熟路的,能不能挖到宝,看你抓取的 ...

  5. JAVA实现2048小游戏

    2048小游戏也算是一款好玩的益智休闲小游戏,下面本博主用 java 语言将该游戏复现,感兴趣的小伙伴点击 关注 哦! 同时博主还用 python 语言复现了该游戏,可点击以下链接浏览博主的另一篇文章 ...

  6. android石头剪刀布的小游戏,JavaFX实现石头剪刀布小游戏

    用JavaFX写一个石头剪刀布的小游戏,供大家参考,具体内容如下 课程上布置的作业,其实java很少用来写这种程序的 - GUI界面部分 - 石头剪刀布的逻辑部分 书上教的是JavaFX,其实还有很多 ...

  7. Java Swing实现小游戏集合源码

    ​小编也不给大家废话, 直接给大家分享源码 Java 植物大战僵尸 Java Swing实现小游戏扫雷 Java Swing实现的拼图小游戏 Java swing实现的小游戏魔方 Java Swing ...

  8. Java黄金矿工小游戏,适合新手入门练手项目

    Java初学者的小伙伴们,相信大家肯定缺少很多的练手项目吧!今天就给大家推荐一款特别好上手的一个Java小游戏--黄金矿工. 大家听到这个名字的时候,童年的回忆肯定一下子,涌上心头,那如果让大家制作一 ...

  9. Java黄金矿工小游戏,适合初学者练手项目_java游戏_java项目

    黄金矿工小游戏是一款非常经典的休闲类挖宝游戏!相信绝大多数人小时候应该都玩过.但是你会玩游戏,你会做游戏吗(狗头)?对!你没猜错!我今天就是来给大家说怎么用Java做游戏的,希望看完之后你也会做哦~ ...

  10. 【教程1】Java制作国际象棋小游戏-01

    Java 制作国际象棋小游戏-01 菜鸟学了几天Java之后手痒痒了,所以开始谋划写个小游戏什么的练练手,刚好一门面向对象的课程布置了一个project,不限内容不限语言,所以菜鸟的小组决定做个国际象 ...

最新文章

  1. linux内核oom,linux OOM killer分析
  2. STL模拟实现1.0 -- list和iterator模拟实现和简单分析
  3. java发送苹果消息慢_Spring-boot JMS 发送消息慢的解决方法
  4. 重磅!计算机主题征稿,【EI/SCI检索】ICCBD 2021诚邀您投稿参会!
  5. 欢聚时代java面试_欢聚时代面试经验
  6. HDLBits 系列(16)Something about Counter
  7. 编程指南_今晚7点,译者编程入门指南抽奖!
  8. docker hub 国内镜像_Mac设置docker国内镜像源
  9. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环
  10. 曲线的生成算法实现_PCGPlanet1-地形生成算法简介
  11. 分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容
  12. Java判断两个Date是不是同一天
  13. 【操作系统复习】操作系统的概念、功能和目标
  14. centos jupyter 安装_centos7安装 jupyter
  15. 搭建MVC及WebAPI项目框架时碰到的问题集合
  16. 微信分享接口调用(自测通过可以用)
  17. Linux 添加环境变量
  18. 字符串 - KMP模式匹配
  19. 对棋盘完美覆盖问题证明过程的质疑及其解决
  20. Atitit 多继承实现解决方案 java c#

热门文章

  1. mysql 5.6 rpm 下载_mysql5.6 rpm包下载
  2. ARM:嵌入式系统之WDT中断实验
  3. Qt QVector “isDetached()“
  4. append()与prepend()的区别
  5. 微信小游戏 - 小游戏 vs H5 游戏性能对比和分析
  6. 替换数据库某个字段中部分字符串
  7. hdu5148 树形dp,分组背包
  8. 我用Python写了一个小游戏
  9. 经典蓝牙与低功耗蓝牙的区别
  10. Ubuntu16.04调整屏幕分辨率至1920*1080