在Scratch之后教什么?

时间:2009-07-18 16:29:18

标签: language-agnostic mit-scratch block-programming

我的儿子正在Scratch热情地编写简单的游戏。然而,Scratch是一个非常简单的编程环境(甚至没有子程序),我很快就会看到他需要转向别的东西。

有没有人知道一种很好的学习语言,它使图形变得简单但提供了“真正的”编程功能,如数据结构,函数,数组和列表?

如果它在Linux(Ubuntu)下运行,则奖励积分。 “foo with library Bar”形式的答案也是一种选择。

10 个答案:

答案 0 :(得分:16)

lua怎么样?

有一个名为LOVE的漂亮图形“引擎”,它在lua中完全可编程。它有很好的文档,并不是很难。

还有其他一些使用lua的类似引擎:

还有另外一个2d引擎,但我现在找不到它,它类似于LOVE,但采用了一些不同的方法。

我会为初学者推荐爱,因为它非常简单,有很好的教程,最重要的是你可以立即做好事。

此外,lua通常用作游戏脚本语言。例如,“魔兽世界”的所有插件都是用lua编写的,实际上所有的界面都是用lua编写的。这意味着在lua中找到与游戏相关的问题的答案非常容易。此外,如果您碰巧拥有一个使用lua作为脚本语言的游戏,您可以轻松地将自己的内容添加到其中。

我是从游戏角度写的,但是有很多项目使用lua作为脚本语言。

您也可以尝试使用python,但它没有开箱即用,随时可以使用且易于学习/理解的工具。


这里还有一个链接到lua manual

答案 1 :(得分:11)

如果Scratch开始受到一些限制,但他们还没有为文本编辑器编码的艰辛做好准备,那么看看Scratch-derivative "BYOB" (Build Your Own Blocks)。说真的,它将Scratch转变为grown-up编程环境,其中包含函数(以及递归),数据结构,多线程以及所有内容!

还有Panther但我对它的印象较少(在Panther中创建新块似乎需要直接在Squeak中编写它们的功能,而在BYOB中你可以用通常的拖放来构建它们划痕风格)。

答案 2 :(得分:7)

看看Processing

它的游览力是图形,动画和视觉操控。它也在Linux下运行。

  

处理是一个开源   编程语言和环境   对于想要对图像进行编程的人   动画和互动。它是   学生,艺术家,设计师使用   研究人员和业余爱好者   学习,原型设计和生产。   它的创建是为了教授基础知识   视觉中的计算机编程   上下文并充当软件   写生和专业制作   工具。

答案 3 :(得分:6)

一个不错的评论here表明在刮擦后爱丽丝和鞋子 - 我在这个问题上没有个人经验,但从评论中他们似乎值得一试。

答案 4 :(得分:5)

它可能只是跳跃的一点点,但带有PyGame的Python将允许你的学生制作许多相同类型的程序,因为他或她已经习惯了Scratch,但非常严格控制整个事情的运作方式。

  • 优点: 这是一种非常容易阅读和编写的python语言,它提供了非常丰富的编程环境,而且不需要任何样板文件。
  • 缺点: 其SDL,它使用您自己编写的事件循环。对于年轻的程序员来说,这可能是一个相当大的障碍。

答案 5 :(得分:4)

Scratch是用Squeak(在Linux,Windows和Mac上运行)编写的,所以我会说准备加入Smalltalk!唯一的问题是缺乏一本关于语言的非常好的初学者书,当你考虑它的起源时这很奇怪。但是,基本概念很容易学习(几乎没有语法),环境鼓励实验。

答案 6 :(得分:2)

这是一个有趣的微软项目,名为Small Basic,是一个优秀,简单,免费的学习编程环境,基于BASIC。

由于缺乏ubuntu而没有奖励积分,但这是一个很酷的学习工具。

答案 7 :(得分:1)

仍然是QuickBasic?这就是我7-8时的开始,我能够制作完整的游戏等,而不需要任何外部库。

编辑:看看这个关于FreeBasic的链接:

http://linux.about.com/b/2006/11/10/freebasic-open-source-alternative-to-quickbasic.htm

答案 8 :(得分:1)

嗯,有一个古老的徽标 - 不确定结构,但你得到列表,带参数的功能和图形是非常简单的。还有很多很好的实现。徽标甚至被比作'没有括号的'口齿不清'。

答案 9 :(得分:1)

我建议使用CodingBat。尽管CodingBat不提供图形,但它确实提供了“编程功能”以及涉及字符串,数组和逻辑的简单实践。 我认为这个网站有助于开发编程背后的基础。

链接:http://codingbat.com/