📄 rpspanel.java
字号:
import javax.swing.*;import java.awt.event.*;import java.awt.*;public class RPSPanel extends JPanel{ final static int STONE=0,SCISSOR=1,PAPER=2; final static int WIN=0,LOSE=1,DRAW=2; private JRadioButton stone,scissor,paper; private JButton start,getResult; private int user,computer,draw, userSelect,computerSelect, result; public RPSPanel() { JPanel temp; UserListener listener; setLayout(new BoxLayout(this,BoxLayout.Y_AXIS)); user=0; computer=0; draw=0; userSelect=STONE; stone=new JRadioButton("Stone",true); scissor=new JRadioButton("Scissor"); paper=new JRadioButton("Paper"); listener=new UserListener(); stone.addActionListener(listener); scissor.addActionListener(listener); paper.addActionListener(listener); ButtonGroup group=new ButtonGroup(); group.add(stone); group.add(scissor); group.add(paper); temp=new JPanel(); temp.setLayout(new BoxLayout(temp,BoxLayout.X_AXIS)); temp.add(stone); temp.add(scissor); temp.add(paper); add(temp); start=new JButton("Start!"); start.addActionListener(new GameListener()); getResult=new JButton("get result"); getResult.addActionListener(new resultListener()); temp=new JPanel(); temp.setLayout(new BoxLayout(temp,BoxLayout.X_AXIS)); temp.add(start); temp.add(getResult); add(temp); } private class GameListener implements ActionListener { public void actionPerformed(ActionEvent event) { int computerSelect=(int)(Math.random()*3); switch( userSelect ) { case STONE: switch( computerSelect ) { case STONE: ++draw;result=draw;break; case SCISSOR: ++user;result=WIN;break; case PAPER: ++computer;result=LOSE;break; } break; case SCISSOR: switch( computerSelect ) { case STONE: ++computer;result=LOSE;break; case SCISSOR: ++draw;result=draw;break; case PAPER: ++user;result=WIN;break; } break; case PAPER: switch( computerSelect ) { case STONE: ++user;result=WIN;break; case SCISSOR: ++computer;result=LOSE;break; case PAPER: ++draw;result=draw;break; } break; } switch( result ) { case WIN: JOptionPane.showMessageDialog(null,"You Win!"); break; case LOSE: JOptionPane.showMessageDialog(null,"You Lose!"); break; case DRAW: JOptionPane.showMessageDialog(null,"It's a draw"); break; } } } private class UserListener implements ActionListener { public void actionPerformed(ActionEvent event) { Object source=event.getSource(); if( source==stone ) { userSelect=STONE; } else if( source==scissor ) { userSelect=SCISSOR; } else { userSelect=PAPER; } } } private class resultListener implements ActionListener { public void actionPerformed(ActionEvent event) { String buf="User:\t"+user +"\nComputer:\t"+computer +"\nDraw:\t"+draw; JOptionPane.showMessageDialog(null,buf); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -