Pair Project


以前只是一個人完成一個項目,不論什么都是,現在突然要兩個人一起來寫, 聽上去挺稀奇的,也挺簡單的,可惜了就是“聽上去”而已。我認為這也是一種技術啊~

我跟我的搭檔研究了好久好久,選擇了好久,然后也選了各種語言,最后決定了用Java。本來我打算做一個數獨的小項目,可惜搭檔說還是做五子棋的(主要我覺得做五子棋的人太多了),所以最后還是做了五子棋的,這是源碼的github鏈接。

我們用Java編寫了一個五子棋游戲,實現了實現了人人對戰,人機對戰。其中人機對戰使用了很簡單的AI,使棋子隨機出現在棋盤的各個位置。在整個過程中,我有我的活兒,我的搭檔(cnblongs)也有他的任務。

一、分工情況:

崔琪:GUI設計以及代碼規范

孫明東:負責棋子勝負判斷部分

二、過程分析:

這次我主要負責的是GUI設計以及代碼規范,我來大概說說GUI吧。

GUI編程規范總結:

1、一般情況下對話框第一欄都是菜單欄,因此首先就是建立菜單欄。在GUI控件使用時所有的控件都是層層嵌套的,就是控件依托,最終整合到面板上,進而再添加事件監聽器,已響應事件的發生;

建立菜單:

public MenuBar getMB(){//創建菜單欄
        MenuBar mb = new MenuBar();
        
        Menu file = new Menu("文件");//文件菜單
        MenuItem open = new MenuItem("打開");//打開菜單項
        file.add(open);
        MenuItem save = new MenuItem("保存");//保存菜單項
        file.add(save);
        file.addSeparator();
        MenuItem exit = new MenuItem("退出");//退出菜單項
        file.add(exit);
        
        
        Menu game = new Menu("游戲");
        
        MenuItem begin = new MenuItem("開始游戲");//開始游戲菜單項
        game.add(begin);
        game.addSeparator();
        MenuItem mantoman = new MenuItem("人人對戰");
        game.add(mantoman);
        MenuItem mantocpu = new MenuItem("人機對戰");
        game.add(mantocpu);
        
        
        Menu have = new Menu("執子顏色");
        MenuItem haveblcak = new MenuItem("黑色");
        have.add(haveblcak);
        MenuItem havewhite = new MenuItem("白色");
        have.add(havewhite);
        
        game.addSeparator();
        game.add(have);
        
        
        Menu help = new Menu("幫助");//幫助菜單
        MenuItem about = new MenuItem("關於");//打開菜單項
        help.add(about);
        
        mb.add(file);
        mb.add(game);
        mb.add(help);
        
        MenuAction al = new MenuAction();
        open.addActionListener(al);
        save.addActionListener(al);
        about.addActionListener(al);
        exit.addActionListener(al);
        begin.addActionListener(al);
        mantoman.addActionListener(al);
        mantocpu.addActionListener(al);
        haveblcak.addActionListener(al);
        havewhite.addActionListener(al);
        return mb;
    }

在這里舉一例。

GUI框架的設計步驟:

①首先要建立主框架:JFrame f=new JFrame();

②取得框架的內容窗格 Container contentPane=f.getContentPane();

③在制作復雜的用戶界面時,常常需要使用多個JPanel將復雜的界面分解為先對建大的子界面,然后再對每個JPanel進行布局:

Menu file = new Menu("文件");//文件菜單
  MenuItem open = new MenuItem("打開");//打開菜單項
  file.add(open);
  MenuItem save = new MenuItem("保存");//保存菜單項
  file.add(save);
  file.addSeparator();
  MenuItem exit = new MenuItem("退出");//退出菜單項
  file.add(exit);

④將面板添加到框架的內容窗格中,如:

Menu have = new Menu("執子顏色");
        MenuItem haveblcak = new MenuItem("黑色");
        have.add(haveblcak);
        MenuItem havewhite = new MenuItem("白色");
        have.add(havewhite);
        
        game.addSeparator();
        game.add(have);

⑤處理控件的依賴關系,及消息的定義,各種細節的設計

⑥控件的逐級加入

JSSFMenu.add(DBJFItem);//將下拉子菜單加入到主菜單中去

menuBar.add(DBJFItem);//將主菜單加入到主菜單工具條中

⑦將面板加入到框架的內容窗格中

contentPanel.add(P); 

三、設計結果:

運行界面

接下來是運行的結果

以上是項目的過程

四、收獲

在這次的結對項目中,我體會到了兩人在一起工作時的狀態,好處總要比弊處多。首先兩個人在一起做一個項目會節省很多的時間,分工合作要比一個人瞎忙來得好;還有,一個人的思維往往是受局限的,有了伙伴之后總會讓你在思維上有所啟發。相互的交流學習是非常重要的,往往有所經驗才有所收獲。很高興和搭檔的這次合作!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM