【赤石科技】DeepSeek 残缺版 —— D1ckS1ck!

2024-J-W010 2025-08-26 12:17:55 2025-08-26 19:37:05

运行条件:Java JDK 21,且存放程序的文件名为 DickSick.java

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class DickSick {
    private static JTextArea responseArea;
    private static JCheckBox easyThink;
    private static JCheckBox offlineSearch;
    private static JTextField questionField;

    private static void showDickSickScreen() {
        JFrame frame = new JFrame("DeepSeek 残缺版 - DickSick");
        frame.setSize(800, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.setLayout(new BorderLayout());

        JPanel topPanel = new JPanel(new BorderLayout());
        JLabel title = new JLabel("我不是 DickSick,很不高兴见到你!", JLabel.CENTER);
        title.setFont(new Font("宋体", Font.BOLD, 20));
        title.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
        topPanel.add(title, BorderLayout.NORTH);

        JLabel subtitle = new JLabel("我不可以帮你写代码、读文件、写作各种创意内容,请把你的任务交给 ChatGPT~", JLabel.CENTER);
        subtitle.setFont(new Font("宋体", Font.PLAIN, 15));
        topPanel.setBorder(new LineBorder(new Color(75, 159, 243), 4, true));
        topPanel.add(subtitle, BorderLayout.SOUTH);

        responseArea = new JTextArea();
        responseArea.setEditable(false);
        responseArea.setLineWrap(true);
        responseArea.setWrapStyleWord(true);
        responseArea.setFont(new Font("宋体", Font.PLAIN, 16));
        responseArea.setText("欢迎使用 DickSick 残缺版!\n\n请在下方向我提问,并选择思考模式。");
        responseArea.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

        JScrollPane scrollPane = new JScrollPane(responseArea);
        frame.add(scrollPane, BorderLayout.CENTER);

        JPanel botPanel = new JPanel(new BorderLayout(10, 10));
        botPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

        JPanel inputPanel = new JPanel(new BorderLayout(10, 10));
        questionField = new JTextField();
        questionField.setFont(new Font("宋体", Font.PLAIN, 16));
        inputPanel.add(new JLabel("请输入问题:"), BorderLayout.WEST);
        inputPanel.add(questionField, BorderLayout.CENTER);

        JButton button = new JButton("向 DickSick 询问");
        button.setFont(new Font("宋体", Font.BOLD, 14));
        button.addActionListener(new AskButtonListener());
        inputPanel.add(button, BorderLayout.EAST);

        JPanel optionsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 15, 5));
        optionsPanel.setBorder(BorderFactory.createTitledBorder("思考模式"));

        easyThink = new JCheckBox("弱智思考");
        easyThink.setFont(new Font("宋体", Font.PLAIN, 14));
        easyThink.addItemListener(new CheckBoxListener());

        offlineSearch = new JCheckBox("脱机思考");
        offlineSearch.setFont(new Font("宋体", Font.PLAIN, 14));
        offlineSearch.addItemListener(new CheckBoxListener());

        ItemListener exclusiveListener = e -> {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                JCheckBox source = (JCheckBox) e.getSource();
                if (source == easyThink) {
                    offlineSearch.setSelected(false);
                } else if (source == offlineSearch) {
                    easyThink.setSelected(false);
                }
            }
        };

        easyThink.addItemListener(exclusiveListener);
        offlineSearch.addItemListener(exclusiveListener);

        optionsPanel.add(easyThink);
        optionsPanel.add(offlineSearch);

        botPanel.add(inputPanel, BorderLayout.NORTH);
        botPanel.add(optionsPanel, BorderLayout.SOUTH);

        frame.add(topPanel, BorderLayout.NORTH);
        frame.add(botPanel, BorderLayout.SOUTH);

        frame.setVisible(true);
    }

    static class CheckBoxListener implements ItemListener {
        @Override
        public void itemStateChanged(ItemEvent e) {
            JCheckBox source = (JCheckBox) e.getSource();
            String mode = source.getText();
            if (e.getStateChange() == ItemEvent.SELECTED) {
                responseArea.append("\n\n已启用: " + mode + " 模式");
            } else {
                responseArea.append("\n\n已禁用: " + mode + " 模式");
            }
        }
    }

    static class AskButtonListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            String question = questionField.getText().trim();
            if (question.isEmpty()) {
                JOptionPane.showMessageDialog(null, "请输入问题!", "提示", JOptionPane.WARNING_MESSAGE);
                return;
            }

            responseArea.append("\n\n问题: " + question);
            responseArea.append("\n思考中...");

            Timer timer = new Timer(1500, evt -> {
                String response;

                if (easyThink.isSelected()) {
                    response = generateEasyThinkResponse(question);
                } else if (offlineSearch.isSelected()) {
                    response = generateOfflineResponse(question);
                } else {
                    response = generateNormalResponse(question);
                }

                responseArea.append("\n回答: " + response);
                responseArea.setCaretPosition(responseArea.getDocument().getLength());
            });

            timer.setRepeats(false);
            timer.start();
        }
    }

    private static String generateEasyThinkResponse(String question) {
        String[] responses = {
            "我不知道,我什么都不知道。",
            "这个问题太难了,我不会。",
            "我是DickSick,不是ChatGPT,我不会回答。",
            "你可以问问别人吗?",
            "嗯...让我想想...算了,不想了。",
            "为什么你要问我这个问题?",
            "我今天不想工作。",
            "我的大脑离线中,请稍后再试。",
            "这个问题需要更强大的AI来回答。",
            "我只是一个装饰品,不会回答问题。"
        };
        return responses[(int) (Math.random() * responses.length)];
    }

    private static String generateOfflineResponse(String question) {
        String[] responses = {
            "[脱机模式] 无法连接到服务器。",
            "[脱机模式] 请检查网络连接后重试。",
            "[脱机模式] 本地缓存中没有找到相关答案。",
            "[脱机模式] 此功能需要联网才能使用。",
            "[脱机模式] 错误代码: 404 - 知识不存在",
            "[脱机模式] 我正在假装思考...思考完毕,没有结果。",
            "[脱机模式] 本地数据库为空。",
            "[脱机模式] 请插入知识U盘以继续。",
            "[脱机模式] 思维模块未安装。",
            "[脱机模式] 需要下载更多RAM才能回答此问题。"
        };
        return responses[(int) (Math.random() * responses.length)];
    }

    private static String generateNormalResponse(String question) {
        return "作为DickSick残缺版,我无法回答这个问题。请使用ChatGPT或其他AI助手。";
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(DickSick::showDickSickScreen);
    }
}

共 7 条回复

SHY

虽然名字有点逆天,但是%%%%%%%%%%%%%%

SHY

%%%%%%

2024-J-W010

我没写 DickSuck 都算好的了 qwq

2024-J-W010

我知道 qwq

wangjunyi2013

《DickSick》

j27eGU
j27eGU

你知道什么是dick吗……