團隊項目總結


Java團隊項目總結

項目實現情況

  1. 主窗體和菜單
    • 用類ChessFrame創建五子棋游戲主窗體和菜單
    • 菜單可選為:

  • 版本信息:
  1. 五子棋算法核心:用類ChessModel實現了整個五子棋程序算法的核心

    • 用arrMapShow表示棋盤方格上的落子情況,數組arrMapShow只有3個值:1,2,3,-1,其中1代表該棋盤方格上下的棋子為黑子,2代表該棋盤方格上下的棋子為白子,3代表為該棋盤方格上沒有棋子,-1代表該棋盤方格不能夠下棋子。
    • 通過設置,獲取,交換獲取棋手的標識符來確定黑方白方。
    • 計算機走棋:用窮舉法判斷每一個坐標點的四個方向的的最大棋子數,最后得出棋子數最大值的坐標,下子;計算棋盤上某一方格上八個方向棋子的最大值,這八個方向分別是:左、右、上、下、左上、左下、右上、右下;其中左右,上下,左上右下,右上左下分別累計計數,得出這個棋盤方格的最大棋子數。
    • 判斷勝負:判斷落子后,左右,上下,左上右下,右上左下計算8個方向,4條線上棋子數是否大於等於5.
  2. 面板的構建和棋盤棋子的繪制以及鼠標事件的處理

    • 構建一個面板,在該面板上畫上棋盤;
    • 根據坐標計算出棋盤方格棋子的信息(如白子還是黑子),然后調用draw方法在棋盤上畫出相應的棋子;
    • 響應鼠標的點擊事件,根據鼠標的點擊來下棋;
    • 處理在該棋盤上的鼠標事件(左擊右擊拖動)。

項目測試

下棋界面:

人機對戰:

人人對戰:

項目實現中的問題與解決

  • 1.在初步實現代碼時,無法實現圖形圖像的繪制。

  • 通過上網搜索和學習,找到了創建用戶界面和繪制圖形圖像的包import java.awt.*。

  • 2.在實現計算機走棋時,我們需要一個可以施行的算法,使得游戲有可玩性。

  • 我們小組成員收集各種相關內容,通過比較,選擇采用窮舉法來作為計算機走棋的方法。

  • 3.在項目實現中,出現了六子連成一條線而無法判斷的情況,如圖所示

  • 在代碼實現過程中,我們並沒有考慮到不出現五子連成一條線而直接成六子一條線的情況,經過小組成員討論,一致認為這種情況也應算是贏的一種情況,所以我們修改了代碼,改進了這一點,將判斷勝負的條件由==5改為>=5。

項目展望與改進

我們項目目前只實現單機上的人人對戰,需要兩個人使用同一鼠標和鍵盤來進行對決,有些麻煩,希望能將其改進成為可聯機的游戲。

團隊成員貢獻與成績分配

何佳蕾負責主程序代碼的編寫和程序的細節優化,成績為27;
彭垚負責窗體設計的部分代碼,成績為23;
劉欽令負責窗體設計的部分代碼和組合運行程序,成績為25。


免責聲明!

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



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