背景
#14 で じぶんのブロック(=再帰)が入った。いまの みほん 3 つ(しかくをぬる / ほしをかく / うずまきをかく)は はこ も もし も じぶんのブロック も使っていないので、この機能に触れる入口が「自分で組み立てる」しかない。
再帰は言葉で説明しても伝わらないぶん、動くものが 1 つ置いてあることの効きが大きい。#14 の実装中も、仕様の妥当性(パラメータなし・グローバルなはこ 1 個で足りるか)を判断できたのは木が描けたからだった。
提案するプログラム(#14 の検証でそのまま使ったもの)
はこにいれる 🌟 70
ペンのいろ みどり
ペンのふとさ 2
ブロックをよぶ き
ブロックをつくる き
もし 🌟 > 6 なら
まえへ 🌟
はこにかける 🌟 0.6
みぎへまわる 28
ブロックをよぶ き
ひだりへまわる 56
ブロックをよぶ き
みぎへまわる 28
はこをわる 🌟 0.6
うしろへ 🌟
155 コマンド / 枝 31 本 — ステップ上限 10,000 に対して十分小さい
ネストの深さ 約 11 — BlockExpander.defaultNestingLimit(30)に対して余裕がある
はこは ×0.6 … ÷0.6 で呼び出しを挟んで元に戻るので、グローバルなはこ 1 個で成立する 。第一弾がパラメータなしでよかったことの実例にもなる
やること
決めたいこと
**空状態のボタンが 3 → 4 に増える。**縦積みのままでよいか(ContentUnavailableView の actions:)
起動画面に出すか。 起動画面に「みほん」からはじめる導線を足す #35 は closed だが、LaunchScene は現状「あたらしく つくる」1 つだけで、みほんの導線は WorkspaceView の空状態にしかない。みほんを起動画面に出す話を蒸し返すなら、この木がいちばん「絵で分かる」候補
**ブロックの名前を「き」にするか。**ひらがな 1 文字で、生成コードでも識別子として合法。プリセット絵文字(🌸🌈🎈)を使う手もあるが、見本としては意味のある名前のほうが「名前をつける」という概念が伝わる
ペンのいろ(みどり)とふとさ(2)を見本に含めるか。無くても描けるが、木が緑だと一目で何か分かる
注意
このみほんを差し込んだドキュメントは requiredSchemaVersion が 3 になる(保存すると v3 未満のアプリでは開けない)。既存 3 つは 1 または 2 のままなので、みほん経由で初めて v3 のファイルが配られる ことになる。
関連
背景
#14 で じぶんのブロック(=再帰)が入った。いまの みほん 3 つ(しかくをぬる / ほしをかく / うずまきをかく)は はこ も もし も じぶんのブロック も使っていないので、この機能に触れる入口が「自分で組み立てる」しかない。
再帰は言葉で説明しても伝わらないぶん、動くものが 1 つ置いてあることの効きが大きい。#14 の実装中も、仕様の妥当性(パラメータなし・グローバルなはこ 1 個で足りるか)を判断できたのは木が描けたからだった。
提案するプログラム(#14 の検証でそのまま使ったもの)
BlockExpander.defaultNestingLimit(30)に対して余裕がある×0.6 … ÷0.6で呼び出しを挟んで元に戻るので、グローバルなはこ 1 個で成立する。第一弾がパラメータなしでよかったことの実例にもなるやること
SampleBlocks.fractalTree()SampleBlocksTestsに決定的な期待値(既存 3 つと同じ形式)WorkspaceViewの空状態に 4 つ目のボタンLocalizable.xcstrings(en 原文 + ja)決めたいこと
ContentUnavailableViewのactions:)LaunchSceneは現状「あたらしく つくる」1 つだけで、みほんの導線はWorkspaceViewの空状態にしかない。みほんを起動画面に出す話を蒸し返すなら、この木がいちばん「絵で分かる」候補注意
このみほんを差し込んだドキュメントは
requiredSchemaVersionが 3 になる(保存すると v3 未満のアプリでは開けない)。既存 3 つは 1 または 2 のままなので、みほん経由で初めて v3 のファイルが配られることになる。関連