少儿编程
Kitten 编程猫工具介绍,少儿编程的最佳入门编程软件之一
汪子熙
企业管理软件资深开发专家
展开
-
使用 ChatGPT 帮助小学生编程入门系列之二:使用 Python 编程发送电子邮件
如果你启用了两步验证,你需要生成一个应用专用密码来代替你的常规密码。我使用网易邮箱进行测试,把源代码拷贝到我本地后,稍作修改,主要是将我网易邮箱的用户名和 password,硬编码到代码里去,然后把网易邮箱的 SMTP 服务器地址和端口,填写到代码中去。学会这个方法之后,我们还能把前面一篇文章的成果结合起来,比如把天气预报信息,用 Python 读取出来,然后发送到指定邮箱去。你是一个资深的 Python 技术专家,请你编写一段 Python 代码,将一个字符串值通过电子邮件,发送到指定的邮箱中去。原创 2023-11-06 08:26:59 · 192 阅读 · 0 评论 -
使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据
对于计算机行业从业者来说,在 AIGC 时代,我们也要深度思考,当越来越多的普通人都能够熟练使用编程工具之后,计算机专业从业人员的核心竞争力到底是什么?原创 2023-11-04 21:30:40 · 275 阅读 · 0 评论 -
利用 AWS CodeWhisperer 激发孩子的编程兴趣
CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。原创 2023-06-05 14:54:54 · 153 阅读 · 1 评论 -
如何在 kitten 里生成动态个数个立方体(水平方向平铺)以及避免闪烁问题
效果如下: 一个立方体:两个立方体:三个立方体:关键是求出第一个立方体开始绘制的第一个点的水平方向坐标。我引入三个变量,分别是立方体的个数,第一个立方体的顶点水平方向坐标和第二个及其之后的顶点水平方向坐标。我期望将这些立方体尽可能布局在屏幕的正中,因此需要计算第一个立方体的初始顶点的水平坐标。后续的立方体定点坐标,只需在此基础上递增正方体的边长即可。换言之,这些立方体从左到右依次布局。正方形变长 × 立方体个数的和再除以2,除以2保证第一个顶点在屏幕正中。然后在循环体里绘制立方体。每绘制一次之后,将立方原创 2023-02-17 10:27:00 · 169 阅读 · 0 评论 -
使用 Kitten 编程猫绘制一个 Y 方向平铺的立方体集合
每次动态绘制 X 方向的立方体,都会首先计算 X 方向立方体初始定点的 X 和 Y 坐标。应用程序启动时,默认只绘制一个立方体,因此我们在初始绘制的函数里,只执行动态绘制 X 方向的立方体这一个逻辑。为了确保初始立方体在屏幕正中绘制,我们计算 x 方向立方体初始顶点 X 坐标的公式如上图所示,用立方体棱长乘以 X 方向的立方体个数再除以2.Y 方向立方体的绘制比较简单,在第一个点的立方体绘制完毕后,回到点1,将点1的朝向调整旋转角度,然后移动斜边变量代表的步数,即到点2.的值被累加,步长为立方体棱长。原创 2023-02-14 09:52:28 · 433 阅读 · 0 评论 -
Kitten 动态绘制 Y 轴方向立方体的实现方法
这样,在绘制 Y 方向立方体时,我重新回到起点 X 和 Y,然后调整旋转角度,移动到斜边的另一个顶点,此时这个顶点的 X 和 Y 坐标,就是新的一排待绘制的立方体的初始X 和 Y 坐标。我每次动态绘制 X 方向的立方体时,都会将计算好的第一个立方体的顶点,存储到变量起点X 和起点 Y 里,以备后续使用。x 方向动态立方体的 x 坐标,初始值为 X 方向立方体顶点 X 坐标,这个坐标是在循环体外部计算的,公式如下。在 Y 方向绘制一排新的立方体,关键是要找到第一个立方体的起始顶点的 X 和 Y 坐标。原创 2023-02-11 22:56:18 · 176 阅读 · 0 评论 -
使用 Kitten 编程猫绘制一个魔方
笔者采用的是 Z 方向驱动的绘制方法。如果要绘制一个 3 × 3 × 3 的魔方,在绘制了底面 3 × 3 的9个小立方体之后,接下来绘制 Z 方向第二排立方体,从左到右绘制,即下图黄色箭头所示的水平排。从内层循环的移动斜边长度积木,我们就能知道这个积木的作用是沿着斜边不断移动正方体初始顶点的 X 和 Y 坐标,从而完成当前这一层(z方向)的所有立方体绘制。在水平方向和 Y 方向绘制的立方体序列集合,我们前文已经叙述过了,本文主要讨论 Z 方向也就是俯视方向的立方体集合如何绘制。原创 2023-02-15 10:40:12 · 1776 阅读 · 0 评论 -
如何在 Kitten 里绘制两个相邻的正方体并响应用户输入事件
效果:按键盘的上下箭头,可以对正方体的棱长进行缩放。按键盘的左右箭头,可以对最上面的面的倾斜角度进行调整。按住键盘1,2,可以对正方体的斜边长度进行调整。原创 2023-02-07 10:36:36 · 283 阅读 · 1 评论 -
如何用 Kitten 绘制一个立方体
Kitten 的坐标原点如下图所示,以及两根坐标轴。先画一个白色的正方形,完毕之后回到原点(0,0)完成之后,位于点3。原创 2023-02-06 18:41:59 · 195 阅读 · 0 评论 -
汪子熙趣味成语接龙的游戏软件使用文档说明
每点击一次,作品会从成语库中重新随机挑选一个新的成语。确定初始成语之后,点击按钮“开启挑战”,进入正式的成语接龙环节。如果接龙虽然理论上可以继续下去,但是由于使用者成语积累的匮乏,没有正确地接下去,本作品也会将智能计算出来的最佳接龙成语,显示在界面上,便于用户学习积累之用。例如下图的“失之交臂”,就是本作品根据初始成语 “遵而不失” 智能计算出的结果。如果输入的成语没办法继续接龙,会收到游戏结束的提示。下图是一个具体的例子:初始成语是:狐朋狗党。(3) 输入成语的首字,必须是初始成语最末一个字。...原创 2022-08-14 09:34:58 · 311 阅读 · 0 评论 -
汪子熙趣味成语接龙的游戏软件设计架构说明
本作品采用 Kitten编程猫 v3.7.11开发而成。工程里主要包含一个背景和六个角色:下面是这些素材的一一介绍。原创 2022-08-14 09:34:29 · 361 阅读 · 0 评论 -
趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
本文给出了一种解决方案,采用如下的 kitten 积木组合块实现。根据变量“检查接龙的返回值”,分别执行相应的逻辑。否则说明接龙成功,弹出接龙成功的对话框,设置变量“当前成语”的值为用户输入的答案,这样,这个“当前成语”就成为下一轮成语接龙的初始成语。在进入下一轮循环之前,给变量“当前得分”加一,给用户以鼓励。在收到“开始接龙”的另一个广播处理积木块里,切换变量“停止片头音乐”和“停止游戏音乐”两个变量的值,以达到游戏运行过程中,根据不同的模型,播放不同类型的背景音乐的目的。...原创 2022-08-14 09:33:59 · 298 阅读 · 0 评论 -
汪子熙趣味接龙游戏实现里原创部分的亮点
在本作品第一版的程序实现里,作者在“重复执行”的积木里,使用了很多类似 “列表长度”,“列表第N项”的计算积木,造成判定计算逻辑的执行速度及其缓慢,计算一次需要等待80秒。后来在指导老师的提示下,把“列表长度”,“列表第N项”这些计算积木的使用,移到了“重复执行”积木之外,避免了在循环内一次又一次计算这些不变值,加上Kitten编程猫 积木实验室里高级积木“一步执行”的使用,完美地将接龙判定的执行时间从 80 秒优化到了1秒。使用列表的数据结构来存储将近2万个成语词汇。...原创 2022-08-14 09:33:19 · 182 阅读 · 0 评论 -
汪子熙趣味接龙游戏实现的参考资源
作品的开始被点击,标志着作品的启动。此时将列表变量 “我的成语库” 的长度值,赋给变量 “成语库总长度”,这样随后的运算就不用重复计算本地成语库的大小,提供了性能。显示对话框,提示用户通过点击转盘的方式,来选择初始的成语。本作品未引用或者复制其他 kitten 作品的工程文件或者源代码,只参考了Kitten编程猫源码编辑工具自带的帮助文档。安卓平台 apk 安装文件生成工具:https://www.apicloud.com/作者计划把本作品介绍给本班的其他小朋友使用。参考资源(参考或引用他人资源及出处)..原创 2022-08-14 09:29:37 · 327 阅读 · 0 评论 -
使用 Kitten 开发一款趣味成语接龙游戏
后来汪子熙和指导老师共同查阅了 Kitten 编程工具的在线文档,了解了编程源码工具里名为“一步执行“积木的使用方法,同时掌握了编程中 全局变量 和局部变量 的差异,进行了总共三轮的程序优化。本作品极具智能和体贴性,如果用户接龙失败,作品会帮助用户,自动从其本地的成语库中智能地查找能够匹配当前这一轮接龙的成语,并显示在接龙记录了。这样一来,就算用户接龙失败,看到“游戏结束“的提示,但是在接龙记录里能够看到正确答案,同样有所收获,达到了成语积累的目的。通过积分的方式,能激励用户开动脑筋,努力完成接龙。....原创 2022-08-13 22:02:29 · 1593 阅读 · 2 评论 -
汪子熙趣味成语接龙游戏的设计初衷
随机挑选,能保证作用户每一次的接龙体验都是独一无二的,从而能有效帮助用户积累自己的成语词汇量。如果用户觉得当前随机挑选出来的成语,接龙比较困难,可以重复点击作品提供的选择按钮,直至遇到自己觉得能够开始接龙的成语为止。本作品能在手机端和电脑端流畅运行,在作品本地存储维护了一个将近两万词汇量的成语库(作品的设计架构支持成语库的编辑功能,后续版本会开发出成语库的编辑界面)。在当今小学生耳濡目染越来越多低俗的网络词汇的背景下,本作品希望能尽微薄之力,给学生树立正确的汉语词汇使用方式,弘扬使用传统汉语的习惯。....原创 2022-08-13 21:54:14 · 821 阅读 · 0 评论 -
Kitten编程猫里如何先后播放不同的背景音乐
Kitten编程猫 里说 XXX 直到结束 这个积木,在语音结束之前,不会执行下一块的对话积木。如果此时收到其他事件,比如上图的“转盘停止”的事件,那么“转盘停止” 事件处理函数里的对话积木,会先于“说 XXX 直到结束” 下一块的对话积木而执行,而这并不是我们想要的效果。持续播放的背景音乐根据Kitten编程猫的帮助文档,如果想给作品添加持续的背景音乐,我们可以通过重复执行和播放音乐的积木来实现。需要注意的是,我们需要用到的是【播放声音直到结束】积木,而不是【播放声音】积木。这两块声音积木之间原创 2021-04-05 09:24:06 · 1290 阅读 · 0 评论 -
Kitten编程猫的工程文件 bcm,能发布成Android平台的apk文件吗
根据Kitten编程猫社区的这个帖子:https://shequ.codemao.cn/community/367019产生的不是可执行文件或者源码,产生的是配置文件,告诉执行文件的框架该怎么做的配置文件。必须依赖编程猫软件,可以在网上下载编程猫格式工厂来把bcm文件转为exe文件。不能直接转换成安卓的apk文件。可以参照这个帖子:https://shequ.codemao.cn/community/167969但可以通过 Kitten 格式工厂这个软件,将 bcm 转换成 W原创 2021-04-04 21:37:47 · 1687 阅读 · 2 评论 -
如何把 Kitten编程猫上开发出来的项目打包成安卓平台上可以安装的apk文件
我们使用 Kitten编程猫这款少儿编程工具,开发出来的项目,另存成本地工程文件,格式为bcm:bcm文件打开可以发现,内容是json格式的明文数据,包含了该项目内使用到的scene(场景),素材(styles), 积木(blocks)等等。通过编程猫另一款名叫格式工厂的开发工具,可以基于 bcm 转换成 windows 操作系统下的exe执行文件。然而,我们可以通过一个叫做 APICloud 的在线网站,几分钟之后就能基于 Kitten编程猫已经发布的作品,自动生成 Android 或者 iOS平原创 2021-04-04 21:05:32 · 2847 阅读 · 2 评论 -
Kitten编程猫里的一步积木设计原理
一步积木位于 kitten 里的“积木实验室-扩展积木”:这个wrap有什么奥妙,只有查看 kitten 的源代码了:按照 Kitten 的帮助文档,一步执行积木在操作大数据场景中非常有用:在我们进行大数据运行时,对比会更明显。同样让一个变量重复增加 2000 次普通执行情况下,需要等变量从 1 慢慢增加直到 2000,需要较长的一段时间。加上“一步执行”后,程序直接运行结果,显示 2000 次。更多Jerry的原创文章,尽在:“汪子熙”:...原创 2021-04-04 16:47:08 · 4098 阅读 · 1 评论 -
如何将 kitten编程猫里的以分号分隔的长字符串转换成列表结构
积木设计:全部变量值:注意,kitten里的列表索引从 1 开始,但是运行时转换成 JavaScript 代码里,索引仍然是从0开始的:var 所有成语 = '塞翁之马;塞翁失马;盂方水方;千秋万载;鹯视狼顾;杀衣缩食;哀哀父母;'self.var 迭代 = 1var 成语字典 = [];when_start(function() { print_say('Hi');});when_clicked(function() { 成语字典 = 所有成语.split(';').co原创 2021-04-04 16:45:39 · 907 阅读 · 0 评论 -
如何成批导入数据到 kitten编程猫 类型为列表的变量中
我们在 kitten 里可以定义列表变量,即JavaScript 里的数组。如下图所示:如果我们有大量数据需要导入到这些变量里,可以直接编辑存储在本地的以.bcm结尾的工程文件:用文本编辑器将要导入的内容拷贝到value 属性对应的数组内即可。或者也可以用这个字符串拆分积木在应用启动时拆分:把1,2,3,4 按 “,”分开成列表:更多Jerry的原创文章,尽在:“汪子熙”:...原创 2021-04-04 16:32:10 · 1598 阅读 · 0 评论 -
kitten编程猫里的函数定义,函数实现和函数调用原理
kitten函数定义和函数实现:var 我的成语库 = [];function 成语初始化() { 我的成语库.splice('' - 1, 1); 我的成语库.push(1); 我的成语库.push(2); 我的成语库.push(3);}函数调用:var 我的成语库 = [];when_start(function() { 成语初始化();});本例里,函数定义和函数实现位于 actor 战士阿短里。我们去该actor的源代码查看:每个在函数实现里插原创 2021-04-03 19:16:52 · 2711 阅读 · 0 评论 -
如何实现 kitten 编程猫里虚拟手柄效果
https://v.qq.com/x/cover/mzc00200b3fta2o/t3065dl6mqk.html物体A 可以让物体B执行某操作,通过积木 “告诉” X 执行 Y 完成。其中 Y 的执行上下文,指向的是 X.所谓虚拟手柄,指的是我们可以通过按住鼠标不放,移动下图黄色圆圈,坦克即可朝着手柄移动的方向前进。所谓移动到虚拟摇杆底,意思是虚拟摇杆和虚拟摇杆底二者的中心点在任意时刻都重合,因为这个积木是被重复执行积木包裹的。如果鼠标按下,虚拟摇杆首先将自己的方向调整到面向鼠标指针原创 2021-04-03 19:02:39 · 2460 阅读 · 1 评论 -
Kitten 编程猫里的克隆体无法进行边缘检测
克隆出的炮弹,无法执行到这个积木:克隆体也无法收到广播:同时,遇到边缘就反弹,以及当物品遇到边缘这里有一个坑。如果把“碰到边缘就反弹” 放到重复执行内,则序号为2,即 “当自己碰到边缘” 的事件,永远无法发生。最后我只能采用一种比较低效的办法:把克隆体的碰撞检测也写在克隆体的无限循环函数体内:这样效率很低,因为每走10步就要检测一次。Kitten3.0转换成EXE时不能包含云变量和云列表。原因:在编程猫中,云变量的使用是需要确定的作品ID的,但转换的文件并没有对应的作品ID,因此云变量原创 2021-04-03 19:00:53 · 1414 阅读 · 0 评论 -
kitten 编程猫在线课程第十讲要点 - 克隆的使用,第十一讲 - 数组的使用
https://v.qq.com/x/cover/mzc00200b3fta2o/j3065ioxz8h.html飞镖克隆出来的任何一个实例,都可以被下面的代码检测到:把列表当成数组。第十一讲 - 数组https://v.qq.com/x/cover/mzc00200b3fta2o/l3065cv6nqh.html源代码:var 主食 = [];var 饮料 = [];var 甜品 = [];when_get_signal('1', function() { for (var原创 2021-04-03 09:23:14 · 1580 阅读 · 0 评论 -
kitten编程猫在线课程第七讲要点
https://v.qq.com/x/cover/mzc00200b3fta2o/c30653ws3lh.html下一个造型 积木 的函数实现:change_shape_to_next尽管我们无法指定跳转到第几个造型,但是可以在检测语句里根据造型索引进行判断:when_start(function() { wait_until((Kitten.value_of_object('三头龙', 'style_index') === 5)); show(); Kitten.play_sound('原创 2021-04-02 13:40:47 · 1455 阅读 · 1 评论 -
kitten 编程猫里的工具函数
鼠标点击检测,用的是kitten全局变量kitten:Kitten.is_touched, 接收两个参数,检测其代表的对象是否互相接触。完整代码:when_start(function() { while(true) { if (Kitten.is_mouse_down()) { add_y(12); } else { add_y(-3); } if (Kitten.is_touched('Self', '障碍物-荆棘')) {原创 2021-04-01 11:32:11 · 1947 阅读 · 1 评论 -
Scratch里定义重复动作的方法
把重复执行和任意一个动作积木拖拽到编辑区上,将动作积木放置到重复积木内部即可:原创 2020-10-18 20:35:08 · 1329 阅读 · 0 评论 -
kitten 编程猫的事件处理机制
课程:https://v.qq.com/x/cover/mzc00200b3fta2o/u3060372tzg.html定义两个“当开始被点击”事件后,对应的JavaScript代码:when_start(function() { set_xy_for_sec(200, 200, 1);});when_start(function() { while(true) { change_shape_to_next(); }});其实就是start event的两个事件处理函数原创 2021-03-29 19:40:26 · 908 阅读 · 1 评论 -
kitten 编程猫学习教程(一) 学习笔记
编程猫联CTO孙悦曾评价说,“Kitten是介于C++、Python和Scratch之间,具有优秀的运算功能、广泛的第三方类库、开放的生态和庞大的开发者社区。”https://v.qq.com/x/cover/mzc00200b3fta2o/z30607xe6mj.html另存到本地的项目文件,格式为bcm:有300多kb大小:是一个json格式:包含剧院,场景,样式,演员,工具盒等等。其中actors的styles元素,对应GUI上的演员的动作是通过xml存储在blocksXML原创 2021-03-28 20:35:01 · 13017 阅读 · 0 评论