0行代码,实现植物大战僵尸"脚本"

CSDN上个月推出了C站能力认证,在校大学生可以参加CSDN的高校俱乐部,组内可以一起领取任务、小组多人组队学习,任务提交后可以领取下一个任务。一下就吸引了我的眼球,还以为CSDN换策划了,此前我一直以为CSDN的策划是DNF的史派克。毕竟这种组队学习做任务的有趣活动可不像CSDN策划能干出来的事啊。不过转念一想,CSDN这两年版本不断地迭代,一直在不断地变好,这次总算是思路对了。(犹记得大一那会儿,玩儿CSDN用的最多的功能就是帮助反馈了~没事就给客服提功能或bug需求,体验做甲方的感觉,妙哉。如今,CSDN的前端相比以前已经变得有了很大的提升了。) 好了,闲言少叙,一起来看看我们领到的第一个任务吧!


C1任务01-修改游戏存档

一、C1挑战任务说明

C1任务01-修改游戏存档

任务资源提供:

  • 这一任务主要考察计算机中的进制转换、在计算机中修改进制文件。
  • 植物大战僵尸(单机版):链接,提取码 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:

当前关卡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\PopCap Games\PlantsVsZombies\userdata\user1.dat 文件拖到Hex Editor Neo编辑器中后,通过试玩游戏,我们目前获取了10枚金币,对应的16进制存储数据为01。经过不断修改数据发现二者存在一个10倍关系,即金币数量除以10再转化为16进制才是真正存储的数据

当前金币$10

我们的任务是将金币修改为10000,问题转化为:计算出十进制的1000转换为16进制的数值,填入并存储。
十进制转换为16进制

容易得出十进制的1000对应的16进制数为3e8,此时就出现了歧义,3e8需要两列来存储,单独第8列并不能存储。额外的1列究竟该选用第7列还是第九列呢? 存储3e8的两列中哪一位是高位哪一位是低位呢?经过多次测试,最终得出的结论是:选用第8列和第九列来存储3e8,且右侧为高位。我们使用3e8覆盖掉原数据并保存,重新登录游戏,发现金币成功修改为¥10000:

金币被修改为¥10000

至此,C1挑战任务完成。

二、C1自测任务

自测任务

10进制转换16进制

10进制转换为16可以无脑使用短除法,每次除以16,最后将余数从下往上写。但是110101010001这个数字实在是太大了,应该会有更简单的方法,但是我不清楚,有了解10进制转换为16进制的简便算法的朋友欢迎在文章下留言。这里我 "啪" 的一下就打开了计算器,很快啊!得出了110101010001对应的16进制数为:19A2881651 (出题人,你不讲武德~)

计算器完成进制转换

二进制转10进制

二进制1010 1110 1011转换为对应的十进制可以直接使用略小置权法进行口算,这是一种十进制和二进制之间转换最快速的方法:

  • 10^{11} =2048
  • 10^{9} =512
  • 10^{7} =128
  • 10^{6} =64
  • 10^{5} =32
  • 10^{3} =8
  • 10^{2} =2
  • 10^{1} =1
  • 2048+512+128+64+32+8+2+1=2795

常见的视频编码格式

常见的视频编码格式有五种:H.264MPEG-4MPEG-2WMA-HDVC-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.
二进制画图
0010 0000
0000 1100
11111111111111111111111111111111
11011101111111111111111111111111
11011101111111111011111111111111
11011101111111111011111111111111
11011101111111111011011111111111
11000001111111111011111000011111
11011101101101111011011011011111
11011101101101100011011011011111
11011101101101101011011000011111
11011101101101101011011011111111
11011101100001100011011000010111
11111111111111111111111111111111

至此,领取的第一个任务已经完成了,通过该任务我复习了计算机中的进制转换问题,周末想尝试一下帮助室友更改三国志单击游戏的数据。虽然最近忙着向Spring技术栈纵向发展,不过抽出时间来组队共同学习,在技术栈上横向扩展,复习复习基础知识,也是很有意思和意义的事情。最后,这是第一次对CSDN的活动感兴趣,希望这样的共同组队学习小组模式可以发展的更好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容