学习目标:

熟练掌握各种循环语句

例题:

代码如下:

// 综合案例分析,猜拳案例
// 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编写的猜拳小游戏的更多相关文章

  1. Java猜拳小游戏(剪刀、石头、布)

    1.第一种实现方法,调用Random数据包,直接根据“1.2.3”输出“剪刀.石头.布”.主要用了9条输出判断语句. import java.util.Random; import java.util ...

  2. C#之winform 猜拳小游戏

    C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2  显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...

  3. java实现简单窗体小游戏----球球大作战

    java实现简单窗体小游戏----球球大作战需求分析1.分析小球的属性: ​ 坐标.大小.颜色.方向.速度 2.抽象类:Ball ​ 设计类:BallMain—创建窗体 ​ BallJPanel—画小 ...

  4. 使用Vue编写点击数字小游戏

    使用vue编写一个点击数字计时小游戏,列入你在文本框中输入3,点击开始会生成一个3行3列的表格,表格数据为1-9随机排列,这时候从1开始点击,按顺序点到9,当按正确顺序点击完毕,会提示所用的时间,如果 ...

  5. 无聊的周末用Java写个扫雷小游戏

    周末无聊,用Java写了一个扫雷程序,说起来,这个应该是在学校的时候,写会比较好玩,毕竟自己实现一个小游戏,还是比较好玩的.说实话,扫雷程序里面核心的东西,只有点击的时候,去触发更新数据这一步. Sw ...

  6. 用GUI实现java版贪吃蛇小游戏

    项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFr ...

  7. 用Java语言编写的迷宫小游戏软件

    可查看本项目的github 源码链接,撒娇打滚求 star 哦~~ღ( ´・ᴗ・ ` )比心 本仓库代码是经过 eclipse 编译运行过的,一般情况下将本仓库代码下载下来之后,使用 eclipse ...

  8. winform小程序---猜拳小游戏

    因为学的时间不长,所以借鉴了一些资料做了这个小程序,大家共同学习,共同进步.感觉很有自信,世上无难事,只怕有心人. using System; using System.Collections.Gen ...

  9. JAVA编写的断点续传小程序

    上了一周的课,今天终于可以休息了,太棒了,今天闲着无聊使用java语言写了一个断点续传的小程序来分享给大家, 首先要下载个用于网络请求的框架:我这里给出地址,是用的Apache的HttpClient: ...

随机推荐

  1. springboot-jta-atomikos多数据源事务管理

    背景 我们平时在用springboot开发时,要使用事务,只需要在方法上添加@Transaction注解即可,但这种方式只适用单数据源,在多数据源下就不再适用: 比如在多数据源下,我们在一个方法里执行 ...

  2. [ Skill ] print println printf fprintf sprintf lsprintf

    https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...

  3. centos7 安装mysql Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release ...

  4. 关于VBS编程初步

    VBS是基于Visual Basic的脚本语言.VBS的全称是:Microsoft Visual Basic Script Edition.用记事本就可以看到源代码.在没有语法错误的前提下,直接双击左 ...

  5. 使用SymPy

    最近工作的原因,需要进行一些积分运算,通过一些搜索得知了SymPy,记录一下使用历程. 1. SymPy介绍 SymPy是关于Symbolic Mathematics的Python库,它旨在成为一个功 ...

  6. mysql优化参数 (汇总)

    1 如下为128G内存32线程处理器的mariadb配置参数优化: [client]#password= your_passwordport= 3306 socket= /tmp/mysql.sock ...

  7. Arcgis 离线部署api 4.x的两种本地部署方法!

    引言:本文用的是api4.6版本 方法一  拷贝api进去tomcat服务器用绝对地址引用 首先将下载好的api放入Tomcat服务中的Webapp下: 1  可以打开下载好的的 api46/arcg ...

  8. 5月2日 python学习总结 IO模型

    IO模型 1.阻塞IO 2.非阻塞IO 3.多路复用IO 4.异步IO 一.阻塞IO blocking IO的特点就是在IO执行的两个阶段(等待数据和拷贝数据两个阶段)都被block了. 实际上,除非 ...

  9. 后端跨域问题究极解决 nginx+springboot 解决OPTIONS通过却报CORS的问题

    location /joinus { # 允许跨域请求的"域",有些请求不允许* add_header 'Access-Control-Allow-Origin' $http_or ...

  10. cute

    环境准备 将靶机导入后将网络设置为NAT kali:192.168.0.102 cute:192.168.0.107 端口扫描 使用nmap对靶机进行端口扫描 nmap –A –p- 192.168. ...