用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: ...
随机推荐
- Python自动化 unittest生成测试报告(HTMLTestRunner)03
批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...
- Python中的dotenv的详细用法
最简单和最常见的用法是在应用程序启动时调用load_dotenv,从当前目录或其父目录中的.env文件或指定的路径加载环境变量,然后你可以调用os.getenv提供的与环境相关的方法. .env 文件 ...
- 二级py--day2
二级py day2-3 1.进程至少活动情况分为:运行状态.就绪状态.等待状态(阻塞状态).创建状态.终止状态 2.进程的特性包括: 并发性和动态性 3.计算机地址位数决定了内存的最大容量,决定了虚拟 ...
- Mysql-关系型数据库与非关系型数据库
一.什么是数据库 数据库是数据的仓库. 与普通的"数据仓库"不同的是,数据库依据"数据结构"来组织数据,因为"数据结构",所以我们看到的数据 ...
- tensorflow 数值计算函数的更新
数值计算函数的更新 tf.sub --> tf.subtract tf.mul --> tf.multiply tf.div --> tf.divide tf.mod --> ...
- IEAD关于git配置以及拉代码和提交代码
1.提前安装git客户端,注册码云帐号 注册地址:https://gitee.com/signup 2.新建仓库 3.修改仓库信息 4.从IDEA拉git项目,下面两个地方都可以配置 首次创建需要输入 ...
- 一篇文章扒掉“桥梁Handler”的底裤
Android跨进程要掌握的是Binder, 而同一进程中最重要的应该就是Handler 消息通信机制了.我这么说,大家不知道是否认同,如果认同,还希望能给一个关注哈. 什么是Handler? Han ...
- 在西电使用校内Linux 开源软件镜像
西电开源社区(linux.xidian.edu.cn)为全校师生提供开源镜像服务,由于其使用校内服务器,因此产生的流量不会计入校园网 打开镜像列表:https://linux.xidian.edu.c ...
- springcloud报错-------关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found
典型如下 第一种import java.util.List;@RestController@RequestMapping("/order")@DefaultProperties(d ...
- eclipse首次使用基本设置
最近,一些刚开始学习Java的朋友使用eclipse遇到了一些编码导致的问题向我询问,那就总结一下首次安装eclipse后我们大体应该设置哪些基本东西吧~ 大神们呐就不用看啦. 一.修改工作空 ...