C1任务一01-信息编码
- 修改植物大战僵尸存档
-
- 修改《植物⼤战僵⼫》的存档⽂件,能跳到指定关卡,例如「5-1」
- 修改《植物⼤战僵⼫》的存档⽂件,让游戏账户有指定数量的⾦币
- 修改《植物⼤战僵⼫》的存档⽂件,能解锁「迷你游戏」选项
- 修改《植物⼤战僵⼫》的存档⽂件,能解锁「⽣存模式」选项
- 自我练习
-
-
-
-
- 卡槽
- 水车![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418215152361.jpg)
- 钉耙![在这里插入图片描述](https://img-blog.csdnimg.cn/2021041821520699.jpg)
- 屋顶车
- 机枪射手
- 向日葵![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418215244839.jpg)
- 犹豫菇![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418215307393.jpg)
- 香蒲![在这里插入图片描述](https://img-blog.csdnimg.cn/202104182153216.jpg)
- 地磁王
- 吸金磁
- 冰西瓜
- 加农炮
- 模仿者![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418215428147.jpg)
- 计算机像素相关的系列任务
-
- 通过⼆进制的0和1「画」出图形
- 「画」出⾃⼰的名字或昵称
- 理解⼆进制存储图⽚⽂件的底层原理
-
- 拓展任务
-
- 通过搜索引擎了解bmp或png⽂件数据格式的特征
-
- ⽤截图⼯具截⼀幅8×8⼤⼩纯⽩⾊的bmp/png图⽚
- ⽤⼆进制编辑器观察bmp或png图⽚⽂件数据的规律
- 在⽩底上⽤⿊⾊线条「画」出字⺟「C」
- 自测
-
- 110101010001转⼗六进制是多少?有什么最快的计算⽅法能得到结果?
- 101011.101011对应的⼗进制数是多少?
- 常⻅的⾳频编码格式有哪些?
- 常⻅的视频编码格式有哪些?
- 一个尺⼨8×8⼤⼩的png全⿊图⽚前四个字节的⼗六进制值是什么?
- UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,Unicode编码按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?
- 如果要提供⼀个实时的流媒体服务器,除了ffmpeg,还需要使⽤哪个组件?
修改植物大战僵尸存档
要完成该项任务,首先要寻找到植物大战僵尸的用户数据存储文件。由于传统的文件查找效率较低,最终通过everything进行查找,最终发现路径为C:\ProgramData\PopCap Games\PlantsVsZombies\userdata。还是比较深的一个文件。
找到文件后,接下来会有两个文件users及users1
通过分别打开,多次尝试后发现,users存储的是多用户的id,在全部id下面一行,存储用户个数
修改《植物⼤战僵⼫》的存档⽂件,能跳到指定关卡,例如「5-1」
通过尝试,得出在user1中第一行04是关卡,由于是两位16进制,则5-1关卡应该为29
修改《植物⼤战僵⼫》的存档⽂件,让游戏账户有指定数量的⾦币
通过尝试,得出金币数量修改应该是在第一行的08、09、0a、0b四个位置。没改变一位金币数量变化10,且是16进制存储,计算得出要改变为指定金币数额应该是22dd,由于这里排列是从后往前的,所以是dd22
修改《植物⼤战僵⼫》的存档⽂件,能解锁「迷你游戏」选项
修改《植物⼤战僵⼫》的存档⽂件,能解锁「⽣存模式」选项
经过测试,第一行0c表示通过次数,只要将0c改为>0即可解锁迷你游戏和生存模式
自我练习
经过测试得出以下数据位置
卡槽
水车
钉耙
屋顶车
机枪射手
向日葵
犹豫菇
香蒲
地磁王
吸金磁
冰西瓜
加农炮
模仿者
计算机像素相关的系列任务
首先在https://studio.code.org/s/pixelation上申请账户,然后即可开始任务
通过⼆进制的0和1「画」出图形
通过0和1来进行绘图,0表示黑色区域,1表示白色区域
「画」出⾃⼰的名字或昵称
理解⼆进制存储图⽚⽂件的底层原理
二进制存储图片底层原理就是通过0和1来控制颜色进行显示,就如上面进行的0和1控制黑色和白色的显示。
而在不同类型的图片中,遵从着不同的标准和规则进行,从而能够表现更多的颜色,而不仅仅是黑白。
例如:GIF文件内部是按块划分的,包括控制块( Control Block )和数据块(Data Sub-blocks)两种
在code.org里面,如下图,是通过第一行来控制宽度,第二行控制高度,第三行控制有多少位来表现色彩
自我尝试
拓展任务
通过搜索引擎了解bmp或png⽂件数据格式的特征
bmp
BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持
图片转载自https://www.cnblogs.com/wainiwann/p/7086844.html
- 数据存储
bmp文件中,若一个数据需要多位来存,是低地址存低位数据,高地址存高位数据的。
- 文件存储
文件不进行压缩,色彩表现力丰富,但占用空间很大。
每个像素占一个字节,取得这个字节后,以该字节为索引查询相应的颜色,并显示到相应的显示设备上
- 文件显示
调色板其实是一张映射表,标识颜色索引号与其代表的颜色的对应关系。它在文件中的布局就像一个二维数组palette[N][4],其中N表示总的颜色索引数,每行的四个元素分别表示该索引对应的B、G、R和Alpha的值,每个分量占一个字节。如不设透明通道时,Alpha为0。
png
- 数据存储
使用无损压缩
⽤截图⼯具截⼀幅8×8⼤⼩纯⽩⾊的bmp/png图⽚
通过Photoshop完成一个88像素的图片,快速导出为PNG
后来发现Photoshop似乎不能制作出bmp文件,发现Windows自带的画图工具就可以导出了,于是用画图3D导出了88像素的bmp文件
⽤⼆进制编辑器观察bmp或png图⽚⽂件数据的规律
PNG
BMP
在⽩底上⽤⿊⾊线条「画」出字⺟「C」
0000为黑色,ffff为白色,依此就可以画出.
自测
110101010001转⼗六进制是多少?有什么最快的计算⽅法能得到结果?
d51
通过四位二进制直接转换十六进制,四位二进制直接算出大小转换为十六进制
101011.101011对应的⼗进制数是多少?
小数点之前的依靠2的次方来转换,小数点之后的按照2的-次方转换
最终结果为43.671875
常⻅的⾳频编码格式有哪些?
印象中最深的就是MP3,ogg,wav
了解以后知道还有AAC、WMA、WAV、ATRAC、PLAC、APE
常⻅的视频编码格式有哪些?
H264 , VP8, AVS, RMVB,WMV,QuickTime(mov)、MP4等
一个尺⼨8×8⼤⼩的png全⿊图⽚前四个字节的⼗六进制值是什么?
1个字节是8位二进制,是2位16进制,所以前四个字节的16进制是
89 50
4e 47
0d 0a
00 00
UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,Unicode编码按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?
将UNICODE转换为UTF-8编码时应先转换为二进制,然后去除高位0,然后根据所剩编码的位数决定所需最小的UTF-8编码位数,最终转换为UTF-8。
假如在Unicode中汉字“中”的编码为“0x4e2d”,把它转换为二进制为100 1110 0010 1101,然后按照UTF-8的方法进行转换。可以将Unicode二进制从地位往高位取出二进制数字,所以可知中字的UTF8的编码也应该为4e2d
后来网上验证之后得到为中
如果要提供⼀个实时的流媒体服务器,除了ffmpeg,还需要使⽤哪个组件?
还需要ffsever配合使用