CS61A-Spring2022

Optional Contest: Scheme Art

输出是艺术。

但它的源代码呢?

它同样是抽象的。

说明

这个比赛是完全可以选择的!

参赛作品的截止时间是 4 月 27 日(星期三)晚上 11:59

以下是参加比赛的步骤:

  1. 下载 scheme_contest.zip
  2. 这个链接 下载 abstract_turtle.zip 文件。然后,将该文件解压到你的 scheme_contest 目录中。解压后的文件夹应该包含 canvas.pycolor_names.py 等文件。另外,如果你喜欢用 pip 命令来安装,你可以运行 pip3 install abstract-turtle ,而不是下载这个 zip 文件。
  3. 完成 contest.scm 文件(你可以用 python3 scheme contest.scm --pillow-turtle --turtle-save-path output 输出来渲染你的绘图)。关于绘图程序的描述,请参见 Scheme 内置参考资料中的图形
    • 如果这个命令不起作用,可以尝试运行 python3 scheme contest.scm --turtle-save-path output 来代替。主要的区别是这个命令使用的是 tkinter 库,而前一个命令使用的是 pillow 库。两者应该产生相同的输出。
  4. 上传由前一个命令创建的 output.png

contest.scm 中, draw 程序应该绘制你的作品,然后在点击时退出。

所有参赛作品,包括它们的源代码,都将分发给你的同学进行投票。 请不要在你提交的作品中包含个人信息。

在这次比赛中,你可以和另外一个伙伴一起工作。你应该在 Ok 上添加你的伙伴,并进行一次提交。

重要提示: 当你准备提交时, 请遵循以下两个步骤

故障排除: 当你试图渲染你的作品时,你是否遇到了错误 name 'builtins' is not defined ?如果是,请在 scheme_builtins.py 的顶部添加以下一行: import builtins 。当你试图渲染你的图片时,你可能还会被要求安装一些依赖项,如果你这样做了,它应该能正确地创建你的可视化。如果你没有看到这个错误(通常是对部分 Windows 用户弹出),你不需要添加额外的导入。

比赛描述

使用海龟图形创建一个你选择的迭代或递归过程的可视化。你的实现必须完全用 Scheme 编写,并使用你所建立的解释器。所有的计算都必须在 Scheme 中完成。

我们将有两类参赛作品:

任何一个 token 都不得包含超过 50 个字符。 如果您的作品需要比重量级类别所允许的更多代价,请联系课程工作人员,以获得提交更长作品的特别许可。 较长的作品,如果得到批准,将在画廊中展示,但没有资格在艺术竞赛中获得额外分数。

额外分数将按以下方式授予:

你可以通过运行以下命令来检查名为 contest.scm 的 Scheme 文件中的代价数量:

python3 scheme_tokens.py contest.scm

参赛作品(代码和图片)将被张贴在网上,获奖者将由大众投票选出。投票结束后,每个类别的前三名作品将在 Piazza 上公布。

为了提高你的成功机会,我们欢迎你在作品的评论中加入标题和描述性的 俳句 ,这将包括在投票中。

比赛规则

在提交之前,请确保你的作品遵守这些准则:

我们保留取消任何不遵守这些准则的作品的资格的权利。

过去的参赛作品

为了获得灵感,你可以浏览一下这些过去的参赛作品的画廊。请注意,某些作品可能不符合当前的准则。