真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

人機猜拳代碼java語言 Java猜拳

求JAVA人機猜拳的代碼,類似一下界面。

自己純手打,老半天才弄出來啊

成都創(chuàng)新互聯(lián)主營臨滄網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,臨滄h5重慶小程序開發(fā)搭建,臨滄網(wǎng)站營銷推廣歡迎臨滄等地區(qū)企業(yè)咨詢

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.event.ActionEvent;

import java.util.Random;

import javax.swing.AbstractAction;

import javax.swing.Box;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Demo2 extends JFrame {

private JLabel lb1, lb2, lb3, lb4; // 提示標(biāo)簽

private JTextField ta1, ta2;// 兩個文本框

private JButton b1, b2, b3; // 三個按鈕

private JPanel p1, p2; // 兩個JPanel面板

public Demo2() {

// 初始化所有組件

lb1 = new JLabel("歡迎使用人機猜拳程序");

lb2 = new JLabel("你出拳: ");

lb3 = new JLabel("電腦出拳:");

lb4 = new JLabel("結(jié)果");

ta1 = new JTextField();

ta1.setPreferredSize(new Dimension(60, 60)); // 設(shè)置大小

ta1.setEditable(false);//設(shè)置不可編輯

ta2 = new JTextField();

ta2.setPreferredSize(new Dimension(60, 60));

ta2.setEditable(false);//設(shè)置不可編輯

b1 = new JButton("剪刀");

b2 = new JButton("石頭");

b3 = new JButton("布");

p1 = new JPanel();

p2 = new JPanel();

// 設(shè)置第一個面板內(nèi)容

Box box = Box.createVerticalBox();

Box box1 = Box.createHorizontalBox();

box1.add(lb2);

box1.add(ta1);

box1.add(lb3);

box1.add(ta2);

box.add(lb1);

box.add(Box.createVerticalStrut(40));

box.add(box1);

box.add(Box.createVerticalStrut(10));

box.add(lb4);

box.add(new JLabel());

p1.add(box);

// 設(shè)置第二個面板

p2.setLayout(new GridBagLayout()); // 使用GridBagLayout布局管理器

p2.setPreferredSize(new Dimension(0, 60));

GridBagConstraints g2 = new GridBagConstraints();

g2.fill = GridBagConstraints.BOTH;

g2.weightx = 1.0;

g2.weighty = 1.0;

g2.gridx = 0;

g2.gridy = 0;

p2.add(b1, g2);

g2.gridx = 1;

p2.add(b2, g2);

g2.gridx = 2;

p2.add(b3, g2);

//為3個按鈕添加事件

b1.addActionListener(new buttonAction());

b2.addActionListener(new buttonAction());

b3.addActionListener(new buttonAction());

this.getContentPane().add(p1);

this.getContentPane().add(p2, BorderLayout.SOUTH);

this.setTitle("機器人猜拳游戲");

this.setSize(300, 300);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

//事件類

class buttonAction extends AbstractAction{

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==b1){

ta1.setText("剪刀");

init(ta1.getText());

}else if(e.getSource()==b2){

ta1.setText("石頭");

init(ta1.getText());

}else if(e.getSource()==b3){

ta1.setText("布");

init(ta1.getText());

}

}

// 模擬電腦出拳,產(chǎn)生三個隨機數(shù)。0代表剪刀,1代表石頭,2代表布

public String getQuan(){

String str="";

int num=new Random().nextInt(3) ;

if(num==0){

str="剪刀";

}else if(num==1){

str="石頭";

}else if(num==2){

str="布";

}

return str;

}

// 判斷輸贏方法

public String isying(String s1,String s2){

String s="";

if(s1.equals(s2)){

s="平局";

}else if(s1.equals("剪刀")s2.equals("布")){

s="你贏";

}else if(s1.equals("石頭")s2.equals("剪刀")){

s="你贏";

}else if(s1.equals("布")s2.equals("石頭")){

s="你贏";

}else{

s="電腦贏";

}

return s;

}

public void init(String wo){

String sy=""; // 保存輸贏結(jié)果

String dncq=getQuan(); //電腦出拳

if(wo.equals(dncq)){

sy="平局";

}else if(wo.equals("剪刀")dncq.equals("布")){

sy="你贏";

}else if(wo.equals("石頭")dncq.equals("剪刀")){

sy="你贏";

}else if(wo.equals("布")dncq.equals("石頭")){

sy="你贏";

}else{

sy="電腦贏";

}

ta2.setText(dncq);// 電腦出拳

lb4.setText("結(jié)果:"+sy);

}

}

public static void main(String[] args) {

new Demo2();

}

}

猜拳游戲java能輸出游戲時間

Java實現(xiàn)猜拳游戲的核心在于電腦隨機數(shù)的生成,Java中的隨機數(shù)生成方法是:

首先引入包? ?import java.util.*;??然后???int r=new Random().nextInt(3);??(nextInt中的數(shù)字三代表隨機數(shù)生成的個數(shù),從零開始)

所以在猜拳的輸入中需要有0、1、2三個數(shù)字代替,如果要輸入漢字,則用if進(jìn)行相應(yīng)判斷即可。

在實現(xiàn)的游戲中實現(xiàn)①猜拳;②記錄勝負(fù);③玩家決定游戲局?jǐn)?shù);④輸出獲勝、失敗及平局;⑤統(tǒng)計總共的勝負(fù)結(jié)果(根據(jù)獲勝次數(shù)判斷)

①猜拳基礎(chǔ)功能:該部分代碼可以放到一個方法中,減少主函數(shù)代碼量。

電腦出拳即??int r=new Random().nextInt(3);??注意:該部分一定要寫在for循環(huán)內(nèi)部,否則無法實現(xiàn)每次不同的隨機數(shù)。

通過if判斷雙方出拳是否相等? ?if(a==0r==0)? else?if(a==0r==1)? else if(a==0r==2)? ?即可實現(xiàn)猜拳,if內(nèi)直接輸出相關(guān)語句即可

②記錄勝負(fù):? 定義猜拳方法為int ,通過返回值記錄相關(guān)比賽的勝負(fù)情況? ,可以用0--失敗;1--獲勝;2--平局 進(jìn)行記錄,在主函數(shù)中對相應(yīng)拋出的數(shù)字記錄即可

if(a==0r==0){

System.out.println("The computer comes out with cloth,it was a draw. ");

return 2;

}

h=comp.compare(a,r); if (h==1) j++;

登錄后復(fù)制

③玩家決定局?jǐn)?shù): 定義一個數(shù),在循環(huán)中不大于該數(shù)即可

④輸出獲勝、失敗及平局: j、k即勝利和失敗,平局?jǐn)?shù)即n-j-k。

⑤統(tǒng)計結(jié)果,直接用if比較i、j的數(shù)字結(jié)果即可。

主函數(shù)部分:

package SS2_5;

import java.util.*;

public class Main {

public static void main(String args[]){

Scanner scanner=new Scanner(System.in);

Compare comp=new Compare();

int h=0,j=0,k=0;

System.out.println("rules:0--cloth;1--stone;2--scissors.\nU can choose how many times you want to play:");

int n=scanner.nextInt();

for(int i=1;i=n;i++){

System.out.print("It's the "+i+" round,your turn:");

int a=scanner.nextInt();

int r=new Random().nextInt(3);

switch (a){

case 0:

h=comp.compare(a,r);

break;

case 1:

h=comp.compare(a,r);

break;

case 2:

h=comp.compare(a,r);

break;

default:

System.out.println("Wrong number!");

break;

}

if (h==1)

j++;

else if(h==0)

k++;

}

System.out.println("The total times you won are "+j+",The draw times are "+(n-j-k)+".");

if(jk)

System.out.println("You are the final winner");

else if(kj)

System.out.println("The computer is the winner.");

if(j==k)

System.out.println("The final result is draw");

}

}

登錄后復(fù)制

compare方法部分

package SS2_5;

public class Compare {

public int compare(int a,int r){

int counter=0;

if(a==0r==0){

System.out.println("The computer comes out with cloth,it was a draw. ");

return 2;

}

else if(a==0r==1){

System.out.println("The computer comes out with stone, you won. ");

return 1;

}

else if(a==0r==2){

System.out.println("The computer comes out with scissor,you lost. ");

return 0;

}

else if(a==1r==0){

System.out.println("The computer comes out with cloth,you lost. ");

return 0;

}

else if(a==1r==1){

System.out.println("The computer comes out with stone,it was a draw. ");

return 2;

}

else if(a==1r==2){

System.out.println("The computer comes out with scissors,you won. ");

return 1;

}

else if(a==2r==0){

System.out.println("The computer comes out with cloth,you won. ");

return 1;

}

else if(a==2r==1){

System.out.println("The computer comes out with stone,you lost. ");

return 0;

}

else if(a==2r==2){

System.out.println("The computer comes out with scissors,it was a draw. ");

return 2;

}

else

return 0;

}

}

登錄后復(fù)制

java

704拖拉機

精選推薦

廣告

java寫簡單的猜拳游戲

2下載·0評論

2016年7月27日

用Java編寫的猜拳小游戲

2029閱讀·0評論·0點贊

2021年3月7日

Java猜拳游戲和Random的應(yīng)用

21閱讀·0評論·0點贊

2022年10月24日

java實現(xiàn)完整版猜拳小游戲

25下載·0評論

2018年11月22日

用python實現(xiàn)功能猜拳

1137閱讀·2評論·3點贊

2022年7月14日

java猜拳switch計分制_java----猜拳(10局分勝負(fù))

117閱讀·0評論·1點贊

2021年3月15日

二手拖拉機交易市場,你還在高價買嗎?

精選推薦

廣告

利用Java編寫簡單的猜拳游戲

911閱讀·0評論·1點贊

2022年9月8日

Java簡單實現(xiàn)猜拳游戲

1.1W閱讀·1評論·2點贊

2022年1月23日

java猜拳游戲代碼_Java實現(xiàn)簡單猜拳游戲

4496閱讀·0評論·0點贊

2021年3月1日

用java來寫一個簡單的猜拳小游戲

890閱讀·1評論·1點贊

2022年7月26日

java實現(xiàn)猜拳游戲

3180閱讀·2評論·1點贊

2022年5月4日

JAVA編寫猜拳游戲

3037閱讀·3評論·3點贊

2021年3月16日

[Java教程]17.實戰(zhàn),趣味猜拳小游戲

8040閱讀·2評論·3點贊

2020年6月24日

怎么用java實現(xiàn)人機猜拳?

1959閱讀·6評論·9點贊

2021年7月22日

Java Random經(jīng)典例子【猜拳游戲】

4318閱讀·0評論·0點贊

2014年3月22日

java的人機猜拳代碼_Java實現(xiàn)人機猜拳游戲

702閱讀·0評論·2點贊

2021年3月12日

Java基礎(chǔ)練習(xí)之猜拳游戲

363閱讀·1評論·1點贊

2021年8月19日

用java寫猜拳小游戲

1096閱讀·0評論·1點贊

2021年9月1日

Java猜拳小游戲

97閱讀·0評論·0點贊

2022年8月23日

java猜拳小游戲

500閱讀·1評論·0點贊

2022年7月14日

求java人機猜拳游戲的程序

我之前寫了個猜拳游戲的源代碼,不過沒你想的這么精彩。你才給5分就給你你自己修改了,應(yīng)該很簡單的。要多給點分我可以幫你修改。

import java.util.Scanner;

import java.util.Random;

public class caiquan

{

final int jiandao=0;

final int shitou=1;

final int bu=2;

public static void main(String[] args)

{

String yn=;y;;

while (yn.equals(;y;))

{

Scanner scanner = new Scanner(System.in);

System.out.println(;歡迎玩猜拳游戲。請輸入0,1,2:0表示剪刀,1表示石頭,2表示布;);

int a = scanner.nextInt();

Random rd = new Random();

int b = rd.nextInt(3);

switch (b)

{

case 0:

{

System.out.println(;系統(tǒng)出的是剪刀;);

switch(a)

{

case 0:System.out.println(;平;);break;

case 1:System.out.println(;贏;);break;

case 2:System.out.println(;輸;);break;

}

}

break;

case 1:

{

System.out.println(;系統(tǒng)出的是石頭;);

switch(a)

{

case 0:System.out.println(;輸;);break;

case 1:System.out.println(;平;);break;

case 2:System.out.println(;贏;);break;

}

}

break;

case 2:

{

System.out.println(;系統(tǒng)出的是布;);

switch(a)

{

case 0:System.out.println(;贏;);break;

case 1:System.out.println(;輸;);break;

case 2:System.out.println(;平;);break;

}

}

}

Scanner ynn = new Scanner(System.in);

System.out.println(;是否繼續(xù)?是請輸入y,否則輸入n。;);

yn=ynn.next();

}

}

}

java編程人機猜拳類和對象做求代碼

先建立個Game包

然后我做的是分了5個類來做的

TestStartGuess 類

package com.game.guess;

public class TestStartGuess {

/**

* 人機互動版猜拳游戲

* 程序入口

*/

public static void main(String[] args) {

Game game=new Game();

game.initial();

game.startGame();

}

}

2.Person 類

package com.game.guess;

import java.util.Scanner;

/**

* 用戶類

*階段1完成

* @param Scanner

*/

public class Person {

String name ="匿名";//名字

int score =0;//積分

/**

* 出拳

*@return出拳結(jié)果:1.剪刀 2.石頭 3.布

*/

public int showFist(){

//接收用戶的選擇

Scanner input =new Scanner(System.in);

System.out.print("\n請出拳:1.剪刀 2.石頭 3.布 (輸入相應(yīng)數(shù)字):");

int show=input.nextInt();

//輸出出拳結(jié)果,并返回

switch(show){

case 1:

System.out.println("你出拳:剪刀");

break;

case 2:

System.out.println("你出拳:石頭");

break;

case 3:

System.out.println("你出拳:布");

break;

}

return show;

}

}

3.Computer 類

package com.game.guess;

/**

*計算機類

*階段2完成

*/

public class Computer{

String name="電腦";//名字

int score = 0;;//積分

/**

*出拳

*@return 出拳結(jié)果:1.剪刀 2.石頭 3.布

*/

public int showFist(){

? ? ? ?//產(chǎn)生隨機數(shù)

? ? ? ?int show =(int)(Math.random()*10)%3+1;//產(chǎn)生隨機數(shù),表示電腦出拳

? ? ? ?//輸出出拳結(jié)果并返回

? ? switch(show){

case 1:

System.out.println(name+"你出拳:剪刀");

break;

case 2:

System.out.println(name+"你出拳:石頭");

break;

case 3:

System.out.println(name+"你出拳:布");

break;

}

return show;

}

}

4.Game 類

package com.game.guess;

import java.util.Scanner;

/**

* 游戲類類完全版

* 階段7:功能擴(kuò)展

* @param computer

*

*/

public class Gamecomputer {

Person person; //甲方

Computer computer; ?//乙方

int count;//對戰(zhàn)次數(shù)

/**

* 初始化

*/

public void initial(){

person=new Person();

computer=new Computer();

count=0;

}

/**

* 開始游戲

*/

@SuppressWarnings("resource")

public void startGame(){

System.out.println("-------歡迎進(jìn)入游戲世界-------\n");

System.out.println("\n\t\t***************");

System.out.println("\t\t**猜拳,開始 **");

System.out.println("\t\t***************");

System.out.println("\n\n出拳規(guī)則:1.剪刀,2.石頭,3.布");

Scanner input=new Scanner(System.in);

String exit="n"; //退出系統(tǒng)

do{

initial();//初始化

/*選擇對方角色*/

System.out.print("請選擇對方角色:(1:劉備,2:孫權(quán),3:曹操):");

int role=input.nextInt();

if(role==1){

computer.name="劉備";

}else if(role==2){

computer.name="孫權(quán)";

}else if(role==3){

computer.name="曹操";

}

//擴(kuò)展功能1:輸入用戶姓名

/*輸入用戶姓名*/

System.out.print("請輸入你的姓名:");

person.name=input.next();

System.out.println(person.name+"VS"+computer.name+"對戰(zhàn)\n");

//擴(kuò)展功能1結(jié)束

System.out.print("要開始嗎?(y/n)");

String start=input.next();//開始每一局游戲

int perFist; //用戶出的拳

int compFist; //計算機出的拳

while(start.equals("y")){

/*出拳*/

? ?perFist=person.showFist();

? ?compFist=computer.showFist();

? ?/*裁決*/

? ?if((perFist==1compFist==1)||(perFist==2compFist==2)||(perFist==3compFist==3)){

? ? ? ?System.out.println("結(jié)果:和局,真衰!嘿嘿,等著瞧吧!\n"); ?//平局

? ? ? ? ? ? ? }else if((perFist==1compFist==3)||(perFist==2compFist==1)||(perFist==3compFist==2)){

? ? ? ? ? ?System.out.println("結(jié)果:恭喜,你贏了!"); ?//用戶贏

? ? ? ? ? ? ? ? ? ? person.score++;

? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? System.out.println("結(jié)果說:^_^,你輸了,真笨!\n"); ?//計算機贏

? ? ? ? ? ? ? ? computer.score++;

? ? ? ? ? ? ? }

? ? ? ? ? ? ? count++;

? ? ? ? ? ? ? System.out.println("\n是否開始下一輪(y/n):");

? ? ? ? ? ? ? start=input.next();

? ? ? ? ? ? ? }

/*顯示結(jié)果*/

showResult();

//擴(kuò)展功能3:循環(huán)游戲,知道退出系統(tǒng)

System.out.print("\n要開始下一局嗎?(y/n):");

exit=input.next();

? ? ? ?System.out.println();

? ? ? ?//擴(kuò)展功能3結(jié)束

}while(!exit.equals("n"));

System.out.println("系統(tǒng)退出!");

}

/**

* 顯示比賽結(jié)果

*/

public void showResult(){

/*顯示對戰(zhàn)次數(shù)*/

System.out.println("-------------------------------");

? ? ? System.out.println(computer.name+"VS"+person.name);

? ? ? System.out.println("對戰(zhàn)次數(shù):"+count);

? ?

? ? ? //擴(kuò)展功能2:顯示最終的得分

? ? ? System.out.println("\n姓名\t得分");

? ? ? System.out.println(person.name+"\t"+person.score);

System.out.println(computer.name+"\t"+computer.score+"\n");

? ?//擴(kuò)展功能2結(jié)束

? ? ? /*顯示對戰(zhàn)結(jié)果*/

? ? ? int result=calcResult();

? ? ? if(result==1){

? ? ? System.out.println("結(jié)果:打成平手,下次再和你一分高下!");

? ? ? }else if(result==2){

? ? ? System.out.println("結(jié)果:恭喜恭喜!"); ?//用戶獲勝

? ? ? }else{

? ? ? System.out.println("結(jié)果:呵呵,笨笨,下次加油??!"); ?//計算機獲勝

? ? ? }

System.out.println("--------------------------------");

}

/**

* 計算比賽結(jié)果

* @return1:戰(zhàn)平; 2:用戶贏; 3:電腦贏

*/

public int calcResult(){

if(person.score==computer.score){

return 1;//戰(zhàn)平

}else if(person.scorecomputer.score){

return 2;//用戶贏

}else{

return 3;//電腦贏

}

}

}

5.Start 類

package com.game.guess;

public class StartGuess {

public static void main (String[] args){

Game c = new Game();

c.initial();

c.startGame();

}

}

然后編譯執(zhí)行就OK了

希望能幫到你


網(wǎng)站名稱:人機猜拳代碼java語言 Java猜拳
網(wǎng)頁鏈接:http://weahome.cn/article/docshes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部