CSDN上個月推出了C站能力認證,在校大學生可以參加CSDN的高校俱樂部,組內可以一起領取任務、小組多人組隊學習,任務提交后可以領取下一個任務,一下就吸引了我的眼球,還以為CSDN換策劃了,此前我一直以為CSDN的策劃是DNF的史派克,畢竟這種組隊學習做任務的有趣活動可不像CSDN策劃能干出來的事啊,不過轉念一想,CSDN這兩年版本不斷地迭代,一直在不斷地變好,這次總算是思路對了,(猶記得大一那會兒,玩兒CSDN用的最多的功能就是幫助反饋了~沒事就給客服提功能或bug需求,體驗做甲方的感覺,妙哉,如今,CSDN的前端相比以前已經變得有了很大的提升了,) 好了,閑言少敘,一起來看看我們領到的第一個任務吧!

C1任務01-修改游戲存檔
- 一、C1挑戰任務說明
- C1挑戰任務實作
- 修改關卡
- 修改金幣
- 二、C1自測任務
- 10進制轉換16進制
- 二進制轉10進制
- 常見的視頻編碼格式
- 65對應的ASCII碼
- 三、C1附加題
一、C1挑戰任務說明

任務資源提供:
- 這一任務主要考察計算機中的進制轉換、在計算機中修改進制檔案,
- 植物大戰僵尸(單機版):鏈接,提取碼
5t30- 十六進制編輯器Hex Editor Neo(windows版):鏈接,提取碼
1171
經過小組搜索與調查,我們發現:
- win10對此款游戲的兼容性很差,解決方案是打開時在屬性中
打開兼容性和用640x480螢屏解析度運行,并且將默認輸入法切換為英文, - 植物大戰僵尸的存檔并非使用二進制存檔,而是使用了
十六進制存檔,因為進制越高,每個字符所包含的資訊量就越多,使用十六進制可以更緊湊地表示二進制, - 必須
先玩一關并存檔,然后對存檔的修改才有效, - 當前關卡、游戲金幣資訊存盤在:
C:\ProgramData\PopCap Games\PlantsVsZombies\userdata\user1.dat檔案中,

C1挑戰任務實作
實作修改關卡和金幣前需要先試玩一關并存檔,這樣本地才能有存檔資訊,

修改關卡
當前關卡1-2,將C:\ProgramData\PopCap Games\PlantsVsZombies\userdata\user1.dat 檔案拖到Hex Editor Neo編輯器中后,發現第1行第04列中存盤的十六進制數字是0-2:

我們的任務是將游戲關卡修改為5-2,第1-2關卡對應的16進制存盤資料是0-2,表明大關卡是從0開始計數而非從1開始計數,容易推得5-2關卡對應的16進制存盤資料即為4-2,-沒有實際意義,只是助記符號,所有現在問題轉化為:計算出十進制的42轉換為16進制的數值,填入并保存,

容易算的5-2關卡對應的16進制數為2a,我們用資料2a覆寫掉資料02并保存 ,重啟游戲,發現關卡成功跳轉至5-2:

修改金幣
仍然將C:\ProgramData\PopCap Games\PlantsVsZombies\userdata\user1.dat 檔案拖到Hex Editor Neo編輯器中后,通過試玩游戲,我們目前獲取了10枚金幣,對應的16進制存盤資料為01,經過不斷修改資料發現二者存在一個10倍關系,即金幣數量除以10再轉化為16進制才是真正存盤的資料,

我們的任務是將金幣修改為10000,問題轉化為:計算出十進制的1000轉換為16進制的數值,填入并存盤,

容易得出十進制的1000對應的16進制數為3e8,此時就出現了歧義,3e8需要兩列來存盤,單獨第8列并不能存盤,額外的1列究竟該選用第7列還是第九列呢? 存盤3e8的兩列中哪一位是高位哪一位是低位呢?經過多次測驗,最終得出的結論是:選用第8列和第九列來存盤3e8,且右側為高位,我們使用3e8覆寫掉原資料并保存,重新登錄游戲,發現金幣成功修改為¥10000:

至此,C1挑戰任務完成,
二、C1自測任務

10進制轉換16進制
10進制轉換為16可以無腦使用短除法,每次除以16,最后將余數從下往上寫,但是110101010001這個數字實在是太大了,應該會有更簡單的方法,但是我不清楚,有了解10進制轉換為16進制的簡便演算法的朋友歡迎在文章下留言,這里我 “啪” 的一下就打開了計算器,很快啊!得出了110101010001對應的16進制數為:19A2881651 (出題人,你不講武德~)

二進制轉10進制
二進制1010 1110 1011轉換為對應的十進制可以直接使用略小置權法進行口算,這是一種十進制和二進制之間轉換最快速的方法:
- 1 0 11 10^{11} 1011 =2048
- 1 0 9 10^{9} 109 =512
- 1 0 7 10^{7} 107 =128
- 1 0 6 10^{6} 106 =64
- 1 0 5 10^{5} 105 =32
- 1 0 3 10^{3} 103 =8
- 1 0 2 10^{2} 102 =2
- 1 0 1 10^{1} 101 =1
- 2048+512+128+64+32+8+2+1=
2795
常見的視頻編碼格式
常見的視頻編碼格式有五種:H.264、MPEG-4、MPEG-2、WMA-HD、VC-1,
現在市場上主流的兩類高清視頻檔案:
- 一類是
經過MPEG-2標準壓縮,以tp和ts為后綴的視頻流檔案 - 另一類是
經過WMV-HD標準壓縮,以wmv為后綴的檔案
65對應的ASCII碼
不想多bb,上ASCII碼表圖,不過大寫字母A對應65,小寫字母a對應97屬于計算機常識,

三、C1附加題

C1附加題分析:
- 二進制畫圖在線網站:code.org
- 該網站給出的畫圖框中前兩行是畫布長和寬,我根據自己的需要將長改成了32,寬改成了12,然后畫出來我的名字:Hudie.

0010 0000
0000 1100
11111111111111111111111111111111
11011101111111111111111111111111
11011101111111111011111111111111
11011101111111111011111111111111
11011101111111111011011111111111
11000001111111111011111000011111
11011101101101111011011011011111
11011101101101100011011011011111
11011101101101101011011000011111
11011101101101101011011011111111
11011101100001100011011000010111
11111111111111111111111111111111
至此,領取的第一個任務已經完成了,通過該任務我復習了計算機中的進制轉換問題,周末想嘗試一下幫助室友更改三國志單擊游戲的資料,雖然最近忙著向Spring技術堆疊縱向發展,不過抽出時間來組隊共同學習,在技術堆疊上橫向擴展,復習復習基礎知識,也是很有意思和意義的事情,最后,這是第一次對CSDN的活動感興趣,希望這樣的共同組隊學習小組模式可以發展的更好,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/273599.html
標籤:其他
下一篇:KNIME網路爬蟲
