时间:2020-11-20 17:41:35 | 栏目:JAVA代码 | 点击:次
本文实例为大家分享了java实现简单猜数字的具体代码,供大家参考,具体内容如下
代码不多说,图片自加,实现功能有数字比大小,菜单开始,帮助,退出,关于等,运行结果如图:
代码:
import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Bingo extends JFrame implements ActionListener { JFrame frame; JMenuBar topBbr; JMenu menuQ; JMenu menuF; JMenuItem start = new JMenuItem("开始(n)"); JMenuItem out = new JMenuItem("不玩了(e)"); JMenuItem help = new JMenuItem("帮助(h)"); JMenuItem about = new JMenuItem("关于(a)"); JPanel panelMain = new JPanel(new BorderLayout()); JPanel panelNext = new JPanel(new BorderLayout()); JButton btnStart; JPanel jp1, jp2, jp3, jp4; public static void main(String[] args) { new Bingo(); } public Bingo() { frame = new JFrame(); topBbr = new JMenuBar(); frame.setTitle("王氏猜数字游戏1.0版"); frame.setSize(400, 320); frame.setLocation(450, 240); frame.setLayout(getLayout()); // frame.setLayout(new FlowLayout()); menuQ = new JMenu("游戏(q)"); menuQ.add(start); menuQ.add(out); menuF = new JMenu("帮助(f)"); ImageIcon icon = new ImageIcon("imgs/logo.jpg"); btnStart = new JButton(icon); JButton caiButton = new JButton("猜一猜"); JButton congButton = new JButton("重新来"); JTextField text = new JTextField(6); JLabel mes = new JLabel(" 请你输入一个2位数"); menuF.add(help); menuF.add(about); topBbr.add(menuQ); topBbr.add(menuF); frame.setJMenuBar(topBbr); panelMain.add("Center", btnStart); frame.add(panelMain); frame.setResizable(false); frame.setVisible(true); // Image im = new ImageIcon("imgs/logo.jpg").getImage(); // im = im.getScaledInstance(-1, 90, DO_NOTHING_ON_CLOSE); // setIconImage(im); start.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { panelMain.setVisible(false); start.setEnabled(false); frame.add(panelNext); jp1 = new JPanel(); jp2 = new JPanel(new GridLayout(2, 1)); jp3 = new JPanel(); JLabel top = new JLabel("??"); // top.setBackground(new Color(100, 100, 0, 100)); // top.setOpaque(true); JLabel jb = new JLabel(" "); JLabel jb2 = new JLabel( " "); top.setFont(new Font("隶体", Font.BOLD, 100)); top.setForeground(Color.yellow); jp1.add(top); jp2.add(mes); jp2.add(text); jp3.add(caiButton); jp3.add(congButton); panelNext.add("North", jp1); panelNext.add("Center", jp2); panelNext.add("West", jb); panelNext.add("East", jb2); panelNext.add("South", jp3); panelNext.setVisible(true); } }); // 开始监听1 btnStart.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { start.setEnabled(false); panelMain.setVisible(false); frame.add(panelNext); jp1 = new JPanel(); jp2 = new JPanel(new GridLayout(2, 1)); jp3 = new JPanel(); JLabel top = new JLabel("??"); // top.setBackground(new Color(100, 100, 0, 100)); // top.setOpaque(true); JLabel jb = new JLabel(" "); JLabel jb2 = new JLabel(" "); top.setFont(new Font("隶体", Font.BOLD, 100)); top.setForeground(Color.yellow); jp1.add(top); jp2.add(mes); jp2.add(text); jp3.add(caiButton); jp3.add(congButton); panelNext.add("North", jp1); panelNext.add("Center", jp2); panelNext.add("West", jb); panelNext.add("East", jb2); panelNext.add("South", jp3); panelNext.setVisible(true); } }); // 退出监听 out.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { frame.setVisible(false); } }); // 帮助监听 help.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "请按开始进行游戏!就是猜数字而已,就不多说了!", "帮助", JOptionPane.PLAIN_MESSAGE); } }); // 关于监听 about.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(frame, "谢谢尝脸试玩!", "3Q", JOptionPane.WARNING_MESSAGE); } }); // 开始监听2 caiButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Random x = new Random(); int y = x.nextInt(100); try { int num = Integer.parseInt(text.getText()); if (num > y) { mes.setText(" 你输入的" + num + "大了哦!"); if (num > 99) { mes.setText(" 请输入小于99的数字!"); } }else if(num == y){ mes.setText(" 恭喜你猜对了哦!"); } else{ mes.setText(" 你输入的" + num + "小了哦!"); if (num < 1) { mes.setText(" 请输入大于0的数字!"); } } } catch (Exception e2) { mes.setText(" 请输入0-99的数字!"); } } }); // 重置监听 congButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { text.setText(""); } }); } @Override public void actionPerformed(ActionEvent e) { } }
更多有趣的经典小游戏实现专题,也分享给大家: