第二次結對程式設計作業

2022-08-05 17:03:19 字數 2704 閱讀 9400

1.連結

(1)結對同學的部落格連結(瑪爾孜亞)

(2)結對同學的部落格連結(劉燁)

(3)本作業的部落格連結

(4)fork的同名倉庫的github專案地址

2.具體分工

本次結對程式設計作業分工如下:

瑪爾孜亞負責前端,即全部ui的實現。

黃斌敏負責後端,即全部演算法的實現。

劉燁負責網路介面。

3.psp**

psp2.1

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

planning

計劃60

50· estimate

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

6050

development

開發4000

4300

· analysis

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

1000

1100

· design spec

· 生成設計文件

100100

· design review

· 設計複審

6060

· coding standard

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

6060

· design

· 具體設計

360420

· coding

· 具體編碼

2000

2100

· code review

· **複審

300400

· test

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

120160

reporting

報告110

120· test report

· 測試報告

6060

· size measurement

· 計算工作量

2040

· postmortem & process improvement plan

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

3020

· 合計

4170

4470

4.解題思路描述和設計實現說明

(1)網路介面的使用

使用python的requests庫傳送請求,獲取資料,解析資料。

利用requests自帶的json()解析資料。

(2)**組織與內部實現設計

類圖

函式

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

演算法關鍵是每位玩家的手牌有13張,於是每個人的手牌一共有13的階乘種的排列方式。把所有的排列方式儲存起來,然後前3張就是前墩,中間的5張就是中墩,最後的5張就是後墩,注意的是要求後墩》中墩》前墩,通過對十三水每種牌型進行設定權值,得到他們的權值,計算一下手牌的權值總和,取權值最大的牌。

關鍵實現部分流程圖

5.關鍵**解釋

權值判斷

對十三水每種牌型進行設定權值,緊接著對每種排列的前中後墩判斷,通過每一墩的牌型,得到他們的權值,計算一下手牌的權值總和

6.效能分析與改進

(1)改進的思路

遍歷所有的情況,然後從中選取權值最大的一種,遍歷所有情況耗時太久,可能導致超時。

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

7.單元測試

測試資料:隨機生成,不特意構造

測試思路:利用隨機生成的資料進行測試,可完成對其實用性和可靠性檢測

8.github的**簽入記錄

9.遇到的**模組異常或結對困難及解決方法

9.1問題描述

1.不會呼叫介面,不會設定背景圖,背景圖會掩蓋文字或輸入框。

2.一開始不知道怎麼把不同花色和不同牌面的牌進行解析

9.3是否解決

全部解決

9.4有何收穫

這次第一次寫完的時候,由於在開始程式設計之前有很多細節沒有考慮進去,又花費時間去修改演算法。所以在某一專案的準備階段,要儘量把所有容易忽略的細節問題考慮清楚,養成良好習慣。

10.評價你的隊友

瑪爾孜亞:

值得學習的地方:很有耐心,脾氣很好,善於溝通,做事非常認真。

需要改進的地方:一起努力學**!

劉燁:動手能力強,學識淵博,幫了我很多,非常感謝。

一起努力學**!

11.學習進度表

第n周新增**(行)

累計**(行)

本週學習耗時(小時)

累計學習耗時(小時)

重要成長10

0234

第二次作業

一 學習內容總結 每個陣列元素都在記憶體中佔用儲存單元,它們都有相應的地址。指標變數既可以指向變數,也可以指向陣列元素。我們把某一元素的地址...

第二次作業

安裝vs2013步驟 1 安裝包列表 2 選擇安裝路徑及同意許可條款 3 點選下一步,選擇安裝的可選功能,在這裡,我選擇全選 4 點選安裝,...

第二次作業

1 描述演算法 第一步 閱讀題目,明確題意要求。 第二步 找到對應函式中的實參和形參並寫出函式介面。 第三步 重新定義一個指標變數 a 對...