CSDN上个月推出了C站能力认证,在校大学生可以参加CSDN的高校俱乐部,组内可以一起领取任务、小组多人组队学习,任务提交后可以领取下一个任务。一下就吸引了我的眼球,还以为CSDN换策划了,此前我一直以为CSDN的策划是DNF的史派克。毕竟这种组队学习做任务的有趣活动可不像CSDN策划能干出来的事啊。不过转念一想,CSDN这两年版本不断地迭代,一直在不断地变好,这次总算是思路对了。(犹记得大一那会儿,玩儿CSDN用的最多的功能就是帮助反馈了~没事就给客服提功能或bug需求,体验做甲方的感觉,妙哉。如今,CSDN的前端相比以前已经变得有了很大的提升了。)好了,闲言少叙,一起来看看我们领到的第一个任务吧!
C1任务01-修改游戏存档一、C1挑战任务说明C1任务01-修改游戏存档任务资源提供:
这一任务主要考察计算机中的进制转换、在计算机中修改进制文件。
植物大战僵尸(单机版):链接,提取码5t30
十六进制编辑器HexEditorNeo(windows版):链接,提取码
经过小组搜索与调查,我们发现:
win10对此款游戏的兼容性很差,解决方案是打开时在属性中打开兼容性和用x屏幕分辨率运行,并且将默认输入法切换为英文。
植物大战僵尸的存档并非使用二进制存档,而是使用了十六进制存档。因为进制越高,每个字符所包含的信息量就越多,使用十六进制可以更紧凑地表示二进制。
必须先玩一关并存档,然后对存档的修改才有效。
当前关卡、游戏金币信息存储在:C:\ProgramData\PopCapGames\PlantsVsZombies\userdata\user1.dat文件中。
存档文件C1挑战任务实现实现修改关卡和金币前需要先试玩一关并存档,这样本地才能有存档信息。
准备实现任务修改关卡当前关卡1-2,将C:\ProgramData\PopCapGames\PlantsVsZombies\userdata\user1.dat文件拖到HexEditorNeo编辑器中后,发现第1行第04列中存储的十六进制数字是0-2:
当前关卡1-2我们的任务是将游戏关卡修改为5-2。第1-2关卡对应的16进制存储数据是0-2,表明大关卡是从0开始计数而非从1开始计数,容易推得5-2关卡对应的16进制存储数据即为4-2。-没有实际意义,只是助记符号。所有现在问题转化为:计算出十进制的42转换为16进制的数值,填入并保存。十进制转16进制容易算的5-2关卡对应的16进制数为2a,我们用数据2a覆盖掉数据02并保存,重启游戏,发现关卡成功跳转至5-2:关卡跳转至5-2修改金币仍然将C:\ProgramData\PopCapGames\PlantsVsZombies\userdata\user1.dat文件拖到HexEditorNeo编辑器中后,通过试玩游戏,我们目前获取了10枚金币,对应的16进制存储数据为01。经过不断修改数据发现二者存在一个10倍关系,即金币数量除以10再转化为16进制才是真正存储的数据。
当前金币我们的任务是将金币修改为,问题转化为:计算出十进制的转换为16进制的数值,填入并存储。十进制转换为16进制容易得出十进制的对应的16进制数为3e8,此时就出现了歧义,3e8需要两列来存储,单独第8列并不能存储。额外的1列究竟该选用第7列还是第九列呢?存储3e8的两列中哪一位是高位哪一位是低位呢?经过多次测试,最终得出的结论是:选用第8列和第九列来存储3e8,且右侧为高位。我们使用3e8覆盖掉原数据并保存,重新登录游戏,发现金币成功修改为¥:金币被修改为¥至此,C1挑战任务完成。
二、C1自测任务自测任务10进制转换16进制10进制转换为16可以无脑使用短除法,每次除以16,最后将余数从下往上写。但是11010101这个数字实在是太大了,应该会有更简单的方法,但是我不清楚,有了解10进制转换为16进制的简便算法的朋友欢迎在文章下留言。这里我"啪"的一下就打开了计算器,很快啊!得出了11010101对应的16进制数为:19A(出题人,你不讲武德~)
计算器完成进制转换二进制转10进制二进制转换为对应的十进制可以直接使用略小置权法进行口算,这是一种十进制和二进制之间转换最快速的方法:
常见的视频编码格式常见的视频编码格式有五种:H.、MPEG-4、MPEG-2、WMA-HD、VC-1。现在市场上主流的两类高清视频文件:
一类是经过MPEG-2标准压缩,以tp和ts为后缀的视频流文件
另一类是经过WMV-HD标准压缩,以wmv为后缀的文件
65对应的ASCII码不想多bb,上ASCII码表图,不过大写字母A对应65,小写字母a对应97属于计算机常识。
ASCII码表三、C1附加题C1附加题C1附加题分析:
二进制画图在线网站:code.org
该网站给出的画图框中前两行是画布长和宽,我根据自己的需要将长改成了32,宽改成了12,然后画出来我的名字:Hudie.
二进制画图0000000101100110101101101100110110110100101101至此,领取的第一个任务已经完成了,通过该任务我复习了计算机中的进制转换问题,周末想尝试一下帮助室友更改三国志单击游戏的数据。虽然最近忙着向Spring技术栈纵向发展,不过抽出时间来组队共同学习,在技术栈上横向扩展,复习复习基础知识,也是很有意思和意义的事情。最后,这是第一次对CSDN的活动感兴趣,希望这样的共同组队学习小组模式可以发展的更好。
郭乾亮不要打赏!不要打赏!不要打赏!