package work11;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@SuppressWarnings("serial")
public class Work11_2 extends JFrame implements ActionListener
{
int win, lose, score, draw;
JLabel label;
JTextArea textArea;
JButton scissors, stone, cloth, clear;
JPanel panel1, panel2;
JScrollPane jsp;
public Work11_2() { setTitle("Small Game"); setLocation(250, 250); setSize(350, 350); win = lose = score = draw = 0; panel1 = new JPanel(); label = new JLabel("赢: "+Integer.toString(win)+ " 平: "+Integer.toString(draw)+ " 输: "+Integer.toString(lose)+ " 得分: "+Integer.toString(score)); panel1.add(label); textArea = new JTextArea(); textArea.setEditable(false);
// textArea.setLineWrap(true);
textArea.setBackground(Color.orange);
textArea.setFont(new Font("隶书", Font.BOLD, 21));
textArea.setForeground(Color.BLACK);
textArea.append("第"+Integer.toString(win+lose+draw+1)+"回合\n");
jsp = new JScrollPane(textArea);
panel2 = new JPanel(); scissors = new JButton("剪刀"); stone = new JButton("石头"); cloth = new JButton("布"); clear = new JButton("清楚分数"); scissors.addActionListener(this); stone.addActionListener(this); cloth.addActionListener(this); clear.addActionListener(this); panel2.add(scissors); panel2.add(stone); panel2.add(cloth); panel2.add(clear); add(panel1, BorderLayout.NORTH); add(jsp, BorderLayout.CENTER); add(panel2, BorderLayout.SOUTH); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == scissors) { textArea.append("你出: 剪刀\n"); int i = (int)(Math.random()*10%3); switch(i) { case 0: textArea.append("电脑出: 剪刀\n"); textArea.append("结果: 平\n"); draw += 1; break; case 1: textArea.append("电脑出: 石头\n"); textArea.append("结果: 输\n"); lose += 1; score -= 1; break; case 2: textArea.append("电脑出: 布\n"); textArea.append("结果: 赢\n"); win += 1; score += 2; break; } } else if(e.getSource() == stone) { textArea.append("你出: 石头\n"); int i = (int)(Math.random()*10%3); switch(i) { case 0: textArea.append("电脑出: 剪刀\n"); textArea.append("结果: 赢\n"); win += 1; score += 2; break; case 1: textArea.append("电脑出: 石头\n"); textArea.append("结果: 平\n"); draw += 1; break; case 2: textArea.append("电脑出: 布\n"); textArea.append("结果: 输\n"); lose += 1; score -= 1; break; } } else if(e.getSource() == cloth) { textArea.append("你出: 布\n"); int i = (int)(Math.random()*10%3); switch(i) { case 0: textArea.append("电脑出: 剪刀\n"); textArea.append("结果: 输\n"); lose += 1; score -= 1; break; case 1: textArea.append("电脑出: 石头\n"); textArea.append("结果: 赢\n"); win += 1; score += 2; break; case 2: textArea.append("电脑出: 布\n"); textArea.append("结果: 平\n"); draw += 1; break; } } else if(e.getSource() == clear) { win = 0; lose = 0; draw = 0; score = 0; textArea.setText(""); } textArea.append("第"+Integer.toString(win+lose+draw+1)+"回合\n"); label.setText("赢: "+Integer.toString(win)+ " 平: "+Integer.toString(draw)+ " 输: "+Integer.toString(lose)+ " 得分: "+Integer.toString(score)); } public static void main(String[] args) { Work11_2 frame = new Work11_2(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }
}