导航:首页 > 编程语言 > 用java设计剪刀石头布

用java设计剪刀石头布

发布时间:2024-09-15 19:16:25

㈠ 各位路过的大神 求赐教 java 以羊村为主题 的剪刀石头布游戏编程 eslipse运行的

package mimaxue;

/*

* 创建一个类Game,石头,剪刀,布的游戏。

*/

public class Game {

/**

* @param args

*/

String[] s ={"石头","剪刀","布"};

//获取电脑出拳

String getComputer(int i)

{

String computerGuess = s[i];

return computerGuess;

}

//判断人出拳是否为石头,剪刀,布

boolean isOrder(String guess)

{

boolean b = false;

for(int x = 0;x < s.length; x++)

{

if(guess.equals(s[x]))

{

b = true;

break;

}

}

return b;

}

//比较

void winOrLose(String guess1,String guess2)

{

if(guess1.equals(guess2))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。平了");

}else if(guess1.equals("石头"))

{

}else if(guess1.equals("剪刀"))

{

if(guess2.equals("布"))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Win!");

}else

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Lose!");

}

}else if(guess1.equals("布"))

{

if(guess2.equals("石头"))

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Win!");

}else

{

System.out.println("你出:" + guess1 + ",电脑出:" + guess2 + "。You Lose!");

}

}

}

public static void main(String[] args) {

Game my = new Game();

Game computer = new Game();

Game game = new Game();

String myGuess = javax.swing.JOptionPane.showInputDialog("输入石头,剪刀,布:");

String computerGuess = computer.getComputer((int)(Math.floor(Math.random()*3)));

if(my.isOrder(myGuess))

{

game.winOrLose(myGuess, computerGuess);

}else

{

System.out.println("你输入的不是石头,剪刀,布!");

}

}

}

㈡ Java语言,用while循环编剪刀石头布的游戏

你在while外面声明一个变量抄int win_time = 0;
然后while里面每赢一次 win_time就+1,输一次win_time = 0;
再在你判断输赢那里插一段判断语句

if(win_time == 2){
break;//如果赢的次数是2了,就跳出循环
}
这样就可以实现连赢2次才跳出

补充一下,我说的输赢都是指用户的输赢

㈢ 如何用JAVA设计一个游戏,电脑和人玩剪刀石头布游戏,并且能显示游戏结果

写了一下,结果输出到桌面上,你把文件输出路径改成你的桌面路径就可以了,不知道你要不要最终结果

代码

㈣ 在百度知道上找到了网友的java石头剪刀布游戏的代码,但是理解不来,希望大神能帮我把程序每句话都注释

public class Test {
private static Scanner sc;
private static Random rad;
private static final String[] FINGERS = { "剪刀", "石头", "布" };
private static int win = 0, loose = 0, draw = 0;

public static void main(String[] args) {
// 捕获用户输入类
sc = new Scanner(System.in);
//产生随机数的类
rad = new Random();

//一进来就让用户输入开始游戏,直到输入E, 退出游戏。
while (true) {
System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");
System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");

//获取用户输入的字符
String command = sc.nextLine();

//输入字符转换 手势没发比较大小 就把字符转换成数字比较大小
int playerFinger = getValue(command);
if (playerFinger == -1) {//用户输入的是E ==> -1 表示退出
break;
}
else if (playerFinger == 3) {//用户输入的是 E Z X C 之外的字符 ==> 3 表示输入的不是合法的,然后继续让用户重新输入
System.out.println("输入错误,请参考说明!");
continue;
}
//当用户输入 ZXC 中的字符时才会到这一步
//用户的输入转换成了 0,1,2
//finger[0]="剪刀" finger[1]="石头" finger[2]="布" 程序第一行定义好的
System.out.println("你出的是" + FINGERS[playerFinger]);
//生成随机整数 3以内的(1,2,3)
int cpuFinger = rad.nextInt(3);
//finger[0]="剪刀" finger[1]="石头" finger[2]="布" 程序第一行定义好的
System.out.println("计算机出的是" + FINGERS[cpuFinger]);
//比较两个数字,你可以理解 0 就是剪刀,1是石头 2 是布
int result = playerFinger - cpuFinger;
if (0 == result) {//结果等于零说明两个数字一样
System.out.println("平局!");
draw++;
}
else if (-1 == result || 2 == result) {// 0-1=-1,1-2=-1,2-0=2 表示你输的三种情况 ;0 就是剪刀,1是石头 2 是布
System.out.println("你输了!");
loose++;
}
else {//剩下的情况除了平局,输局 肯定就是你赢了
System.out.println("你赢了!");
win++;
}
}

System.out.println("游戏结束!\r\n游戏统计次数");
System.out.println(String.format("赢:%d\r\n输:%d\r\n平局:%d", win, loose, draw));
}

/**
* 用户输入字符进行转换
* 输入字符 E 就返回-1 作为后续判断,表示退出程序
* 输入字符 Z 返回 0 代表剪刀
* 输入字符 X 返回 1 代表石头
* 输入字符 C 返回 2 代表布
* 输入其他字符 返回3 ,表明输入的不是符合规则的手势(0,1,2)
*
* @param command
* @return
*/
private static int getValue(String command) {
if (command.equalsIgnoreCase("E")) {
return -1;
}
if (command.equalsIgnoreCase("Z")) {
return 0;
}
if (command.equalsIgnoreCase("X")) {
return 1;
}
if (command.equalsIgnoreCase("C")) {
return 2;
}
return 3;
}
}

㈤ 用Java语言编写剪刀石头布,效果如下

importjava.util.Random;
importjava.util.Scanner;

publicclassFingerGuessingGame{
privatestaticScannersc;
privatestaticRandomrad;
privatestaticfinalString[]FINGERS={"剪刀","石头","布"};
privatestaticintwin=0,loose=0,draw=0;

publicstaticvoidmain(String[]args){
sc=newScanner(System.in);
rad=newRandom();
while(true){
System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");
System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");
Stringcommand=sc.nextLine();
intplayerFinger=getValue(command);
if(playerFinger==-1){
break;
}elseif(playerFinger==3){
System.out.println("输入错误,请参考说明!");
continue;
}
System.out.println("你出的是"+FINGERS[playerFinger]);
intcpuFinger=rad.nextInt(3);
System.out.println("计算机出的是"+FINGERS[cpuFinger]);
intresult=playerFinger-cpuFinger;
if(0==result){
System.out.println("平局!");
draw++;
}elseif(-1==result){
System.out.println("你输了!");
loose++;
}else{
System.out.println("你赢了!");
win++;
}
}

System.out.println("游戏结束! 游戏统计次数");
System.out.println(String.format("赢:%d 输:%d 平局:%d",win,loose,draw));
}

privatestaticintgetValue(Stringcommand){
if(command.equalsIgnoreCase("E")){
return-1;
}
if(command.equalsIgnoreCase("Z")){
return0;
}
if(command.equalsIgnoreCase("X")){
return1;
}
if(command.equalsIgnoreCase("C")){
return2;
}
return3;
}
}

㈥ 我用java编个简单的剪刀石头布,该怎么实现电脑那部分呢我是菜鸟请给个简单的例子参考下谢谢!!

楼上说的已经很明显了 , 我再细说下吧 。

如以 1~10 内的数为例 。
可以假设 1~3、4~7、8~10 内的随机数分别为 石头、剪刀、布 。

㈦ 请用java编写一个石头剪刀布的程序

importjava.util.Random;
importjava.util.<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner;

publicclassFingerGuessingGame{
privatestatic<ahref="https://www..com/s?wd=Sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">Sc</a>anner<ahref="https://www..com/s?wd=sc&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">sc</a>;
privatestaticRandomrad;
privatestaticfinalString[]FINGERS={"剪刀","石头","布"};
privatestaticintwin=0,loose=0,draw=0;

publicstaticvoidmain(String[]args){
sc=newScanner(System.in);
rad=newRandom();
while(true){
System.out.println("~~~~~~~~~~~~剪刀石头布游戏,输入E可以退出~~~~~~~~~~~");
System.out.println("请选择你要出什么?Z——剪刀,X——石头,C——布");
Stringcommand=sc.nextLine();
intplayerFinger=getValue(command);
if(playerFinger==-1){
break;
}elseif(playerFinger==3){
System.out.println("输入错误,请参考说明!");
continue;
}
System.out.println("你出的是"+FINGERS[playerFinger]);
intcpuFinger=rad.nextInt(3);
System.out.println("计算机出的是"+FINGERS[cpuFinger]);
intresult=playerFinger-cpuFinger;
if(0==result){
System.out.println("平局!");
draw++;
}elseif(-1==result){
System.out.println("你输了!");
loose++;
}else{
System.out.println("你赢了!");
win++;
}
}

System.out.println("游戏结束! 游戏统计次数");
System.out.println(String.format("赢:%d 输:%d 平局:%d",win,loose,draw));
}

privatestaticintgetValue(Stringcommand){
if(command.equalsIgnoreCase("E")){
return-1;
}
if(command.equalsIgnoreCase("Z")){
return0;
}
if(command.equalsIgnoreCase("X")){
return1;
}
if(command.equalsIgnoreCase("C")){
return2;
}
return3;
}
}

阅读全文

与用java设计剪刀石头布相关的资料

热点内容
网络安全创业 浏览:787
修改linux 浏览:464
如何编程计算机cpu高占用程序 浏览:808
程序员活动策划方案 浏览:130
数据漫游什么意思需不需要开启 浏览:804
qq图片刷新很慢 浏览:40
数据的采集方法都有什么 浏览:401
pps影音iphone版282 浏览:214
影梭安卓客户端341 浏览:636
有网络为什么qq登不上去 浏览:87
视频插上不显示视频文件 浏览:665
投标制作软件生成文件失败 浏览:756
什么是数据指标 浏览:243
三菱plc编程用什么语言比较好 浏览:496
路虎找不到配置文件怎么办 浏览:447
linux打包jar 浏览:556
好看的word文档排版样式 浏览:331
英朗gt高德导航升级 浏览:910
居民用电一户一表是哪个文件规定 浏览:529
pos文件什么格式 浏览:141

友情链接