




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
/2048游戲項目需求分析TOC\o"1-3"\h\u199一、項目概述220927二、需求分析2173421.游戲開發的趨勢和特色242232.游戲操作需求235033.開發環境318616三、概要設計310499四、程序流程圖46238五、詳細設計531423.顏色如下:5211404.光標位置等的格式控制686525.終端控制729996六、游戲運行說明104221.游戲運行流程圖1011092七、擴展說明10225671.擴展功能框圖10一、項目概述2048是一款簡單小巧的益智類游戲.挑戰您的智力極限.借鑒1024和小3傳奇游戲開發而成.難度相對有所下降.是一款讓您根本停不下來的游戲。游戲規則:滑動屏幕或者方向鍵來移動小方塊.兩個數字一樣的小方塊相撞時就會相加合成一個方塊.每次操作之后會在空白的方格處隨機生成一個2或4的方塊.最終得到一個2048的方塊就算勝利了.如果16個格子全部填滿且無法移動的話GAMEOVER。二、需求分析1.游戲開發的趨勢和特色Linux特點就是代碼開源。開放的平臺使更多的開發者參與到游戲代碼的優化和完善當中.一個嶄新的游戲也很快走向成熟。隨著計算機技術的不斷發展.硬件已經不在是游戲發展的瓶頸。游戲的規劃更加向專業化方向發展。1.將向網絡化方向發展.隨著各平臺對無線通信網絡、WIFI網絡、藍牙網絡的良好支持.游戲將創新出更好的游戲性和用戶本驗。網絡游戲.多人游戲.聯機對戰等將進一步強化玩家對游戲的粘著度.并且容易通過對道具等的控制產生營利模式。玩家之間對交互能力的需求也會促成未來的游戲向網絡化發展進程的加快。2.將向休閑化、時間片化方向發展.移動設備的隨身性使是休閑小游戲將得到快速的發展。移動設備對分散時間的利用促進了游戲向時間片化發展.即一個游戲可以隨時開始.隨時結束.充分利用用戶分散的時間片來運行。所以2048這個休閑益智的手機游戲就應運而生.一經發布就占據各大手機游戲下載的排行榜的前列.這是一款老少皆宜的手機游戲.在空閑時間你可以拿出手機來玩.上班、下班、坐公交、等地鐵.你隨心隨意的快樂玩耍。它簡單易上手.只需滑動手指就可以操作.但卻有難精通.要打通關卡卻不是一件容易的事情通過C語言控制臺仿寫這個游戲.可以鍛煉編程框架思想以及技巧.同時將所學到的數據結構等知識靈活的運用。2.游戲操作需求1、可使用鼠標或↑、↓、→、←或W、X、A、D鍵進行操作;2、ESC退出游戲3.開發環境運行環境:centos6.2開發環境:vim編輯器編寫語言:c語言三、概要設計1、游戲開始時隨機的產生2個數值為2/4的方格.其中1個方格置于4個角中的一個位置.另一個方格隨機的置于其它位置.其余方格值為0。2、每次移動鼠標或按方向鍵后.逐行計算移動后的方格值。每行移動的算法是:先將所有值為0的數移至行首。能后從行尾開始逐一和前一個數比較.如果相等則合并這2個格子。3、每合并一次格子.將其值累計到游戲總分中。4、一次移動結束后.在所有值為0的方格中隨機的分配一個2/4的值。5、所有方格值不為0且上下、左右相鄰的方格都不相等.則游戲結束。6、2出現的概率為90%.4出現的概率為為10%。四、程序流程圖五、詳細設計 1.控制Linux終端打印字符顏色和位置Linux終端控制臺字體顏色,用到一個轉義序列\e[F;B;Om\e轉義字符開始.ESC的ASCII碼用十進制表示就是27.等于用八進制表示的033。\e或\033聲明了轉義序列的開始〔經過測試.F、B的順序可以互換.也可省略[開始定義顏色。'F'為字體顏色.編號30~37;'B'為背景色.編號40~47。'O'為特殊意義代碼它們的順序沒有關系。m是標記m后面不用跟空格.是所定義的彩色字和背景使用方法一: 格式printf<"\033[字體顏色;字背景顏色m輸出字符串\033[0m">; 例子:printf<"\033[31;47;1mhelloworld\033[5m\n">; 說明:31是字體的顏色.47是字背景顏色,,helloworld是字符串.,1m表示高亮顯示.后面的\033[5m是控制碼 使用方法二: 格式:echo-e"\033[字體顏色;字背景顏色;1m字符串\033[0m" 例子:echo-e"\033[36;41;1msomethinghere\033[0m" 說明:其中41的位置代表底色,36的位置是代表字的顏色 \033[;m……\033[0m這些asciicode是對顏色調用的始末.2.字體顏色和背景色字背景顏色范圍:40--49字顏色:30--3940:黑30:黑41:紅31:紅42:綠32:綠43:黃33:黃44:藍34:藍45:紫35:紫46:深綠36:深綠47:白色37:白色3.輸出特效格式控制〔特殊意義碼 ===========ANSI控制碼的說明=============\033[0m關閉所有屬性\033[1m設置高亮度\033[4m下劃線\033[5m閃爍\033[7m反顯.反白顯示\033[8m消隱.不可見\033[30m--\033[37m設置前景色\033[40m--\033[47m設置背景色\033[nA光標上移n行\033[nB光標下移n行\033[nC光標右移n行\033[nD光標左移n行\033[y;xH設置光標位置\033[2J清屏\033[K清除從光標到行尾的內容\033[s保存光標位置\033[u恢復光標位置\033[?25l隱藏光標\033[?25h顯示光標4.顏色如下:none="\033[0m"black="\033[0;30m"dark_gray="\033[1;30m"blue="\033[0;34m"light_blue="\033[1;34m"green="\033[0;32m"light_green-="\033[1;32m"cyan="\033[0;36m"light_cyan="\033[1;36m"red="\033[0;31m"light_red="\033[1;31m"purple="\033[0;35m"light_purple="\033[1;35m"brown="\033[0;33m"yellow="\033[1;33m"light_gray="\033[0;37m"white="\033[1;37m"5.光標位置等的格式控制\033[nA光標上移n行\03[nB光標下移n行\033[nC光標右移n行\033[nD光標左移n行\033[y;xH設置光標位置\033[2J清屏\033[K清除從光標到行尾的內容\033[s保存光標位置\033[u恢復光標位置\033[?25l隱藏光標\33[?25h顯示光標代碼實例:color.c6.終端控制structtermios structtermiosorg,new;終端的狀態 tcgetattr<>獲取狀態org STDIN_FILENO:終端相關宏 memcpy<>內存拷貝函數 structstua,b; a=b;xxxxx memcpy<&a,&b,sizeof<structstu>>; 24行.&=~位運算 設置終端新的狀態 tcsetattr<new_opts>,修改當前狀態 c=getchar<>; tcsetattr<old_opts>,恢復之前的狀態鍵盤輸入--方向鍵--由三個字符表示:上:279165下:279166右:279167左:279168 終端控制文檔說明 代碼實例termios_control.c7.數據結構、繪圖 相關數據結構、數據類型定義相關頭文件定義中 游戲狀態、按鍵方向、4x4方格數據值〔使用二維數據存儲、執行步數、獲得分數 繪制界面--4x4方格并顯示數據值、執行步數、獲得分數 根據color.c.打印方格及數值.代碼實例draw.cdraw_box<> 鍵盤控制數據方塊移動 繪制圖形、方向控制、更新畫面 代碼實例draw.cmain函數執行流程 step5位運算 -5: 原碼 10000101 反碼11111010 補碼11111011 9: 00001001 -5&9 0000100100000011300001100121<<11*2^1 1<<21*2^2 1<<31*2^3 x=11001010 000000010010000011101010 11101010 x=<1<<5>|x x|=<1<<5> 01000000 10111111 10101010 x=x&~<1<<6> x&=~<1<<6>step9:合并算法 將一維數組轉換為二維 RIGHT: 對每行處理:i=0;i<4;i++ 從右
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年下沉市場消費金融風險管理策略與工具應用報告
- 2025年體檢行業服務質量提升與行業競爭力提升策略報告
- 藥品連鎖企業管理制度
- 藥品首付責任管理制度
- 藥店召回追回管理制度
- 藥店缺貨補充管理制度
- 營業場所噪音管理制度
- 設備使用初期管理制度
- 設備基礎資料管理制度
- 設備技術狀況管理制度
- 預防接種門診驗收表4-副本
- 外國文學之旅智慧樹知到期末考試答案章節答案2024年山東師范大學
- 小班語言《誰的救生圈》課件
- 駕駛檔案注銷委托書
- 海思芯片PC-測試技術規范
- 內陸養殖與水生植物種植
- 集體協商培訓課件
- Unit 3 What would you like A Let's learn(教學設計)人教PEP版英語五年級上冊
- 焊接規范的基本要求
- 廣東省廣州市2024屆七年級生物第二學期期末教學質量檢測模擬試題含解析
- 物業社區團購方案
評論
0/150
提交評論