java开发双人五子棋游戏


Posted in Java/Android onMay 06, 2022

本文实例为大家分享了java实现双人五子棋游戏的具体代码,供大家参考,具体内容如下

java开发双人五子棋游戏

通过 上下左右 控制棋盘走动  空格落子   (深度优先搜索)

package day_1; 
 
import java.awt.*;
import javax.swing.*;
 
import java.awt.event.*;
 
public class CircleRun extends JFrame {
    /**
     * 
     */
    MyPanel mp = null;
 
    public static void main(String[] args) {
        CircleRun cr = new CircleRun();
    }
 
    public CircleRun() {
 
        mp = new MyPanel();
        this.add(mp);
        this.addKeyListener(mp);
        this.setTitle("双人五子棋正式版3.0");
        this.setSize(518, 538);// 设置窗体大小
        this.setLocation(340, 50);// 设置出现的位置
        this.setVisible(true);// 设置为可见
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JOptionPane.showMessageDialog(this, "双人五子棋游戏说明:通过←↑→↓控制旗子走向,空格下子先满五个子胜利", "游戏说明", JOptionPane.WARNING_MESSAGE);
    }// 游戏说明
}
 
class Text2Frame {// 设置一个交互框
    JTextField jt1 = new JTextField(); // new一个文本框
    JTextArea jt2 = new JTextArea(); // new一个文本区
 
    JTextArea jt4 = new JTextArea(); // new一个文本区
 
    Text2Frame() {
 
        JScrollPane jsp = new JScrollPane(jt2); // new一个滚条
        String title = "正在思考。。。。";
        JFrame jf = new JFrame(title);
        Container container = jf.getContentPane();
        // container.setBackground(Color.yellow); //容器的背景色
        jf.setVisible(true); // 窗体可见
        jf.setLocation(150, 50);
        jf.setSize(300, 150); // 窗体大小
        jf.setLayout(new BorderLayout()); // 边界布局
        jf.add(BorderLayout.NORTH, jt1); // 文本框边界顶部放置
        jt1.setBackground(Color.yellow);
        jf.add(BorderLayout.CENTER, jt2); // 文本框边界中间放置
        jf.add(BorderLayout.EAST, jt4); // 文本框边界中间放置
        jt2.setBackground(Color.red);
 
        jt2.setFont(new Font("宋体", Font.PLAIN, 30));
 
    }
 
    void add(String a) {
        jt2.setText(a);
 
    }
 
};
 
class Text3Frame {
    JTextField jt1 = new JTextField(); // new一个文本框
    JTextArea jt2 = new JTextArea(); // new一个文本区
 
    JTextArea jt4 = new JTextArea(); // new一个文本区
 
    Text3Frame() {
 
        JScrollPane jsp = new JScrollPane(jt2); // new一个滚条
        String title = "当前坐标";
        JFrame jf = new JFrame(title);
        Container container = jf.getContentPane();
        // container.setBackground(Color.yellow); //容器的背景色
        jf.setVisible(true); // 窗体可见
        jf.setLocation(140, 180);
        jf.setSize(300, 200); // 窗体大小
        jf.setLayout(new BorderLayout()); // 边界布局
        jf.add(BorderLayout.NORTH, jt1); // 文本框边界顶部放置
        jt1.setBackground(Color.yellow);
        jf.add(BorderLayout.CENTER, jt2); // 文本框边界中间放置
        jf.add(BorderLayout.EAST, jt4); // 文本框边界中间放置
        jt2.setBackground(Color.green);
 
        jt2.setFont(new Font("宋体", Font.PLAIN, 30));
 
    }
 
    void add(String a) {
        jt2.setText(a);
 
    }
 
    String shu(int a, int b) {
        return "当前坐标(" + a + "," + b + ")";
    }
 
};
 
// 定义自己的面板
class MyPanel extends JPanel implements KeyListener {
    /**
     * 
     */
    private static final long serialVersionUID = 4154597541232213984L;
    Text2Frame txw = new Text2Frame();
    Text3Frame txw3 = new Text3Frame();
    static JFrame sc = new JFrame();
    static int jishu = 1;
 
    static int summm = 1;
    static int summm2 = 1;
    static int arr[][] = new int[11][12];
 
    int x = 5;
    int y = 5;
    int sum = 0;
    int sum2 = 0;
    Node n1 = new Node(x, y);
    seqlist kai = new seqlist(n1);
    seqlist seq = new seqlist(null);
    seqlist seq2 = new seqlist(null);
 
    static void soushang(int a, int b) {
 
        if (a - 1 < 1) {
 
            return;
 
        }
        if (arr[a - 1][b] == 1 && a - 1 > 0) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
 
            }
 
            soushang(a - 1, b);
 
        }
 
    }
 
    static void souxia(int a, int b) {
 
        if (a + 1 > 10) {
 
            return;
 
        }
        if (arr[a + 1][b] == 1 && a + 1 <= 10) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souxia(a + 1, b);
 
        }
 
    }
 
    static void souzuo(int a, int b) {
 
        if (b - 1 < 1) {
 
            return;
 
        }
        if (arr[a][b - 1] == 1 && b - 1 >= 1) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souzuo(a, b - 1);
 
        }
 
    }
 
    static void souyou(int a, int b) {
 
        if (b + 1 > 10) {
 
            return;
 
        }
        if (arr[a][b + 1] == 1 && b + 1 <= 10) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyou(a, b + 1);
 
        }
    }
 
    static void soushangzuo(int a, int b) {
 
        if (a - 1 < 1 || b - 1 < 1) {
 
            return;
 
        }
        if (arr[a - 1][b - 1] == 1 && (a - 1 > 0) && (b - 1) > 0) {
 
            summm++;
 
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            soushangzuo(a - 1, b - 1);
        }
 
    }
 
    static void souxiazuo(int a, int b) {
 
        if (a + 1 > 10 || b - 1 < 1) {
 
            return;
 
        }
        if (arr[a + 1][b - 1] == 1 && (a + 1 <= 10) && (b - 1) >= 1) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souxiazuo(a + 1, b - 1);
        }
 
    }
 
    static void souyoushang(int a, int b) {
 
        if (a - 1 < 1 && b + 1 > 10) {
 
            return;
 
        }
        if (arr[a - 1][b + 1] == 1 && a - 1 >= 1 && b + 1 <= 10) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyoushang(a - 1, b + 1);
        }
 
    }
 
    static void souyouxia(int a, int b) {
 
        if (b + 1 > 10 && a + 1 > 10) {
 
            return;
 
        }
        if (arr[a + 1][b + 1] == 1 && b + 1 <= 10 && a + 1 <= 10) {
 
            summm++;
            if (summm == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "红色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyouxia(a + 1, b + 1);
        }
    }
 
    static void soushang2(int a, int b) {
 
        if (a - 1 < 1) {
 
            return;
 
        }
        if (arr[a - 1][b] == 2 && a - 1 > 0) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            soushang2(a - 1, b);
 
        }
 
    }
 
    static void souxia2(int a, int b) {
 
        if (a + 1 > 10) {
 
            return;
 
        }
        if (arr[a + 1][b] == 2 && a + 1 <= 10) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souxia2(a + 1, b);
 
        }
 
    }
 
    static void souzuo2(int a, int b) {
 
        if (b - 1 > 10) {
 
            return;
 
        }
        if (arr[a][b - 1] == 2 && b - 1 >= 1) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souzuo2(a, b - 1);
 
        }
 
    }
 
    static void souyou2(int a, int b) {
 
        if (b + 1 > 10) {
 
            return;
 
        }
        if (arr[a][b + 1] == 2 && b + 1 <= 10) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyou2(a, b + 1);
 
        }
 
    }
 
    static void soushangzuo2(int a, int b) {
 
        if (a - 1 < 1 || b - 1 < 1) {
 
            return;
 
        }
        if (arr[a - 1][b - 1] == 2 && (a - 1 >= 1) && (b - 1) >= 1) {
 
            summm2++;
 
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            soushangzuo2(a - 1, b - 1);
        }
 
    }
 
    static void souxiazuo2(int a, int b) {
 
        if (a + 1 > 10 || b - 1 < 1) {
 
            return;
 
        }
        if (arr[a + 1][b - 1] == 2 && (a + 1 <= 10) && (b - 1) >= 1) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souxiazuo2(a + 1, b - 1);
        }
 
    }
 
    static void souyoushang2(int a, int b) {
 
        if (a - 1 < 1 && b + 1 > 10) {
 
            return;
 
        }
        if (arr[a - 1][b + 1] == 2 && a - 1 >= 1 && b + 1 <= 10) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyoushang2(a - 1, b + 1);
        }
 
    }
 
    static void souyouxia2(int a, int b) {
 
        if (b + 1 > 10 && a + 1 > 10) {
 
            return;
 
        }
        if (arr[a + 1][b + 1] == 2 && b + 1 <= 10 && a + 1 <= 10) {
 
            summm2++;
            if (summm2 == 5) {
                for (int i = 0; i < 11; i++) {
                    for (int k = 0; k < 12; k++) {
                        arr[i][k] = 0;
                    }
 
                }
                System.out.println("胜利");
                JOptionPane.showMessageDialog(sc, "绿色方胜利,点击确定重新开始", "结果", JOptionPane.WARNING_MESSAGE);
            }
 
            souyouxia2(a + 1, b + 1);
        }
    }
 
    public void paint(Graphics g) {
        if (jishu % 2 == 1) {
            String aaa = "红方开始下棋";
            txw.add(aaa);
 
        } else {
            String aaa = "绿方开始下棋";
            txw.add(aaa);
 
        }
 
        txw3.add(txw3.shu(x, y));
        super.paint(g);
        for (int i = 1; i <= 10; i++) {
            for (int k = 1; k <= 10; k++) {
                g.fillOval((i - 1) * 50, (k - 1) * 50, 50, 50);
            }
        }
        Color c = g.getColor();
 
        g.fillOval(x * 50, y * 50, 50, 50);
        Node now = seq.head;
        Node tou = kai.head;
        Color u = g.getColor();
        if (jishu % 2 == 1) {
            g.setColor(Color.red);
            g.fillOval((tou.a - 1) * 50, (tou.b - 1) * 50, 50, 50);
            g.setColor(u);
        } else {
            g.setColor(Color.green);
            g.fillOval((tou.a - 1) * 50, (tou.b - 1) * 50, 50, 50);
            g.setColor(u);
 
        }
 
        while (now != null) {
            System.out.print("(" + now.a + " " + now.b + ")");
            Color r = g.getColor();
            g.setColor(Color.red);
            g.fillOval((now.a - 1) * 50, (now.b - 1) * 50, 50, 50);
            g.setColor(r);
            now = now.next;
 
        }
        Node now2 = seq2.head;
        while (now2 != null) {
            System.out.print("(" + now2.a + " " + now2.b + ")");
            Color r = g.getColor();
            g.setColor(Color.green);
            g.fillOval((now2.a - 1) * 50, (now2.b - 1) * 50, 50, 50);
            g.setColor(r);
            now2 = now2.next;
 
        }
        System.out.println();
    }
 
    // 键的一个值被输出
    @Override
    public void keyTyped(KeyEvent e) {
 
    }
 
    // 键被按下
    @Override
 
    public void keyPressed(KeyEvent e) {
 
        System.out.print("线性表为");
 
        System.out.println();
        // System.out.println("键被按下"+e.getKeyCode());
        if (e.getKeyCode() == KeyEvent.VK_DOWN) {
 
            // System.out.println("12");
 
            y = y + 1;
            if (y >= 11) {
                y = y % 11 + 1;
            }
 
        } else if (e.getKeyCode() == KeyEvent.VK_UP) {
            y = y - 1;
            if (y < 1) {
                y = y + 10;
            }
 
        } else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
            x = x - 1;
            if (x < 1) {
                x = x + 10;
            }
        } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
 
            x = x + 1;
            if (x >= 11) {
                x = x % 11 + 1;
            }
 
        } else if (e.getKeyCode() == KeyEvent.VK_SPACE) {
            int luo1 = x;
            int luo2 = y;
 
            Node n2 = new Node(luo1, luo2);
            if (jishu % 2 != 0) {
                Node now3 = seq2.head;
                Node now2 = seq.head;
                int aaa = 1;
 
                if (arr[x][y] == 1 || arr[x][y] == 2) {
                    JOptionPane.showMessageDialog(sc, "此处已有棋子,请下别处", "错误", JOptionPane.WARNING_MESSAGE);
                    aaa = 2;
 
                }
 
                if (aaa == 1) {
 
                    jishu++;
                    seq.add(n2);
                    arr[luo1][luo2] = 1;
                    seq.tostring();
                    System.out.println("摁下空格");
                    soushang(x, y);
 
                    System.out.println("sum1" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souxia(x, y);
                    System.out.println("sum2" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm = 1;
                    souzuo(x, y);
                    System.out.println("sum3" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souyou(x, y);
                    System.out.println("sum4" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm = 1;
 
                    soushangzuo(x, y);
                    System.out.println("sum5" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souyouxia(x, y);
                    System.out.println("sum6" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm = 1;
                    souyoushang(x, y);
                    System.out.println("sum7" + "  " + summm);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    souxiazuo(x, y);
                    if (summm == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm = 1;
                }
 
            } else {
                int aaa = 1;
 
                if (arr[x][y] == 1 || arr[x][y] == 2) {
                    JOptionPane.showMessageDialog(sc, "此处已有棋子,请下别处", "错误", JOptionPane.WARNING_MESSAGE);
                    aaa = 2;
 
                }
                if (aaa == 1) {
 
                    jishu++;
                    seq2.add(n2);
                    arr[luo1][luo2] = 2;
                    seq2.tostring();
                    System.out.println("摁下空格");
                    soushang2(x, y);
 
                    System.out.println("sum1" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souxia2(x, y);
                    System.out.println("sum2" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm2 = 1;
                    souzuo2(x, y);
                    System.out.println("sum3" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souyou2(x, y);
                    System.out.println("sum4" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm2 = 1;
 
                    soushangzuo2(x, y);
                    System.out.println("sum5" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
 
                    souyouxia2(x, y);
                    System.out.println("sum6" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm2 = 1;
                    souyoushang2(x, y);
                    System.out.println("sum7" + "  " + summm);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    souxiazuo2(x, y);
                    if (summm2 == 5) {
                        seq.head = null;
                        seq2.head = null;
                    }
                    summm2 = 1;
 
                }
            }
            for (int i = 1; i <= 10; i++) {
                for (int k = 1; k <= 10; k++) {
                    System.out.print(arr[i][k] + " ");
 
                }
                System.out.println();
 
            }
 
        }
        kai.huan(x, y);
 
        // 调用repaint()函数,来重绘界面
        this.repaint();
    }
 
    class Node {// 设置 节点类
        int a;
        int b;
        Node next;
 
        Node(int a, int b) {
            this.a = a;
            this.b = b;
            this.next = null;
        }
 
    }
 
    class seqlist {// 设置链表类
        Node head;
        Node tail;
 
        int n = 0;
 
        public seqlist(Node head) {
            // TODO Auto-generated constructor stub
            this.head = head;
            this.tail = head;
            n++;
        }
 
        void add(Node p) {
            Node now = head;
            p.next = now;
            head = p;
            n++;
 
        }
 
        void tostring() {
            Node now = head;
            System.out.print("线性表为");
            while (now != null) {
                System.out.print(now.a + ",");
                now = now.next;
            }
            System.out.println();
 
        }
 
        int length() {
            return n;
 
        }
 
        void insert(int a, Node b) {
            Node now1 = head;
            for (int i = 0; i < a - 1; i++) {
                now1 = now1.next;
            }
            b.next = now1.next;
            now1.next = b;
            n++;
        }
 
        void delete(int a) {
            Node now1 = head;
            for (int i = 0; i < a - 1; i++) {
                now1 = now1.next;
            }
            now1.next = now1.next.next;
            n--;
 
        }
 
        int geta(int n) {
            Node now1 = head;
            for (int i = 0; i < n - 1; i++) {
                now1 = now1.next;
 
            }
            return now1.a;
 
        }
 
        void huan(int a, int b) {
            head.a = a;
            head.b = b;
 
        }
 
        int getb(int n) {
            Node now1 = head;
            for (int i = 0; i < n - 1; i++) {
                now1 = now1.next;
 
            }
            return now1.b;
 
        }
 
    }
 
    // 键被释放
    @Override
    public void keyReleased(KeyEvent e) {
    }
}

Tags in this post...

Java/Android 相关文章推荐
springboot中一些比较常用的注解总结
Jun 11 Java/Android
分析Netty直接内存原理及应用
Jun 14 Java/Android
Java使用httpRequest+Jsoup爬取红蓝球号码
Jul 02 Java/Android
java基础——多线程
Jul 03 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
Java spring单点登录系统
Sep 04 Java/Android
SpringBoot整合阿里云视频点播的过程详解
Dec 06 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
Java 超详细讲解数据结构中的堆的应用
Apr 02 Java/Android
JAVA 线程池(池化技术)的实现原理
Apr 28 Java/Android
Java设计模式中的命令模式
Apr 28 Java/Android
Spring Boot优化后启动速度快到飞起技巧示例
Jul 23 Java/Android
解决Springboot PostMapping无法获取数据的问题
May 06 #Java/Android
java版 联机五子棋游戏
Java版 简易五子棋小游戏
java版 简单三子棋游戏
May 04 #Java/Android
Java 定时任务技术趋势简介
Java版 单机五子棋
详解Android中的TimePickerView(时间选择器)的用法
Apr 30 #Java/Android
You might like
ip签名探针
2006/10/09 PHP
SMARTY学习手记
2007/01/04 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php 中的closure用法详解
2017/06/12 PHP
PHP xpath()函数讲解
2019/02/11 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
node网页分段渲染详解
2016/09/05 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
使用pyqt 实现重复打开多个相同界面
2019/12/13 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
生产车间班组长岗位职责
2014/01/06 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
一名老师的自我评价
2014/02/07 职场文书
英文求职信范文
2014/05/23 职场文书
行政司机岗位职责
2015/04/10 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python