A. 《暴走漫画》的解散与前段时间被封杀是否有联系
对于很多年轻人来说,《暴走漫画》应该是比较熟悉的,从2013年3月29日开始,到现如今已经陪伴我们六个年头了,然而在2019年9月6日的时候终于结束了他自己的使命,从此也告别了喜爱它的粉丝们。在这六年来这个节目带给了很多人欢声笑语,同时也让大家见证了世事难料。
其实早在2018年的时候,这个节目就有了一些不好的迹象,但是之后的回归也是让粉丝看到了希望,没想到只是短短一年多的时间,现如今居然就画上了句号。在前一段时间暴走制作的大电影《未来机器人城》在国内上映,对于这部大电影的票房可以说是十分低迷的,所以新伤加旧伤也就成为了压倒大象的最后一颗稻草。
对于这个节目的停播或者说是关闭,虽然很多人感到比较心疼,但是他曾经带给我们更多的是快乐,同时也希望那些各奔东西的工作人员也能够继续的把快乐传递下去,如果今后还有希望的话,也是希望这个节目能够有第七季的出现。
B. 男主角很强但隐藏实力低调的动漫
欢迎来到实力至上主义的教室
故事发生在一切皆由自身实力来衡量,完全的实力主义教育学校。这个学校有自己奇妙的生存法则和规则,主角绫小路清隆一开场就智商超高,一路碾压别人的阴谋阳谋,把学校规则玩的贼6。真是社会你路哥,人狠话不多!
心灵侦探八云
男主齐藤八云是能够通过左眼看到死者灵魂的大学生。话很少但一开口就是毒舌的讽刺人,冷漠、我行我素、懒散,非常厉害!
学战都市
男主天雾绫斗是古流“天雾辰明流”继承者,非常厉害,拥有极其庞大的星辰力,但是却被身为魔女的姐姐施下了封印力量的三道禁锢。解除之后战斗力爆表!
空战魔导士候补生的教官
男主是E601小队教官兼S128特务小队队员。空战魔导士科本科2年级生,17岁就有着“黑之剑圣”之名。自身素质与实战经验都相当优秀,并且具备了“绝不放弃”的坚强信念,战斗力爆表!
C. 有人了解编程猫吗
产品宣传
看来是比较低调的一个团队,网上的信息不多,主要集中在官微和知乎。整体感觉年轻活力,很有“编程”的极客范,比如下图这样的。
人人都是程序员:初识《编程猫》
萌死人不偿命
官网
浓浓的卡通风,相信比较吸引主要受众——小朋友。不过整体来说,画面质感还有提升空间(可以考虑天天爱消除这种风格)。
人人都是程序员:初识《编程猫》
官网首页
官网内容当然是以“编程教学”为核心,分为以下板块:
首页
创作:进入编程猫的代码世界(需先登录),这里是我最喜欢的一部分,下文再具体介绍。
代码岛:类似于“我的世界”的一个页面,但是没有任何介绍,目前没去研究如何使用。
编程猫热点:即最近的新闻。
公开课:编程猫系统使用的常规操作,也是我收获最大的一部分,下文具体介绍。
精选作品、小说、部落、活动、最近作品:UGC内容的推荐。
人人都是程序员:初识《编程猫》
官网小说推荐.png
创作:同上
发现:主要是作品(用户发布的编程作品)和部落(即编程社区)。
网络:问题讨论、官方角色资料,还包括漫画和小说。
素材:这里提供了一些可以用到编程中的素材,比如背景、角色、道具等。
学校:与学校合作的一些介绍与接入。
下载:相关APP以及chrome的下载(系统运行需要chrome内核)
个人中心:用户的主页与信息,还包括代码、小说等作品的管理。
一个建议
编程猫官网应该归类到内容(代码/小说/漫画)+学习社区,那么主要用户就是两类:
创作者:主要需求是通过平台创造内容,提升自己、收获粉丝。偶尔需要学习知识,以及收集素材。
消费者:主要需求是消费这些内容(小游戏/小说/漫画)。偶尔需要泡社区、与创作者互动。
当然,对于真实用户,是完全可以在两种角色之间切换的。
基于以上两点,再次整理如下:
“发现”中的“作品”是给消费者的(发现好作品),而“部落”又是给创作者的(发现好社区)。
“网络”中的“讨论中心”是给创作者的(提问/答问),而“漫画/图书馆”又是给消费者的(看漫画/小说)。
“素材”是给创作者,“学校”是面向学校,这些都比较清晰。
所以不妨基于两类用户的特点,对板块进行重新划分。
面向消费者:主栏目是“发现作品”,下设子栏目:游戏、漫画、小说,每个栏目可以加上“我要创作”,来引导其成为创作者。
面向创作者:主栏目是“源码社区”,下设子栏目:热门源码、讨论、部落、素材。
(PS:网络中的“资料图鉴”目前还未了解,暂不讨论。)
公开课
这部分是我“入门”编程猫的关键,17个短视频,看完你也能轻松学会在编程猫“写代码”。
人人都是程序员:初识《编程猫》
编程主界面
每个视频也是一个小故事,比如《编程猫初见阿短》,“编程猫”就告诉“阿短”如何在屏幕内移动(设置“碰到边缘即反弹”)
下面贴出我印象比较深的几点:
1、初见阿短
动作—移到鼠标指针:角色跟随鼠标移动
动作—面向鼠标:使角色面向鼠标方向
动作—碰到边缘就反弹:使角色不再会走到屏幕之外
2、重复执行
控制—重复执行:使角色不断重复执行某个动作
3、坐标
动作—移动到(X,Y):可以改变角色的坐标
4、广播
很有意思的功能,可以理解为传参,或者全局变量,可以让一个角色的动作对另一个角色造成影响。
比如示例中通过点击“礼帽”触发动作“广播:1”。然后对“动物”设置动作当收到“广播:1”时,将自己设为可见。实现的是玩家点击礼帽“变”出动物的效果。
位置在:”事件—当收到广播/收到广播时“。
5、如果
这里演示了经典的if-else的写法。整个函数在一个循环体“重复执行”中。
游戏很像前几年流行的Flip Bird(哈哈当年我玩到过200多分),玩家按下鼠标时,角色往上跳一下,然后慢慢下落。
那么角色就包括3个动作,对应if的三个情况:
飞行/下落:鼠标按下时移动12px,否则向下移动3px
碰到障碍物:游戏结束,停止脚本
碰到南瓜怪:闯关成功,退出循环
人人都是程序员:初识《编程猫》
经典的If-else
6、外观
基本是结合之前几课,实现了“人物进入飞船、飞船飞走”的动作。
拆解如下:灯光在1秒内亮起,并发送广播”进舱“——人物接收到”进舱“,在1秒内隐藏,并发送广播”出发“——飞碟收到广播”出发“后闪灯、变小、改变坐标值
人人都是程序员:初识《编程猫》
Paste_Image.png
Tips:图层顺序是右侧覆盖左侧
7、声音
为角色添加造型与声音(三头龙的5个造型对应着5种不同的血量)
添加声音很简单,这里一个新方法是:两个角色之间的信息交互是用另一个的造型编号触发,而没有用“广播”。
人人都是程序员:初识《编程猫》
三头龙与胜利动画
人人都是程序员:初识《编程猫》
利用角色编号来传递信息
8、画笔
这里提供了一个简单的画笔工具,可以直接将屏幕变为一个画板。
代码不复杂,重点是起笔/落笔的设置,如下
人人都是程序员:初识《编程猫》
画笔设置
9、变量
本章稍微复杂,需要实现的效果是:鲤鱼在河道不断左右运动,玩家点击后消失,并计分+1。
鲤鱼的运动,可以这样写(注意碰到边缘反弹,是可以设置旋转模式的):
人人都是程序员:初识《编程猫》
呆鲤鱼的运动
得分的计算,可以这样写(初始设置为0,每次点中呆鲤鱼+1):
人人都是程序员:初识《编程猫》
得分计算
最后这里有一个链表。它设定了游戏时间只有6秒钟,根据玩家得分数来返回一个“击败80%玩家”的信息。当然也是用于结束游戏(脚本)的计时器。
人人都是程序员:初识《编程猫》
结束脚本与返回结果
10、克隆
这一part,需要的效果是:在一个固定高度,每秒在水平任意位置出现一个飞镖,并依此落下。使用的方法是“克隆”,代码的解析如下。
设置角色“飞镖”,将其隐藏,
每秒创建一个自己的克隆体,克隆体移动到Y=500,X=随机的位置
作为克隆体启动时,不断下落、旋转
Tips:注意最后加上“如果碰到下边缘就删除自己”,相当于释放内存,不然浏览器会悲剧。
人人都是程序员:初识《编程猫》
飞镖的运动
练习作品
目前我在上面做了一个飞机大战,踩了几个坑,不过也算是完成了。已实现的需求:
玩家键盘控制飞机的移动、发射子弹;
敌方飞机随机从上空出现;
击落敌机,得分+1;
被敌机撞到,生命值-1,获得3秒无敌状态回屏幕中央;
生命值将为0,游戏结束。
人人都是程序员:初识《编程猫》
飞机大战
一些思考
图形化界面,很容易上手。但是完成这个小作品也是非常有成就感(像程序员一样创造世界)。
代码思维:比如“面向对象”的思维(将飞机、子弹、场景都视为对象),比如“清理内存”思维(克隆体一定要有删除机制),相信这些对小朋友的思维也很有启发作用。
遇到困难的时候,我是回到公开课去看的,因为“网络”和社区(包括我加入了QQ群)能了解到的信息不多,就像FCC推崇的“Read-Search-Ask“,这部分的内容其实也有待完善。
比如作为新手,我需要的信息包括:编程界面各个功能的使用说明,常见场景(Read);能搜到一些常见错误的解答(Search);可以学习和讨论其他人的优秀作品(Ask)。这三点做好以后,相信能吸引更多人在这里创作。
其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我要推荐c++交流群:“648778840”,不管你是小白还是大牛欢迎入住,大家一起交流成长。小编会在群中不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。
学习思路:
人人都是程序员:初识《编程猫》
学习资料:
D. 为什么有的程序员的代码结构混乱
程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。
或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。他们认为旧代码简直一团糟。
但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难。
为什么你觉得旧代码异常混乱?因为读代码更难。
这大概就是代码Reuse难以实现的原因。 这就是你组里的每个人都喜欢用不同的功能将分割的字符串转换成一个数组。比起猜测旧的功能是怎样实现的,重新写一个自己的功能要简单和有趣多了。
作为这个公理的推论,你可以问问身边的程序员他们正在奋战的代码怎么样?“简直是一塌糊涂!”他们肯定会这样说。“我简直想推倒重来!”
为什么认为代码这么糟糕呢?“额,看看这个功能,竟然有两页长!完全不知道这些东西为什么在这里!完全不知道这些API是干什么的。”他们会这样回答你。
漫画:读别人代码是一种怎样的体验?
曾经,Borland的创始人 Philippe Kahn当初就是向记者们吹嘘:Quattro Pro会比Microsoft Excel要好用得多,因为它是从头开始编写的,全部都是新的源代码!
但是,认为新代码比旧代码好简直就是荒谬。旧代码是已经运行过的,测试过的。无数的bug在被发现前都上线运行过,发现之后程序员们可能在花了好些日子才修复了这些bug。这种修复可能是一行代码,也可能是几个字符,无数的时间和精力都花在了这些bug修复上。
当你决定抛弃这些旧代码从零开始的时候,你也丢掉全部前任努力的结果。
新代码一定比旧代买好?NO,重写可能会带来更大的风险。
对技术领导者来说,重写项目的代码也是一个异常艰难的决定。因为从公司层面说,重现代码甚至会威胁产品的市场竞争力。一旦决定重写代码,那么与竞品相比,你可能落后了2~3年——在软件行业,这时间可够长的。
你理想中的新代码会带来产品功能的提升▼
但事实上,即便重写的新代码可以实现旧代码的所有功能和需求,但是为产品带来的市场竞争力只有边际提升。因为重写用的新技术、新语言、新框架并没有给产品带来质的飞跃。
更不用说在重写的漫长过程中可能会遇到一些意外情况,比如:
1、缺钱:资金链的断裂▼
2、缺人:核心程序员离职
最终导致效果不佳:达不到原产品应有的所有功能和需求,白白浪费了时间和金钱,也丢掉了市场竞争力。▼
所以重写代码意味着,你在把自己置身于非常危险的境地,可能几年后你也写不出比以前更好的代码。你只是花了一大笔钱把已经存在的代码又写了一遍。
当你觉得眼前的旧代码很烂时,该怎么办?
你觉得旧代码写的很烂,那又怎样呢?它们已经上线,已经在实际运行中经受住了考验。所以当你发现前任留下的代码乱七八糟的时候,不妨冷静下来,从以下三个方面入手理解代码、改善代码:
1、代码的结构有问题
如果一段网络代码突然弹出了自己的对话框,应该是UI代码需要被处理。这些问题可以被解决掉,你要一次次小心地移动代码,重构,改变接口。还需要一位细心的工程师立马仔细地检查这些改变是否有问题,从而不打扰到其他人。事实上,甚至比较大的结构变化也可以不扔掉代码来完成。
大牛程序员Joel Spolsky回忆说,曾经在某个项目中,他和他的团队花了好几个月重新架构在一点上:把代码动来动去、清理、创建有意义的基类,并创建了模块之间的完美接口。但是他们始终非常小心翼翼,并没有产生新的bug、也没有丢掉任何旧代码。
2、代码的效率不高
曾经,Netscape的渲染代码被传非常缓慢。但事实上,这只会影响该项目的一小部分,这部分是你可以优化甚至重写的。你完全不必重写全部代码。优化速度的1%工作量,会让你获得99%的爆炸性提高。
3、代码写得很丑
有些代码真的写的很丑,比如Joel曾参与一个项目,开始用下划线做开始的成员变量约定,但后来改用更标准的“M_”。所以一半的功能用“_”开始,一半用“M”开始,这看起来真的很丑陋。但这个问题5分钟就能解决,而不用从头开始写全部的代码。
最后,你要记住,从头开始再写一遍并不意味着你会写出比以前更好的代码。因为你没有参与到上一个版本的创建,所以你其实根本就不算有经验。一旦你准备推倒重写,你可能会再犯一遍版本一犯过的错,甚至会产生更多的新问题。
一个总结:
面对糟糕的旧代码,Keep Calm & Carry On !
在大型商业项目中,推倒重来是非常危险的行为。当然,如果你是在做实验,想到新算法可以随时重写。