JAVA实现“剪刀石头布”小游戏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA实现“剪刀石头布”小游戏

import java.util.Random;

import javax.swing.*;

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.event.*;

public class SmallGame extends JFrame {

private Random r;

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

private JComboBox choice;

private JTextArea ta;

private JLabel lb;

private int win = 0;

private int loss = 0;

private int equal = 0;

public SmallGame() {

initial();//调用initial方法,就是下面定义的那个.该方法主要是初始界面.

pack();

setTitle("游戏主界面");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocation(400, 300);

setVisible(true);

}

public static void main(String[] args) {

new SmallGame();

}

public void initial() {

r = new Random(); // 生成随机数

choice = new JComboBox();//初始化choice这个下拉框.也就是你选择出剪子还是石头什么的那个下拉框..

for (int i = 0; i < box.length; i++) {//为那个下拉框赋值.用前面定义的private String[] box = { "剪刀", "石头", "布" };附值.这样下拉框就有三个选项了..

choice.addItem(box[i]);

}

ta = new JTextArea(3, 15);//初始化那个文本域3行15列

ta.setEditable(false);//让用户不能编辑那个文本域即不能在里面写东西

JButton okBut = new JButton("出招");//新建一个出招的按钮

okBut.addActionListener(new ActionListener() {//给出招按钮加个监听.意思就是监听着这个按钮看用户有没有点击它..如果点击就执行下面这个方法

public void actionPerformed(ActionEvent e) {//就是这个方法

ta.setText(getResult());//给那个文本域赋值..就是显示结果赋值的是通过getResult()这个方法得到的返回值getResult()这个方法下面会讲

lb.setText(getTotal());//给分数那个LABEL赋值..就是显示分数..赋值的是通过getTotal()这个方法得到的返回值

}

});

JButton clearBut = new JButton("清除分数");//新建一个清楚分数的按钮

clearBut.addActionListener(new ActionListener() {//同上给他加个监听

public void actionPerformed(ActionEvent e) {//如果用户点击了就执行这个方法

ta.setText("");//给文本域赋值为""..其实就是清楚他的内容

win = 0;//win赋值为0

loss = 0;//同上

equal = 0;//同上

lb.setText(getTotal());//给显示分数那个赋值..因为前面已经都赋值为0了..所以这句就是让显示分数那都为0

}

});

lb = new JLabel(getTotal());//初始化那个显示分数的东西

JPanel choicePanel = new JPanel();//定义一个面板..面板就相当于一个画图用的东西..可以在上面加按钮啊文本域什么的..

choicePanel.add(choice);//把下拉框加到面板里

choicePanel.add(okBut);//把出招按钮加到面板里

choicePanel.add(clearBut);//把清楚分数按钮加到面板里

JScrollPane resultPanel = new JScrollPane(ta);//把文本域加到一个可滚动的面板里面..JScrollPane就是可滚动的面板..这样如果那个文本域内容太多就会出现滚动条..而不是变大

JPanel totalPanel = new JPanel();//再定义个面板..用来显示分数的..

totalPanel.add(lb);//把那个显示分数的label加到里面去

Container contentPane = getContentPane();//下面就是布局了..

contentPane.setLayout(new BorderLayout());

contentPane.add(choicePanel, BorderLayout.NORTH);

contentPane.add(resultPanel, BorderLayout.CENTER);

contentPane.add(totalPanel, BorderLayout.SOUTH);

}

相关文档
最新文档