130 个相见恨晚的超实用网站,一次性分享出来

栏目:人物资讯  时间:2023-08-06
手机版

  好的,下面是一个简单的示例代码,它实现了上述需求的一部分功能,您可以参考它来编写自己的代码:

  ```java

  import javax.swing.*;

  import java.awt.*;

  import java.awt.event.ActionEvent;

  import java.awt.event.ActionListener;

  import java.util.ArrayList;

  import java.util.Random;

  public class IdiomGame extends JFrame implements ActionListener {

  private JTabbedPane tabbedPane;

  private JPanel gamePanel;

  private JLabel idiomLabel, scoreLabel, hintLabel;

  private JTextField inputField;

  private JButton confirmButton, hintButton;

  private ArrayList<String> idiomList;

  private int score;

  private String currentIdiom;

  public static void main(String[] args) {

  IdiomGame game = new IdiomGame();

  game.setVisible(true);

  }

  public IdiomGame() {

  setTitle("成语接龙游戏");

  setSize(400, 300);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  // 创建选项卡

  tabbedPane = new JTabbedPane();

  getContentPane().add(tabbedPane);

  // 创建游戏模式面板

  gamePanel = new JPanel();

  gamePanel.setLayout(new BorderLayout());

  tabbedPane.addTab("挑战模式", gamePanel);

  // 创建成语标签

  idiomLabel = new JLabel();

  idiomLabel.setFont(new Font("宋体", Font.PLAIN, 20));

  idiomLabel.setHorizontalAlignment(SwingConstants.CENTER);

  gamePanel.add(idiomLabel, BorderLayout.NORTH);

  // 创建输入框、确认按钮和提示按钮

  JPanel inputPanel = new JPanel();

  inputPanel.setLayout(new FlowLayout());

  inputField = new JTextField(10);

  inputPanel.add(inputField);

  confirmButton = new JButton("确认");

  confirmButton.addActionListener(this);

  inputPanel.add(confirmButton);

  hintButton = new JButton("提示");

  hintButton.addActionListener(this);

  inputPanel.add(hintButton);

  gamePanel.add(inputPanel, BorderLayout.CENTER);

  // 创建得分和提示标签

  JPanel infoPanel = new JPanel();

  infoPanel.setLayout(new GridLayout(1, 2));

  scoreLabel = new JLabel("得分: 0");

  scoreLabel.setFont(new Font("宋体", Font.PLAIN, 16));

  scoreLabel.setHorizontalAlignment(SwingConstants.CENTER);

  infoPanel.add(scoreLabel);

  hintLabel = new JLabel("");

  hintLabel.setFont(new Font("宋体", Font.PLAIN, 16));

  hintLabel.setHorizontalAlignment(SwingConstants.CENTER);

  infoPanel.add(hintLabel);

  gamePanel.add(infoPanel, BorderLayout.SOUTH);

  // 初始化成语列表和分数

  idiomList = new ArrayList<>();

  idiomList.add("千姿百态");

  idiomList.add("天伦之乐");

  idiomList.add("饮食男女");

  idiomList.add("相见恨晚");

  score = 0;

  // 随机选择一个成语作为起始成语

  currentIdiom = idiomList.get(new Random().nextInt(idiomList.size()));

  idiomLabel.setText(currentIdiom);

  }

  @Override

  public void actionPerformed(ActionEvent e) {

  if (e.getSource() == confirmButton) {

  // 获取用户输入的成语

  String inputIdiom = inputField.getText().trim();

  // 判断成语是否符合规则

  if (inputIdiom.length() == 4 && inputIdiom.charAt(0) == currentIdiom.charAt(3)) {

  // 计算分数并更新得分标签

  score += 10;

  scoreLabel.setText("得分: " + score);

  // 随机选择一个新的成语作为起始成语

  currentIdiom = idiomList.get(new Random().nextInt(idiomList.size()));

  idiomLabel.setText(currentIdiom);

  // 清空输入框和提示标签

  inputField.setText("");

  hintLabel.setText("");

  } else {

  // 显示错误提示

  JOptionPane.showMessageDialog(this, "成语不符合规则,请重新输入!", "错误", JOptionPane.ERROR_MESSAGE);

  }

  } else if (e.getSource() == hintButton) {

  // 随机选择一个提示

  String hint = "下一个字是" + currentIdiom.charAt(3);

  hintLabel.setText(hint);

  }

  }

  }

  ```

  这个代码实现了一个简单的成语接龙游戏,包括了选择游戏模式、显示成语、输入成语、判断成语是否符合规则、计算分数、随机选择新的成语、显示提示等功能。您可以运行它来看看效果。当然,它还有很多不足之处,需要根据您的具体需求进行修改和完善。

上一篇:原创明学实火!黄渤发博引用明学调侃黄晓明,“青岛三黄”同台引期待
下一篇:社区未成年人工作计划2023(必备9篇)