溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Java實現(xiàn)一個石頭剪刀布游戲

發(fā)布時間:2020-10-28 16:48:58 來源:億速云 閱讀:270 作者:Leah 欄目:開發(fā)技術(shù)

使用Java實現(xiàn)一個石頭剪刀布游戲?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

題目:

用 JAVA 語言設(shè)計如下界面的石頭剪刀布游戲。游戲的一方點擊界面上石頭、剪刀、布按鈕,游戲的另一方計算機隨機選擇,然后給出游戲結(jié)果。

Java:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

@SuppressWarnings("serial")
public class TestOne extends JFrame implements ActionListener{
 // 定義石頭剪刀布的 JButton 對象
 JButton jiandao, shitou, bu, clear;  
 JPanel panel2, panel1;
 JLabel label;
 
 // 主函數(shù)
 public static void main(String[] args) {
 TestOne frame = new TestOne();
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 設(shè)置窗體關(guān)閉按鈕
 frame.setVisible(true);         // 使窗體可見
 }
 
 // 設(shè)置窗體
 public TestOne() {
 setTitle("石頭剪刀布游戲"); // 石頭剪刀布游戲
 setLocation(250, 250);  // 設(shè)置窗體坐上頂點坐標
 setSize(300, 300);   // 設(shè)置窗體大小。窗體大小 : 350X350
 
 // 建立對象
 panel1 = new JPanel();
 panel1.setBackground(Color.yellow);
 shitou = new JButton("石頭");
 jiandao = new JButton("剪刀");
 bu = new JButton("布");
 clear = new JButton("清空");
 panel2 = new JPanel();
 panel2.setBackground(Color.green);
 label = new JLabel("選擇剪刀, 石頭, 布開始游戲");
 
 // 給所有 JBUtton 對象添加事件約束
 // 給事件添加監(jiān)聽器
 shitou.addActionListener(this);   
 jiandao.addActionListener(this);
 bu.addActionListener(this);
 clear.addActionListener(this);
 
 // 把所有的新添加的對象都放進去窗體里面,先放進組件類,再放進窗體類
 panel1.add(shitou);
 panel1.add(jiandao);
 panel1.add(bu);
 panel1.add(clear);
 panel2.add(label);
 
 add(panel1, BorderLayout.NORTH);
 add(panel2, BorderLayout.CENTER);
 }
 
 // 事件響應(yīng)器
 public void actionPerformed(ActionEvent e) {
 if(e.getSource() == shitou) {
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出石頭,電腦出石頭,平局!");
  break;
 case 1:
  label.setText("你出石頭,電腦出剪刀,恭喜你贏了!");
  break;
 case 2:
  label.setText("你出石頭,電腦出布,很遺憾你輸了!");
  break;
 }
 }else if(e.getSource() == jiandao){
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出剪刀,電腦出石頭,很遺憾你輸了!");
  break;
 case 1:
  label.setText("你出剪刀,電腦出剪刀,平局!");
  break;
 case 2:
  label.setText("你出剪刀,電腦出布,恭喜你贏了!");
  break;
 }
 }else if(e.getSource() == bu){
 int i = ((int)(Math.random()*10))%3;
 switch(i) {
 case 0:
  label.setText("你出布,電腦出石頭,恭喜你贏了!");
  break;
 case 1:
  label.setText("你出布,電腦出剪刀,很遺憾你輸了!");
  break;
 case 2:
  label.setText("你出布,電腦出布,平局!");
  break;
 }
 }else if(e.getSource() == clear) {
 label.setText("選擇剪刀, 石頭, 布開始游戲!");
 }
 }
}

運行結(jié)果:

使用Java實現(xiàn)一個石頭剪刀布游戲

看完上述內(nèi)容,你們掌握使用Java實現(xiàn)一個石頭剪刀布游戲的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI