我的儿子在Scratch中热情地编写简单的游戏.然而,Scratch是一个非常简单的编程环境(甚至没有子程序),我很快就会看到他需要转向别的东西.
有没有人知道一种很好的学习语言,它使图形变得简单但提供了"真正的"编程功能,如数据结构,函数,数组和列表?
如果它在Linux(Ubuntu)下运行,则奖励积分."foo with library Bar"形式的答案也是一种选择.
卢阿怎么样?
有一个很好的图形"引擎"叫做LOVE,它在lua中是完全可编程的.它有很好的文档,并不是很难.
还有其他一些使用lua的类似引擎:
Novashell
边缘
Luxinia
阿根
还有另外一个2d引擎,但我现在找不到它,它类似于LOVE,但采用了一些不同的方法.
我会为初学者推荐LOVE,因为它非常简单,有很好的教程,最重要的是你可以马上做好事.
lua也常用作游戏脚本语言.例如,"魔兽世界"的所有插件都是用lua编写的,实际上所有的界面都是用lua编写的.这意味着在lua中找到与游戏相关的问题的答案非常容易.此外,如果你碰巧拥有一个使用lua作为脚本语言的游戏,你可以轻松地添加自己的东西.
我从游戏角度编写了这个,但是有很多项目使用lua作为脚本语言.
您也可以尝试python,但它没有开箱即用,准备好使用和易于学习/理解的工具.
这里还有一个链接到lua 手册.
如果Scratch开始受到一些限制,但他们还没有为文本编辑器编码的艰辛做好准备,那么看看Scratch-derivative "BYOB"(构建自己的块).说真的,它将Scratch变成了一个成熟的编程环境,具有函数(因此递归),数据结构,多线程和一切!
还有Panther,但我对它的印象不那么深刻(在Panther中创建新的块似乎需要在Squeak中直接编写它们的功能,而在BYOB中你可以用通常的拖放式Scratch风格来构建它们).
看看Processing.
它的展览是图形,动画和视觉操作.它也在Linux下运行.
Processing是一种开源编程语言和环境,适用于想要编程图像,动画和交互的人.它被学生,艺术家,设计师,研究人员和业余爱好者用于学习,原型设计和制作.它的创建是为了在视觉环境中教授计算机编程的基础知识,并作为软件速写本和专业制作工具.
这里有一个很好的评论表明,在刮擦之后爱丽丝和鞋子 - 我在这个问题上没有个人经验,但从评论中他们似乎值得一试.
它可能只是跳跃的一点点,但是使用PyGame的 Python 会让你的学生制作许多相同类型的程序,因为他或她已经习惯了Scratch,但是对整个事情的控制方式非常严格作品.
优点:它是python,它是一种非常容易阅读和编写的语言,并且提供了非常丰富的编程环境,而且不需要任何样板.
缺点:它的SDL,它使用你自己编写的事件循环.对于年轻的程序员来说,这可能是一个相当大的障碍.