Maison  >  Article  >  Java  >  java基于swing实现的五子棋游戏代码

java基于swing实现的五子棋游戏代码

黄舟
黄舟original
2016-12-24 11:05:471273parcourir

本文实例讲述了java基于swing实现的五子棋游戏代码。分享给大家供大家参考。

主要功能代码如下

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Main extends JFrame implements ActionListener{
        private static final long serialVersionUID = 1L;
        JButton[][] point=new JButton[40][40];
        int[][] state=new int[40][40];
        int[][] value=new int[40][40];
        int[] place=new int[2];
        public Main(){
                this.setTitle("五子棋");
                this.setBounds(100,10,1000,1000);
                this.setLayout(new GridLayout(30,30));
                int i,j;
                for(i=0;i<=39;i++){
                        for(j=0;j<=39;j++){
                                state[i][j]=0;
                                value[i][j]=0;
                        }
                }
                for(i=5;i<=34;i++){
                        for (j=5;j<=34;j++){
                                point[i][j]=new JButton("");
                                this.add(point[i][j]);
                                point[i][j].addActionListener(this);
                        }
                }
                this.setVisible(true);
        }
        public void actionPerformed(ActionEvent e)
    {
            int i,j;
            for(i=5;i<=34;i++){
                    for(j=5;j<=34;j++){
                            if(e.getSource()==point[i][j]){
                                    point[i][j].setBackground(Color.RED);
                                    state[i][j]=1;
                                    point[i][j].setEnabled(false);
                                    value[i][j]=0;
                            }
                    }
            }
            for(i=5;i<=34;i++){
                    for(j=5;j<=34;j++){
                            value[i][j]=value(i,j);
                            if(((state[i][j]==1)&&(state[i][j+1]==1)&&(state[i][j+2]==1)&&(state[i][j+3]==1)&&(state[i][j+4]==1))||
                                           ((state[i][j]==1)&&(state[i+1][j]==1)&&(state[i+2][j]==1)&&(state[i+3][j]==1)&&(state[i+4][j]==1))||
                                           ((state[i][j]==1)&&(state[i-1][j+1]==1)&&(state[i-2][j+2]==1)&&(state[i-3][j+3]==1)&&(state[i-4][j+4]==1))||
                                           ((state[i][j]==1)&&(state[i+1][j+1]==1)&&(state[i+2][j+2]==1)&&(state[i+3][j+3]==1)&&(state[i+4][j+4]==1))){
                                    JOptionPane.showMessageDialog(null,"你太厉害了吧,我打不过你");
                            }

 以上就是java基于swing实现的五子棋游戏代码的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn