物件导向程式设计(ppt 档, 12 MB).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
物件导向程式设计(ppt 档, 12 MB)

* BlackJack_0_0_3.HumanPlayer. WantOneMoreCard public bool WantOneMoreCard Console.Write 要再一張牌嗎? y/n ; string answer Console.ReadLine ; return answer Y || answer y ; * BlackJack_0_0_3.HumanPlayer. Dump 片段 Console.Write 玩家牌: ; for i 0; i nCards; ++i hand[i].Dump ; Console.Write \t ; if i + 1 % 5 0 Console.WriteLine ; Console.WriteLine ; Console.WriteLine 玩家總點數: + totalPoints ; * BlackJack_0_0_3.ComputerPlayer. WantOneMoreCard public bool WantOneMoreCard return totalPoints 17 ; * 綱要 物件導向二十一點模擬程式0.0.3版 物件導向二十一點模擬程式0.0.4版 * 重構 Refactoring 不好的味道 Bad program flavor 重複出現的程式碼 不妥的名稱 重構 擷取方法 重新命名 建立新類別 使用繼承 * BlackJack_0_0_3重構: BlackJack_0_0_4 HumanPlayer與ComputerPlayer中有關判斷status的函式SetStaus、 JudgeStatus、Points完全相同 建立新類別StatusChecker,函式SetStaus, JudgeStatus, Points改成此一類別的靜態函式 SetStatus改名DetermineStatusAndTotalPoints,並修改參數 將列舉型別Status的宣告移到StatusChecker.cs * BlackJack_0_0_4.Status public enum Status PASS 0, BLACK_JACK 1, BURST 2 * BlackJack_0_0_4.StatusChecker. DetermineStatusAndTotalPoints 1/2 public static void DetermineStatusAndTotalPoints Card[] hand, int nCards, out Status status, out int totalPoints int[] point new int[nCards]; int sum 0; for i 0; i nCards; ++i point[i] Points hand[i].rank ; sum + point[i]; status JudgeStatus sum ; totalPoints sum; if status ! Status.PASS return; bool isWithAce false; * BlackJack_0_0_4.StatusChecker. DetermineStatusAndTotalPoints 2/2 for i 0; i nCards; ++i if point[i] 1 isWithAce true; break; if isWithAce sum + 10; if sum 21 status Status.BLACK_JACK; if sum 21 totalPoints sum; * BlackJack_0_0_4.HumanPlayer. SaveACard public void SaveACard Card card hand[nCards++] card; StatusChecker. DetermineStatusAndTotalPoints hand, nCards, out status, out totalPoints ; * BlackJack_0_0_1.HumanPlayer 片段 1/3 private Card[] hand new Card[2]; private int nCards 0; public HumanPlayer public void SaveACard Card card hand[nCa

文档评论(0)

kabudou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档