第二次結對程式設計作業

2022-05-11 09:45:15 字數 3351 閱讀 8839

031702146李昕暉

031702545王懷騁

本作業部落格的鏈結

github專案位址

2、給出具體分工(2分)

陳超星:負責編寫ui部分的**

李昕暉:負責編寫ai部分的**

王懷騁:負責寫各種測試例子,用於測試ai的演算法,以便於改進ai的演算法

3、給出psp**(2分)

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning計畫0

0· estimate

· 估計這個任務需要多少時間

1500

1500

development開發0

0· analysis

· 需求分析 (包括學習新技術)

100100

· design spec

· 生成設計文件00

· design review

· 設計複審00

· coding standard

· **規範 (為目前的開發制定合適的規範)00

· design

· 具體設計00

· coding

· 具體編碼

1200

1200

· code review

· **複審00

· test

· 測試(自我測試,修改**,提交修改)

100100

reporting

報告100

100· test repor

· 測試報告00

· size measurement

· 計算工作量00

· postmortem & process improvement plan

· 事後總結, 並提出過程改進計畫00

4、解題思路描述與設計實現說明(15分)

網路介面的使用(3分)

**組織與內部實現設計(類圖)(6分)

說明演算法的關鍵與關鍵實現部分流程圖(6分)

5、關鍵**解釋(3分)

貼出你認為重要的/有價值的**片段,並解釋(3分)

string s=u2s2(""),u;

matcher m=pattern.compile("id\":(.*?),\"card\":\"(.*?)\"").matcher(s);

if(m.find())

");l3.settext(s=""+u[0]+"

"+u[1]+"

"+u[2]+"

"+s+"");

if(!s.matches(".*status\":0.*"))system.out.println(s);

}else if(s.matches(".*status\":2001.*"))

else

自動開啟戰局,每局都用ai演算法計算3墩,然後用這3墩出牌並將結果顯示到ui,如果出現異常,則把異常輸出到控制台,以便於後面進行除錯解決bug,如果未結束戰局過多,則每隔2s嘗試一次是否可開新的戰局,如果登入狀態已超時,則重新獲取token再自動開啟戰局

6、效能分析與改進(6分)

描述你改進的思路(5分)

起初判斷牌型時,是每次都遍歷13張牌,特別浪費時間,後來想到了可以先分別按花色和牌的大小排序,這樣子的話,判斷同花順只需要從相同花色且》=5張的牌中判斷是否有大小連續的5張牌,判斷炸彈只需要找相同點數且==4張的牌,判斷同花只需要從相同花色且》=5張的牌中選出最大的5張牌,其他同理,不需要每次都遍歷全部的13張牌,所以大大節省了時間

展示效能分析圖和程式中消耗最大的函式(1分)

7、單元測試(5分)

展示出專案部分單元測試**,並說明測試的函式,構造測試資料的思路

int i;stringa=

,j,d=

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,

, ,};

for(i=0;i測試的函式:測試的函式就是ai演算法

構造測試資料的思路:先按照所有種類的牌型分別構造幾種測試資料,然後再從實際用網路介面開啟戰局後獲得的牌中,隨機選幾個用於測試

8、貼出github的**簽入記錄(1分)

請合理記錄commit資訊

9、遇到的**模組異常或結對困難及解決方法(8分)

問題描述(2分)

第一次寫ai的時候,尋找同花時,是從相同花色且》=5張的牌中選出最大的5張牌當作同花,然而在用網路介面開啟戰局幾次後,發現了「不合法墩牌」的錯誤

做過哪些嘗試(2分)

經過除錯,發現了原來是中墩比後墩大的錯誤,如:中墩:"*a *q *10 *4 *2",後墩:"&a &j &6 &5 &3",這是因為我一找到同花就直接把該花色的最大的5張牌當成了最大的同花,但實際上別的花色還可能有更大的同花,所以我修改了ai**,找到同花後,還要再判斷其餘花色是否有更大的同花,直到找到最大的同花

是否解決(2分)

解決了有何收穫(2分)

自己構造的測試資料再多也不可能把所有情況都考慮周到,所以一定要不斷用網路介面開啟戰局進行測試,這樣才能發現問題並完善**

10、評價你的隊友(4分)

值得學習的地方(2分)

隊友都很勤奮,值得我學習

11、學習進度條(2分)

第n周新增**(行)

累計**(行)

本週學習耗時(小時)

累計學習耗時(小時)

重要成長

1600

60025

25學會了用jframe等ui,學會了用網路介面

第二次結對程式設計作業

組員部落格鏈結 本作業部落格鏈結 github倉庫 共同解決互動 api 部落格 psp2.1 personal softwareprocess stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫200 250 estimate 估計這個任務需要多少時間 250300 develo...

第二次結對程式設計作業

楊潤秋 負責前端介面和網路介面呼叫 書寫及最後的整合及打包 韓洪威 負責後端ai演算法部分 書寫 優化 除錯 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 3030 estimate 估計這個任務需要多少時間 ...

第二次結對程式設計作業

陳佳雯 王思婷github psp4.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 12020 estimate 估計這個任務需要多少時間 1020 development 開發 2590 3870 analysis 需...