编程猫的地球日志(编程猫例子)

http://www.itjxue.com  2023-03-31 01:15  来源:未知  点击次数: 

编程猫杂志是什么杂志?

编程猫杂志是针对少年儿童编程方面的期刊,是依据少年儿童的特点和现代教育理念设计的一种课程。学习编程推荐去童程童美,童程童美独立开发的专有可视化在线少儿编程教育平台,针对6—18岁青少儿提供线上小班直播授课。

童程童美少儿编程的课程体系还涵盖了乐高,机器人,Scratch,Python,APP手机软件(JAVA),信息学奥赛(C/C++)等等。其中乐高、机器人的学习,属于线下小班课,Scratch和信息学奥数是线上小班课,Python和APP(JAVA)使用的是线上线下双向的学习路线。童程童美的师资由CEO亲自挂帅,打造适合中国孩子的编程课程。韩少云CEO、首席教育官,前亚信公司软件事业部总工程师,软件设计专家、课程设计专家和教师培训专家。别的的老师也均拥有多年的教学经验,以及自己擅长的教学领域。【学少儿编程可以提高孩子逻辑思维、专注力!】

想了解更多关于少儿编程的相关内容,推荐咨询童程童美。童程童美实施5S(整顿、整理、清扫、清洁、素养)管理办法,以加强对环境的长效管理,注重科技素质教育氛围的营造,传递良好的教育理念,正向影响孩子意识,让孩子在成长中心可以舒适学习。【童程童美少儿编程体验课,点击可免费报名试听】

有人了解编程猫吗?

产品宣传

看来是比较低调的一个团队,网上的信息不多,主要集中在官微和知乎。整体感觉年轻活力,很有“编程”的极客范,比如下图这样的。

人人都是程序员:初识《编程猫》

萌死人不偿命

官网

浓浓的卡通风,相信比较吸引主要受众——小朋友。不过整体来说,画面质感还有提升空间(可以考虑天天爱消除这种风格)。

人人都是程序员:初识《编程猫》

官网首页

官网内容当然是以“编程教学”为核心,分为以下板块:

首页

创作:进入编程猫的代码世界(需先登录),这里是我最喜欢的一部分,下文再具体介绍。

代码岛:类似于“我的世界”的一个页面,但是没有任何介绍,目前没去研究如何使用。

编程猫热点:即最近的新闻。

公开课:编程猫系统使用的常规操作,也是我收获最大的一部分,下文具体介绍。

精选作品、小说、部落、活动、最近作品: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++零基础教程。欢迎各位感兴趣的的小伙伴。

学习思路:

人人都是程序员:初识《编程猫》

学习资料:

使用编程猫后的短小的感言

之前听到有人说:编程猫抄袭Scratch!我觉得这种言论太 搞笑 了。*1不信你们回头再看去。如果说这只是一个借鉴的话,可以说,这个借鉴不小心做出来了一个近乎完美的软件。

之前有一个根本就不知道什么是编程猫,也没有用过编程猫的一个人,跟我借了一本《编程猫》杂志,看完了之后,他就直呼:这个代码明显比Scratch更高级啊!确实是的,*2既然编程猫能做出这样,你凭什么就不能做出这样的软件呢?现在信息课用Scratch编程的人越来越少了,然后各种比赛用编程猫了,却越来越多了。Scratch,你连这一点自知之明都没有吗?

在编程猫社区里,每一个人都可以发布作品,同时还可以给对方的作品再创作。还有创作者等级和玩家积分 ,激发创作者的信心。而在Scratch里,大多都是很水的作品,网站也是形同虚设。这才是真正的社区啊!

注:

*1见《Scratch:一直被模仿,但被编程猫超越》

*2见《Kitten编辑器诠释了真正的“一比吓一跳”》

编程猫怎么做无限地图

这要取决于你是要预生成整张地图还是随着玩家的探索来生成地图。

首先,如果预生成地图,那么你要给一个范围,不然的话,游戏就是死循环你懂的;

其次,如果是随着玩家探索来生成地图,是很简单的。

1、你要写出几个预制的房间方案,包括房间所用的地形块、地形块的设定,房间的长宽,以及房间内随机生成的敌人或道具(可以用几个特殊的地形块来控制生成)比如:我提前设置4种地形块:墙、地板、生怪块、生道具块(都是OBJ)然后我设定2种房间类型,一种是正方形,5X5的地板,6X6的地方是墙,中间会随机使用生怪块或者生道具块,将这些东西的相对位置编辑好,用左边中间的方块作为“入口”,用右边中间的方块作为“出口”第二种和第一种一样,不过生怪块和生道具块各有一个,并且是长方形的房间

2、写一个控制代码,试玩家清理掉一个房间中的怪(或者捡起道具)时,在“出口”处生成下一个房间,其“入口”连接到现在玩家所在房间的“出口”于是你就有了无限的房间。你可以写一个代码,给每一个生成的房间编号,根据编号设置生成的怪物、道具以及何时结束游戏等。

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章