用Java编写的猜拳小游戏
学习目标:
熟练掌握各种循环语句
例题:
代码如下:
// 综合案例分析,猜拳案例
// isContinue为是否开始游戏时你所输入的值
char isContinue;
//y为开始,n为借宿
System.out.println("是否开始游戏(y/n)");
Scanner sc = new Scanner(System.in);
String str = sc.next();
// 获取你输入字符串的第一个字符
isContinue = str.charAt(0);
// mcount代表玩家赢的局数,pcount代表电脑赢的局数
int mcount = 0, pcount = 0;
//你的名字
System.out.println("请输入您的名字");
String pName = sc.next();
System.out.println("您的名字是:" + pName);
System.out.println("请选择您的对手:1、貂蝉, 2、小肥羊,3、吕布");
// cpuName电脑名字
String cpuName = null;
int num3 = sc.nextInt();
if(num3 >= 1 && num3 <= 3) {
switch (num3) {
case 1 : {
cpuName = "貂蝉";
} break;
case 2 : {
cpuName = "小肥羊";
} break;
case 3 : {
cpuName = "吕布";
}
}
System.out.println(pName + " VS " + cpuName);
// 让大小写都能运行
if(isContinue == 'y' || isContinue == 'Y' || isContinue == 'n' || isContinue == 'N') {
while(isContinue == 'y' || isContinue == 'Y') {
System.out.println("请输入您要出的东西:1、布, 2、拳头,3、剪刀");
int num = sc.nextInt();
switch(num) {
case 1 : {System.out.println(pName + "出的是布");} break;
case 2 : { System.out.println(pName + "出的是拳头"); }; break;
case 3 : { System.out.println(pName + "出的是剪刀"); }; break;
default : { System.out.println(pName + "的输入不规范,请重新输入"); }
//输入出错,跳出当前循环回到while,重新输入
continue;
}
// 让电脑随机生成1~3的随机数
Random num2 = new Random();
// +1是因为前面代码生成的是0~2,+1后就变成了1~3
int cpt = num2.nextInt(3) + 1;
// 判断电脑产生的随机数
switch(cpt) {
case 1 : {
System.out.println(cpuName + "出的是布");
}; break;
case 2 : {
System.out.println(cpuName + "的是拳头");
}; break;
case 3 : {
System.out.println(cpuName + "的是剪刀");
}; break;
}
// 把自己输入的数与电脑随机产生的随机数相比较
if(num == cpt) {
System.out.println(pName + "和" + cpuName + "这局打平!");
} else if((num == 1 && cpt == 2) || (num == 2 && cpt == 3) || (num == 3 && cpt == 1)) {
System.out.println(pName + "赢了!");
mcount++;
} else {
System.out.println(cpuName + "赢了!");
pcount++;
}
System.out.println(pName + "共赢了" + mcount + "局" + " " + cpuName + "共赢了" + pcount + "局");
System.out.println("是否继续游戏(y/n)");
str = sc.next();
isContinue = str.charAt(0);
}
} else {
System.out.println("您输入的不符合规则,游戏结束!");
}
} else {
System.out.println("您输入的数据不符合规范!");
}
运行效果:
是否开始游戏(y/n)
y
请输入您的名字
lalal
您的名字是:lalal
请选择您的对手:1、貂蝉, 2、小肥羊,3、吕布
1
lalal VS 貂蝉
请输入您要出的东西:1、布, 2、拳头,3、剪刀
3
lalal出的是剪刀
貂蝉的是剪刀
lalal和貂蝉这局打平!
lalal共赢了0局 貂蝉共赢了0局
是否继续游戏(y/n)
y
请输入您要出的东西:1、布, 2、拳头,3、剪刀
5
lalal的输入不规范,请重新输入
请输入您要出的东西:1、布, 2、拳头,3、剪刀
1
lalal出的是布
貂蝉的是拳头
lalal赢了!
lalal共赢了1局 貂蝉共赢了0局
是否继续游戏(y/n)
n
Process finished with exit code 0
总结:
以上就是用Java编写的猜拳小游戏了
用Java编写的猜拳小游戏的更多相关文章
- Java猜拳小游戏(剪刀、石头、布)
1.第一种实现方法,调用Random数据包,直接根据“1.2.3”输出“剪刀.石头.布”.主要用了9条输出判断语句. import java.util.Random; import java.util ...
- C#之winform 猜拳小游戏
C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2 显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...
- java实现简单窗体小游戏----球球大作战
java实现简单窗体小游戏----球球大作战需求分析1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain—创建窗体 BallJPanel—画小 ...
- 使用Vue编写点击数字小游戏
使用vue编写一个点击数字计时小游戏,列入你在文本框中输入3,点击开始会生成一个3行3列的表格,表格数据为1-9随机排列,这时候从1开始点击,按顺序点到9,当按正确顺序点击完毕,会提示所用的时间,如果 ...
- 无聊的周末用Java写个扫雷小游戏
周末无聊,用Java写了一个扫雷程序,说起来,这个应该是在学校的时候,写会比较好玩,毕竟自己实现一个小游戏,还是比较好玩的.说实话,扫雷程序里面核心的东西,只有点击的时候,去触发更新数据这一步. Sw ...
- 用GUI实现java版贪吃蛇小游戏
项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFr ...
- 用Java语言编写的迷宫小游戏软件
可查看本项目的github 源码链接,撒娇打滚求 star 哦~~ღ( ´・ᴗ・ ` )比心 本仓库代码是经过 eclipse 编译运行过的,一般情况下将本仓库代码下载下来之后,使用 eclipse ...
- winform小程序---猜拳小游戏
因为学的时间不长,所以借鉴了一些资料做了这个小程序,大家共同学习,共同进步.感觉很有自信,世上无难事,只怕有心人. using System; using System.Collections.Gen ...
- JAVA编写的断点续传小程序
上了一周的课,今天终于可以休息了,太棒了,今天闲着无聊使用java语言写了一个断点续传的小程序来分享给大家, 首先要下载个用于网络请求的框架:我这里给出地址,是用的Apache的HttpClient: ...
随机推荐
- .NET 6: New DateOnly and TimeOnly strcuts
Background and Motivation .NET 目前有用于处理日期和时间的DateTime和DateTimeOffset.但在许多情况下,用户需要处理日期而根本不关心时间部分,也存在需要 ...
- 微信小程序码生成及canvas绘制
吐槽:某厂的开发文档写的跟屎一样 1.后台返回accessToken,小程序请求获取小程序码 uni.request({ url: 'https://api.weixin.qq.com/wxa/get ...
- java多线程中常用指令
------------恢复内容开始------------ 一.写在前面 好久没写博客了,这不快毕业了,应该会重新开始更新博客了.这次主要介绍查看线程状态等一系列常见指令,包括有jps.vmstat ...
- git命令新建远程分支并推送,切换远程地址
最近记性不好,老是忘记操作命令,记录下一下新建远程分支和切换.删除远程地址的命令: 1.查看当前分支: git branch 2.查看所有分支:git branch -a 3.切换分支:git ch ...
- (acwing蓝桥杯c++AB组)1.1 递归
(acwing蓝桥杯c++AB组)1.课程介绍+递归 文章目录 (acwing蓝桥杯c++AB组)1.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...
- 个人网站tqqj.top
建站历程 就在这里记录自己的建站历程吧!:) 2022-3-21 今天写这个建站历程实际上是有点晚了,因为我已经把网站完全上线了,意思就是说网站已经在运行了. 这个网站是准备建立自己的博客使用的,但是 ...
- 数据类型 Java day7
数据类型 数据类型包含:引用数据类型和基本数据类型 引用数据类型:出去基本数据类型,其他的类型,如String 基本数据类型:总共分四大类有八种 四大类:整数,浮点数.字符.布尔 一.整数包含以下 数 ...
- 4、传统三层架构与DDD分层架构
4.传统三层架构与DDD分层架构 模型是抽象的 现实是形象的 技巧是重要的 思想是永恒的 从传统三层架构与DDD分层架构的编程演变其实是思想的演变. 传统三层架构,即用户界面层UI.业务逻辑层BAL. ...
- 变频器通讯参数PKW和PZD的含义
SINAMICS S120 S150 参数手册 章节3.9 PROFIdrive 图3-41 功能图2422制造商专用报文和过程数据 参考:https://www.diangon.com/wenku/ ...
- 记录Markdown的学习
目录 1. 引言 2. 标题 这是一级标题 这是二级标题 这是三级标题 这是四级标题 3. 文字相关 3.1 粗体 3.2 斜体 3.3 粗体和斜体 3.4 删除线 3.5 混合使用 3.6 反引号引 ...