用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: ...
随机推荐
- springboot----四、yaml配置注入
四.yaml配置注入 4.1.配置文件 SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的 application.properties 语法结构 :key=value applic ...
- Git更新本地仓库及冲突"Commit your changes or stash them before you can merge"解决
Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge git fetch origin mastergit log ...
- 实践1使用XGB实现酒店信息消歧
XGB算法是决策树衍生出来的一种算法 场景:酒店的业务人员希望我们能够提供一个算法服务去为酒店信息做一个自动化的匹配,以通过算法的手段,找到那些确定相同的酒店和确定不同的酒店 以下代码为部分 理解业务 ...
- 1、mysql数据库的数据目录结构
查看mysql的主要目录结构 通过命名查看mysql的目录结构:find / -name mysql 1.1数据库文件的存放路径 MySQL数据库文件的存放路径:/var/lib/mysql/ 1.2 ...
- LGP6694题解
第一眼似乎很困难,实际上非常简单( 好吧这题我做了一个小时( 首先期望具有线性性,我们转化为计算点对对答案的贡献. 发现相对位置一样的点对对答案的贡献是一样的.我们把相对位置一样的点对铃出来,乘了之后 ...
- Java案例——字符串拼接
/*案例:将一个int数组中的元素拼接为一个字符串 分析:1.静态定义一个int数组 2.定义方法将数组元素遍历并拼接,返回类型为String 3.定义变量接受方法所拼接出来的字符串 4.输出* */ ...
- sqlserver 中,如何将getdate()时间的时分秒固定为00:00:00或者忽略不要
在使用getdate()时,时间会实时刷新,那么我们就要再查询的时候就需要精确到毫秒后三位,非常难受,那么为了解决这个问题我们可以通过以下几种方法进行固定或者去掉毫秒 1.将毫秒固定为00:00:00 ...
- 采用二进制文件方式安装loki和promtail
1. 下载二进制文件 官方下载地址:https://github.com/grafana/loki/releases 下载如图所示的这俩文件,Grafana采用yum方式安装 cd /usr/loca ...
- maven-something
<!--dependencyManagement提供一种管理依赖版本好的方式--> <!-- 通常出现在项目的最顶层父POM,--> <!-- 可以让所有在子项目中引用的 ...
- 什么是RabbitMQ?RabbitMQ的使用场景是什么?
参考链接:RabbitMQ 简介以及使用场景