• java课设 五子棋代码编写(团队)


    1. 团队课程设计博客链接

    http://www.cnblogs.com/yzb123/p/7063424.html

    2.个人责模块或任务说明

    1.主函数编写,设置图形界面
    2,设置功能按钮
    3.使用CheckboxGroup对下棋顺序设置
    4.对功能按钮的使用进行限制

    3.自己的代码提交记录截图

    4.自己负责模块或任务详细说明

    public class FivChese  extends JFrame{
        CheseGame CG;
        FivChese ()
        {
            this.CG= new CheseGame();
            addMouseListener(CG);
            add(CG);
        }
        public static void main(String[] args) {
            FivChese  fivechese= new FivChese ();
            fivechese.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            fivechese.setSize(900, 700);
            fivechese.setTitle("五子棋");
            fivechese.setVisible(true);//可以画图
            fivechese.setResizable(true);//可以改变大小
        }
    }
    class CheseGame extends JPanel  implements MouseListener,ItemListener
    {
        int [][]map = new int[20][20];
        Color []color = {Color.BLACK,Color.WHITE,Color.LIGHT_GRAY};
        //棋子坐标
        int x = -1;
        int y = -1;
        //判定是白棋还是黑棋
        int flag = 1;
        //判定胜负
        int winner = 3;
        JButton btn1 = new JButton("开始"); //游戏开始
        JButton btn2 = new JButton("再来一局");//游戏重置
        //确定白棋先还是黑棋先
        CheckboxGroup cbg = new CheckboxGroup();//复选框
        Checkbox  chb1 = new Checkbox("黑棋先开始",cbg,true);
        Checkbox  chb2 = new Checkbox("白棋先开始",cbg,false);
        @Override
        public void itemStateChanged(ItemEvent ie) {
          //  throw new UnsupportedOperationException("Not supported yet.");
            if(chb1.getState())
            {
                flag = 1;
            }
            else
            {
                flag = 2;
            }
        }
        class GameStart implements ActionListener
        {
            public void actionPerformed(ActionEvent ae)
            {
                 if(ae.getSource() == btn1)//str.equals("Start")
                 {
                     start();
                     repaint();
                     btn1.setEnabled(false);
                     btn2.setEnabled(true);
                     chb1.setEnabled(false);
                     chb2.setEnabled(false);
                 }
                 if(ae.getSource() == btn2)
                 {
                     start();
                     repaint();
                     chb1.setEnabled(true);
                     chb2.setEnabled(true);
                 }
            }
        }
    CheseGame()
        {  
            this.setLayout(null);
            chb1.setBounds(650, 50, 100, 30);
            chb2.setBounds(650, 100, 100, 30);
            chb1.addItemListener(this);
            chb2.addItemListener(this);
            btn1.setBounds(650,150,100,30);
            btn1.addActionListener(new GameStart()); 
            btn2.setBounds(650, 200, 100, 30);
            btn2.addActionListener(new GameStart());
            btn2.setEnabled(false);
            this.add(btn1);
            this.add(btn2);
            this.add(chb1);
            this.add(chb2);
        }
        void start()
        {
            for(int i = 0;i < 20;i++)
                for(int j = 0;j < 20;j++)
                    map[i][j] = 0;
            winner = 0;
        }
    

    5.课程设计感想

    选择了这个以后,发现对自己难度太大,几乎对图形界面一无所知,所以就只能临时学习。因为时间有限,所以程序的功能实现的不全面, 但是还是有收获的。对于网络对战和悔棋的要求并没有达成,所以还是要对java进一步学习。

  • 相关阅读:
    每日一练leetcode
    java 中 int与string的相互转化
    每日一练leetcode
    每日一题leetcode
    每日一练leetcode
    每日一练leetcode
    每日一题leetcode
    Three20在IOS6中不能正常使用 迎客
    苹果提供的支付功能接口 迎客
    ios随记 迎客
  • 原文地址:https://www.cnblogs.com/lsl321/p/7063608.html
Copyright © 2020-2023  润新知