新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C語言猜拳游戲代碼及分析

        C語言猜拳游戲代碼及分析

        作者: 時間:2016-12-01 來源:網絡 收藏
        1.引言
        1.編寫目的
        小時候,我們喜歡以猜拳來贏得獎勵。
        現在,我們希望能開發一個猜拳的游戲。
        2.定義
        需求:用戶解決問題或達到目標所需的條件或功能;系統或系統部件要滿足合同、標準,規范或其它正式規定文檔所需具有的條件或權能。而且其很強的交互性及簡單易行性,可以讓人在很短時間內熟悉它的操作方法,不論用戶文化水平如何,都會很輕松的學會使用它。
        2.任務概述
        1.目標
        2.用戶的特點
        由于本程序簡單易操作,交互性好,對用戶沒什么特別要求。一般用戶經過幾分鐘練系都可以熟悉本系統的規則。
        3.系統功能示例
        3.需求細則
        1. 對功能的規定
        1.1 界面友好
        屬性:必選
        描述:用戶的一些操作前后做出一些必要的提示或確認。所有完成的功能都需要友好,例如:
        ● 增加失敗提示;
        ● 刪除失敗和成功提示、刪除前的確認;
        ● 修改失敗和成功提示、修改前/后的確認;
        ● 查找失敗提示、查找成功的確認;
        ● 退出系統時,要提示是否退出;
        ● 其它方面的界面問題;
        1.2 用戶注冊
        屬性:必選
        描述:登錄界面可以用戶注冊,注冊信息包含用戶名和密碼,例如:
        ● 不能使用已經存在的用戶名
        ● 密碼不能少于6個字符
        1.3 用戶登錄
        屬性:必選
        描述:用戶通過登錄界面進行登錄,必須輸入正確的用戶名和密碼方可進入系統,例如:
        ● 提示輸入用戶名
        ● 提示輸入密碼
        ● 用戶名和密碼驗證,都符合則進入系統,不然回到第一步,超過三次登錄,則提示登錄次數超過三次,退出系統
        1.4 開始游戲
        屬性:必選
        描述:金額大于1的用戶可以開始游戲
        ● 下注:提示用戶下注的金額數
        ● 猜拳:(必須先下注,如果用戶下注金額小于等于0,不能進行游戲)與電腦進行猜拳游戲,如果猜輸了,扣除你的金額(由下注決定),勝利將隨機獲得1~5倍的下注金額獎勵
        n提示:電腦隨機出拳,勝利獎勵也是隨機的,例如:
        n隨機獲得1~5數字代碼:
        nsrand((unsigned)time(NULL));
        nint radio = rand() % 5 + 1;//radio 為隨機 1~5的整數
        ● 如果金額少于下注數,將不能進行猜拳,給出充值提示
        1.5 充值
        屬性:必選
        描述:用戶可以進行充值
        ● 充值金額
        ● 充值的時候,必須輸入充值密碼(由5個字符組成,隨機包括數字0~9和所有小寫字母)
        ● 如果充值密碼正確,充值成功,不然充值失敗
        1.6 修改用戶信息
        屬性:必選
        描述:用戶可以注銷(刪除)自己的賬戶、或者修改個人信息
        ● 修改個人信息
        n 修改用戶密碼
        ● 注銷用戶(本人)
        n 刪除用戶所有信息(刪除完畢將返回登錄界面,用戶賬號已經不存在)
        1.7 查看用戶信息
        屬性:必選
        描述:用戶登錄成功后,可以選擇查看用戶自己信息或者所有用戶信息
        ● 查看用戶自己信息:(本人)用戶名 密碼 金額 勝率
        ● 查看所有用戶信息:所有用戶名 金額 勝率
        1.8 排序
        屬性:必選
        描述:用戶可以對所有用戶信息進行排序操作,便于查看
        ● 金額排序
        ● 勝率排序
        對性能的規定
        本系統在設計方面本著方便、實用的宗旨,性能方面應遵循如下原則:
        ● 執行效率(時間): 軟件運行應該盡量高效;避免沒有必要的循環處理、重復處理;
        ● 資源損耗(空間):設計盡量節約資源(內存、數組、鏈表等);不用的資源要及時釋放;
        ● 初始化: 變量、數組、內存塊;
        ● 健壯性:不能出現野指針、內存泄露、數組越界訪問等等:
        ◎ 聲明指針后,立即將指針設置為NULL,防止產生“野指針”;
        ◎ 函數的入參必須進行有效性判斷;用戶輸入、函數返回值(如果用到的話)都要判斷;
        ◎ switch-case一定要有default;if-else if等后要有else,除非if滿足后返回或退出;
        ◎ 不允許出現goto語句;
        ◎ 數組的下標不要溢出。
        3. 對排版的規定
        ● 縮進要對齊;
        ● 長行拆分;
        ● 二元操作符的前后應當加空格,包括如下操作符:
        賦值操作符、比較操作符、算術操作符、邏輯操作符、位域操作符,如"="、"+="">="、"<="、"+"、"*"、"%"、"&&"、"||"、"<<","^" 等;
        ● 空行:
        ◎ 聲明之后、每個函數定義結束之后都要加1行空行;
        ◎ 邏揖上密切相關的語句之間不加空行,其它地方應加空行分隔;
        ◎ 一行代碼只做一件事情;
        ◎ "if"、"for"、"while"、"do"等語句自占一行,執行語句不得緊跟其后。不論執行語句有多少都要加 "{ }";
        4. 對可維護性的規定
        對可維護性的最終要求:別人能夠輕松上手你的代碼。
        ● 結構清晰:
        ◎ 模塊化:對界面(顯示)、菜單管理、邏輯管理、文件操作等等代碼要獨立,必須多個.c文件,用makefile;
        ◎ 封裝:一個函數只做一件事,函數功能要單一;一個函數不能超過50行;
        避免重復、冗余代碼;
        ◎ 代碼塊清晰。
        ● 命名規范,變量名應該具有自明性:
        ◎ 函數的命名:
        使用"動詞"或者"動詞+名詞"(動賓詞組)的形式,由一個或多個單詞組成且以小寫字母開頭,以后每個單詞之間用下劃線隔開
        ◎ 變量的命名與定義
        應當使用"名詞"或者"形容詞+名詞",由一個或多個單詞組成且以小寫字母開頭,以后每個單詞之間用下劃線隔開。
        ● 注釋充分:變量、函數(包括參數、返回值)、代碼功能塊、一些復雜算法……等都需要
        清晰明了地說明;
        5. 對個性的規定
        把項目做出個性出來。下列各項中有和比人不同之處、或很有創意,即可認為有個性。獨立設計的軟件,一般都會出現一些個性。參考、抄襲不會出現個性。
        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 灵宝市| 库尔勒市| 北票市| 进贤县| 林芝县| 亚东县| 台东市| 镇坪县| 华容县| 呈贡县| 辽宁省| 鄂托克前旗| 绥阳县| 阿坝县| 普定县| 从化市| 竹山县| 凤阳县| 临猗县| 尖扎县| 光山县| 芜湖县| 卢龙县| 凭祥市| 莱阳市| 汽车| 安化县| 新疆| 青冈县| 凤冈县| 宁晋县| 宝丰县| 丹凤县| 阜平县| 翁源县| 自贡市| 永宁县| 交口县| 绥滨县| 洪湖市| 阳江市|