• 客服QQ:114297999 合作电话:4000288880
  • 盱眙是我家,文明靠大家!小城盱眙网与您携手共建和谐盱眙、美好盱眙!
查看: 1331|回复: 0
打印 上一主题 下一主题

石头剪刀布还能这么玩,用java实现人机猜拳游戏

[复制链接]

中级会员

Rank: 3Rank: 3

积分
468
跳转到指定楼层
楼主
发表于 2016-7-5 10:16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
猜拳一种简单的游戏,共有剪刀、石头、布三个手势。二人同时用手做出相应形状而出,输赢判断规则为:剪刀赢布,布赢石头,石头赢剪刀。起源有两种说法:一种是说起源于中国,主要是由明朝人所写"五杂俎"记载最早剪子石头布是起源自汉朝的手势令与豁拳,然而中国所谓的豁拳是否是指猜拳,这仍待考证。另外一种比较有直接证据的说法是起源于日本19世纪,相关资料可见由日本国立民族学博物馆所出版的文献,作者Linhart, Sepp。日本明治时期开始传入中国,到了二十世纪剪子石头布的游戏开始传到了欧洲与美国,而欧美都称剪子石头布的游戏是"日本游戏",法国人称剪子石头布为"jeu Japonais" (意思就是日本游戏)。原因就是因为到了二十世纪,日本人大量西化以及日本人到世界各国游历的原因,也对欧美推广了这个游戏,使得很多欧美人都认为剪子石头布就是日本的游戏。但我们今天不是来讲这游戏的起源的,我们要讲的是用java实现人机猜拳游戏。这是在java培训中一般都会讲解的案例,下面一起来看看吧。
/*
猜拳游戏思路
1、定义输入函数
2、提示用户输入猜拳数值
3、定义随机一个数作为电脑数值
4、判断[用户输入数值] [电脑随机数值]
5、能够相等就是打平,不能相等就利用&&||逻辑符判断输赢
6、设定数值1-石头 2-剪刀  3-
*/
import java.util.*;//嵌入Java.util包所有
public class cq1{
public static void main(String[] args){
Scanner in=new Scanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的
System.out.println("--------------猜拳游戏---------------");
System.out.println("请输入一个数值:1、石头 2、剪刀 3、布");//提示输入数值
       System.out.println(" ");//空行
int x=in.nextInt();//让用户输入X的数值
Random on=new Random();//定义电脑的随机数值的函数on
int y=on.nextInt(3)+1;//定义y随机函数数值范围(1--3)
if(x>=4||x==0){   //判断用户是否输入非1--3范围
System.out.println(",请正确输入:1、石头 2、剪刀 3、布。你输入了:"+x);
}
else{
/*下面是判断用户输入x的数值 嵌套if*/
if(x==y){
if(x==1){ //判断打平的情况
System.out.println(":石头------电脑:石头    PK:很幸运打平手");
}
else if(x==2){
System.out.println(":剪刀------电脑:剪刀   PK:很幸运打平手");
}else {
System.out.println(":------电脑:    PK:很幸运打平手");
}
/*   打平手的判断END*/
}elseif(x==1&&y==2||x==2&&y==3||x==3&&y==1){ //开始判断赢的情况
if(x==1&&y==2){
System.out.println(":石头------电脑:剪刀    PK:恭喜您,赢了!");
}else if(x==2&&y==3){
System.out.println(":剪刀------电脑:   PK:恭喜您,赢了!");
}else {System.out.println(":------电脑:石头    PK:恭喜您,赢了!");}
//判断赢的情况END
}else {//开始判断输的情况
if(x==1&&y==3){
System.out.println(":石头------电脑:    PK:很遗憾,输了!");
}else if(x==2&&y==1){
System.out.println(":剪刀------电脑:石头    PK:很遗憾,输了!");
}else {
System.out.println(":------电脑:剪刀    PK:很遗憾,输了!");
}
}//判断输的情况END
        }//判断是否输入数值1-3范围,如果不是1-3会提醒重新输入 END
}
}
更多精彩课程尽在上海海文信息技术有限公司,http://www.oracleoaec.net/

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复

使用道具 举报

使用 高级模式(可批量传图、插入视频等)
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表