導航:首頁 > 編程語言 > 用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設計剪刀石頭布相關的資料

熱點內容
win8如何關掉程序 瀏覽:131
編程怎麼編寫手機簡訊驗證 瀏覽:791
牽手是什麼網站 瀏覽:379
哪個編程課是直播 瀏覽:272
win10顯示不出手機文件夾 瀏覽:705
word文件閱讀器 瀏覽:766
網站小圖標怎麼弄 瀏覽:58
怎麼弄電腦密碼 瀏覽:114
labview中將表格轉為excel文件 瀏覽:454
口袋腕力升級 瀏覽:436
word刻錄到光碟刻錄大師 瀏覽:124
更改壓縮文件後卡死是什麼原因 瀏覽:201
電腦上如何發qq紅包 瀏覽:230
如何刪除word的空白頁 瀏覽:822
創建swap文件 瀏覽:468
數控銑床編程在哪裡編寫 瀏覽:544
iphone文藝軟體 瀏覽:938
紀元1404人口升級 瀏覽:527
公司網路如何設置自己路由器 瀏覽:649
引用extjs 瀏覽:463

友情鏈接