You are on page 1of 160

本文中の製品名は、一般に各社の登録商標、商標、

または商品名です 。

c 2008 Etext Laboratory Japan Limited


i

本書
本 、「 」 言語 用 、IT 本質 分
学 解説 。 、初心者 学 設計 教育用言
語 。 言語 考 出 当初 50 年以上 歴史 持 、
Smalltalk, Lisp, Logo 優 言語 特徴 引 継 、2000 年 筑波大学 久野靖教授 筆者
設計 。教育用 、現在主流 指向 考 方 基礎
特徴 。
特徴 手早 知 方 、Activity 5 宝物拾 、1 行 入力
実行 。 版 使 、 試 。
、1 行 動作 確認 作 、 大 特徴 。
本書 、 作成可能 「 ( )」「 」「音楽演奏」「
通信」「 制御」 5 種類 解説 。興味 応 、必要 章 参照

• Part I「 使 」 、共通 。必 最初 読 。
• Part II「絵 描 」 、 絵 描 作品 作 。
• Part III「 作 」 、「絵 描 」 応用 、 作品 作 。
• Part IV「音楽 演奏 」 、 音楽 演奏 。
• Part V「 通信 」 、複数 通信 作 。
• Part VI「 動 」 、 転送 制御 作 。

付録 、言語 解説 命令 一覧 掲載 。必要 応 参照 。

• 付録 A「授業 利用」 、小学校 大学 授業例 紹介 。


• 付録 B「 書 」 、 書 基本的 考 方 解説

• 付録 C「 言語 基礎知識」 付録 D「標準 」 、 文法 、多
共通 使 標準 解説 。
• 付録 E「 命令一覧」 、 使 命令 解説

詳 情報 、Web 覧 。授業等 連絡 筆者 願 。

• Web : http://dolittle.eplang.jp
• 筆者(兼宗) 連絡先: kanemune@acm.org
ii

本書 作成 、多 方々 協力 。
共著者 筑波大学 久野靖先生 、 設計当初 一貫 、本書 付
録 B「 書 」 付録 C「 言語 基礎知識」 執筆 担当 。
設計時 、筑波大学 中谷多哉子先生、NEC 福井眞吾氏、明海大学 御手洗理英先生、東京
大学 竹内郁雄先生 助言 。
制御機能 、静岡大学 紅林秀治先生、 井上修次氏、高麗大学
青木浩幸氏、愛知教育大学 鎌田敏之先生 協力 。音楽機能 、東京農工大学 辰
己丈夫先生、 飛行机 酒徳峰章氏、 研究所 山澤昭彦氏 協力 。言語
検討 関 、東京農工大学 並木美太郎先生 協力 。
授業実践 、千葉市立千城台東小学校 佐藤和浩先生、松阪市立飯南中学校 井戸坂幸男
先生、静岡大学附属島田中学校 西 谷浩史先生、鳥取県立鳥取工業高校 足利裕人先生、神奈川県立松陽高校
保福 先生、大阪府立桃谷高校 野部緑先生、東京都立町田高校 小原格先生、長野高専 堀内泰輔先
生、神奈川障害者職業能力開発校 間辺広樹先生、国士舘大学 正田良先生、金城学院大学 長谷川元洋先生、
千里金蘭大学 中野由章先生、大阪学院大学 西田知博先生、静岡大学 宮崎佳典先生、京都 大学
院大学 江見圭司研究室 (中村州男 、高橋修司 、村上智史 ) 多
方々 協力 、改良 。
韓国語 多言語機能 、高麗大学 李元揆研究室 (Yeum YongCheul
先生 Yoo SeungWook 先生 )、長野大学 和田勉先生、一橋大学 長慎也先生 方々 協力

教育利用 情報教育全般 、情報処理学会 教育研究会(CE
研)
、情報処理学会情報処理教育委員会/初等中等教育委員会(SIGPS)
、教育 研究会(旧教育
研究会)
、 ・情報教育研究会(PUKAI)
、教育 情報学会関西支部若手研究者
卵RUN 、旧 NIFTY-SERVE FCAI (岡田俊一先生 )、一橋大学情報教育研究
会、Constructionism(旧 EuroLogo)、ISSEP、 教育研究 (dolittle-edu)
、「 使 情報教育 」 原著者 大
学 Tim Bell 博士 方々 多 示唆 。
本 TEX 組版 、三重大学 奥村晴彦先生 全面的 協力 。
研究所 原久太郎氏 、出版 関 多大 尽力 。高麗大学 李元揆先生 、多
励 示唆 。
、 活動 支 、多 仲間、友人、家族 心 感謝

2008 年 8 月

兼宗 進
iii

本書 執筆時 、次 環境 動作 確認 。 Java 動作 、 以外
JRE(Java Runtime Environment) 動 環境 実行 可能 。

• OS:Windows(XP、Vista)、Mac OS X(10.4、10.5)
• Java:1.4、1.5、1.6

、Web 版 動 方法 、 版 動
2 種類 方法 実行 。 特徴 、理解 使用 必要 。表 1
版 2 種類 版 特徴 示 。

表1 配布
機能 版 版
(Java 付 ) (Java )
○不要 △必要(※1) △必要(※2)
保存 △不可(※3) ○可能 ○可能
/音楽 ○可能 ○可能 ○可能
通信 ×不可 ○可能 ○可能
制御 ×不可 ○可能 △可能
(※1) Java 付 30MB。 80MB 空 必要
(※2) Java 2MB。 5MB 空 必要
(※3) & 保存可能

版 、 入 必要 、手軽 使
。試 動 場合 、 難 場合 便
利 。一方、 保存 制限 、作成 他
& 保存 必要 。 、「 通信機能(Part V)」 「 外部機
器制御機能(Part VI)」 対応 。 音楽 機能 、 完全 使 。
版 、 必要 、 保存
通信、 制御 制限 。 版 、Java 付 Java

iv

版 Web 動
版 表示

Internet Explorer、Safari、Firefox、Opera Web


、 Web (http://dolittle.
eplang.jp) 、
「オンライン版」
。 、右 図 画面 表示

画面 上部 、
「実行」
「編集」
切 替 。 編集画面 入力 。
画面下 「実行!」 書 実行 押
実行 行 、実行画面 結果 表示 。

保存

版 保存 。 電源 切 Web
終了 、作成 失 注意 必要 。残
、忘 & ( /貼 付 ) 方法 ( )
( ) 移 保存 必要 。
& 行 場合 、Windows 範囲 選択 、Ctrl-A*1 全体 選択 、
Ctrl-C 。続 、 帳 画面 Ctrl-V 、手軽
作成中 。
Macintosh 場合 、 範囲 選択 、 領域 上 押
上 移動 、 離 。
& 操作 、手軽 作成中 。
次回 実行 改良 、 他 読 込
、 & & 方法 貼 付 使 。

*1 Ctrl 押 A 押 。Ctrl-C, Ctrl-V 同様。Macintosh 場合 Ctrl 代 使 。


v

版 動
Windows 手順

• (http://dolittle.eplang.jp) 最新 Windows 版(Java 付 Java )



• 展開 。zip 展開 、 公開 各
種 使 。
• 作成 「C:¥Program Files」 移 。
• 中 起動 (dolittle.bat) 起動 。

Macintosh 手順

• (http://dolittle.eplang.jp) 最新 Macintosh 版 。
• 、開 「アプリケーショ
ン」 。
• 中 dolittle.jar Dock 登録 、 起動 。

実行
画面 表示 、次 可能性 考 。

• 版 表示 、URL(http://dolittle.eplang.jp) 入力 正
可能性 。
• 版 Web 「 版」 画面
表示 、 版 画面 開 、使 Java
可能性 。Sun (http://www.java.com/ja/) 、最新 Java

vi

目次

Part I 使 1

Activity 1 2
1.1 作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 名前 付 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 命令 順 実行 (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 命令 順 実行 (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 繰 返 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7 命令 定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
● . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Part II 絵 描 9

Activity 2 描 絵 色 塗 10
2.1 図形 生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 図形 複製 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Activity 3 作 13
3.1 作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 動作 定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5 描 線 図形 作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 図形 描 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 図形 色 塗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Activity 4 17
4.1 今 学 繰 返 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 複数 動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 終了 待 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Part III 作 21

Activity 5 宝物拾 22
vii

5.1 作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 操作 ( 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.3 前進 ( 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.4 宝物 画面 置 ( 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.5 宝物 拾 ( 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Activity 6 25
6.1 作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2 壁 作 ( 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.3 動 ( 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.4 動 ( 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.5 勝敗 判定 ( 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Activity 7 29
7.1 作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.2 主役 作 ( 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.3 弾 発射 ( 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.4 敵 作 ( 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.5 敵 移動( 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.6 衝突 定義( 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.7 終了判定( 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Part IV 音楽 演奏 35

Activity 8 音楽 演奏 36
8.1 演奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.2 記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.3 楽器 指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.4 音楽 構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.5 合奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.6 楽器 変 演奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.7 楽譜 入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Activity 9 音楽 楽 44
9.1 琉球音階 自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.2 音階 自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.3 利用 自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.4 組 合 自動作曲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Part V 通信 49

Activity 10 通信 50
10.1 起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.2 IP 確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
viii

10.3 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.4 書 込 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.5 読 出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Activity 11 作 52
11.1 送信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.2 受信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3 発言 名前 入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.4 受信 自動化(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.5 受信 自動化(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Activity 12 音楽 交換 56
12.1 音楽 演奏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
12.2 音楽 送信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
12.3 音楽 受信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
12.4 長 曲 交換( ). . . . . . . . . . . . . . . . . . . . . . . . . . 58

Activity 13 作 60
13.1 壁 作 ( 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
13.2 動 ( 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.3 動 定義 ( 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.4 通信 準備 ( 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.5 通信 動 ( 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
13.6 勝敗 判定 ( 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
13.7 実行 ( 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Part VI 動 67

Activity 14 使用 教材 68
14.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
14.2 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
14.3 通信 確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
14.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
14.5 対話的 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Activity 15 動 71
15.1 記述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
15.2 実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
15.3 性質 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
15.4 繰 返 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Activity 16 迷路 抜 74
16.1 想定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
16.2 移動距離 迷路 抜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
ix

16.3 入力 検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
16.4 定義命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Activity 17 運 78
17.1 想定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.2 拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
17.3 運 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17.4 命令 定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17.5 化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Part VII 付録 81

付録 A 授業 利用 82
A.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
A.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
A.3 制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

付録 B 書 85
B.1 何 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
B.2 作 方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

付録 C 言語 基礎知識 88
C.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
C.2 、 、変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
C.3 送信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
C.4 中置記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
C.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
C.6 制御構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
C.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
C.8 配列 複数 利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
C.9 親子関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
C.10 変数 束縛 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
C.11 字句 約束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

付録 D 標準 107
D.1 数値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
D.2 文字列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
D.3 真偽値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
D.4 色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
D.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
D.6 図形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
D.7 GUI 部品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
D.8 保存 読 出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
D.9 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
x

付録 E 命令一覧 115
E.1 基本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
E.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
E.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
E.4 関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
E.5 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
E.6 一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
E.7 音楽 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

索引 145
Part I

使
2

Activity 1

作 。 編集画面 入力 、「実
行!」 書 実行 押 実行 。

1.1 作
、最初 作 、 命令 伝 形
動作 。 何種類 用意 、
使 、 扱 。
標準 姿 、歩 軌跡 線 残 。
、画面上 動 絵 描 。
作 、 名前 作
命令 送 。文 最後 「。」 書 。

タートル!作る。

実行 、画面 表示 。
複製 形 新 生成 。 、
呼 形 用意
。 画面上 表示 、生成
親 役割 重要 。
例 、 「タートル」 「作る」 送
新 生成 。
1.2 名前 付 3

1.2 名前 付
、 指定 命令 送 。先 作
、生成 名前 付 、画面 表
示 命令 送 。
名前 付 、

名前 = オブジェクト。

、= 左辺 名前 書 、右辺 指定 。

カメ太=タートル!作る。

実行 、先 例 同 画面 表示 。
見 変 、 「カメ太」 名前
付 。
名前 変数 呼 。名前 英字 数字 、仮名 漢字
日本語文字 使 。 、空白 記号 文字 含
。 、 使 名前 使
注意 必要 。

1.3 命令
、 命令 送 実行 。命令
送 ! 指定 、 右側 送 命令 書 。 、

カメ太!100 歩く。


「カメ太」 対 「100  歩く」 命令 送 。 「歩く」
命令 。「100」 命令 送 値 、 呼
。 命令 間 空白 区切 必要 。
理解 命令 種類 決 。
種類 命令 付録 E 。表 1.1 理解
命令 一部 。命令 呼 。自分 命令 追加
。 方法 、後 章 扱 。

表 1.1 命令(一部)

命令 用途 使用例
作 作 太= ! 作 。
歩 前進 太! 100  歩 。
右回 右 回 太! 90  右回 。
左回 左 回 太! 90  左回 。
4 Activity 1

1.4 命令 順 実行 (1)
上 順 実行 。 、複数 命令 順 実行
、上 1行 書 。実際 書 。
、1 行書 実行 。画面 表示 。

カメ太=タートル!作る。

1 行追加 実行 。画面 前 歩 。

カメ太=タートル!作る。
カメ太!100 歩く。

1 行追加 実行 。 歩 後 左 向 。

カメ太=タートル!作る。
カメ太!100 歩く。
カメ太!90 左回り。

1 行追加 実行 。 歩 左 向 歩 。

カメ太=タートル!作る。
カメ太!100 歩く。
カメ太!90 左回り。
カメ太!100 歩く。

1.5 命令 順 実行 (2)
命令 実行 、結果 返 。 、

カメ太=タートル!作る。


「タートル!作る」 命令 実行 結果、新
返 。
文 、生成 新 「カメ太」 名前 付
。 、新 生成 数式 計算 場合
、返 結果 値 名前 付 画面 表示 活用

一方、 動 命令 、元 返
多 。 、

カメ太!100 歩く 90 右回り。

命令 並 書 、 続 複数 命令
送 、実行 。 、命令 実行 結果
続 命令 送 。 、
「90  右回り」 、
「カメ
太! 100  歩く」 返 送 。
1.6 繰 返 5

タートル!作る 100 歩く。


「タートル!作る」 返 対 「100  歩く」 送
。 、新 作 100 歩歩 。
次 、1 行 1 命令 書 。内容 割
行数 長 無駄 多 。

カメ太=タートル!作る。
カメ太!100 歩く。
カメ太!90 左回り。
カメ太!100 歩く。
カメ太!90 左回り。
カメ太!100 歩く。
カメ太!90 左回り。
カメ太!100 歩く。
カメ太!90 左回り。

次 、 続 書 。全体 2行
短 、横 長 、分 。

カメ太=タートル!作る。
カメ太!100 歩く 90 左回り 100 歩く 90 左回り 100 歩く 90
 左回り 100 歩く 90 左回り。

次 、動作 書 。
、 動作 1行 書 分 。

カメ太=タートル!作る。
カメ太!100 歩く 90 左回り。
カメ太!100 歩く 90 左回り。
カメ太!100 歩く 90 左回り。
カメ太!100 歩く 90 左回り。

1.6 繰 返
命令 高速 実行 、大量 命令 実行 繰 返
疲 飽 。 、 処理 何度 繰 返
使 。先 、同 記述 何度 出

、 一部 「「...」」 囲 、
扱 。 、

「カメ太!100 歩く 90 左回り」

。 中 複数 文 書
。最後 文 、末尾 「。」 省略 。
6 Activity 1

対 自分自身 何度 実行 繰 返 実現 。一定
回数 繰 返 「「...」! 3 回 繰り返す。」 記述 。 、数
字 続 数字以外 文字 無視 、「3 回」 「3」 同 意味 。
次 、繰 返 使 例 。

カメ太=タートル!作る。
「カメ太!100 歩く 90 左回り」!4 繰り返す。

例 、繰 返 使 、四角 描 4行 1行
。 、同 処理 何度 書 、繰
返 使 、 簡潔 。
繰 返 結果 、最後 実行 文 値 返 。 、次
記述 可能 。 実行 、三角形 描 後 、
太 200 歩歩 。

カメ太=タートル!作る。
「カメ太!100 歩く 120 左回り」!3回 繰り返す 200 歩く。

1.7 命令 定義
、最初 「歩く」、
「右回り」 命令 使
、 新 命令( ) 追加 使 。
次 正方形 描 。 読 「100 歩歩
90 度左 回 動作 4 回繰 返 正方形 描 」 分 、慣
分 。

カメ太=タートル!作る。
「カメ太!100 歩く 90 左回り」!4 繰り返す。

「正方形」 命令 太 理解 定義 。
新 命令 追加 、追加 命令 「「...」」 囲
定義 *1 。次 、 太 正方形 名前 命令 定義
。定義 命令 、普通 命令 同様 使 。

カメ太=タートル!作る。
カメ太:正方形=「「カメ太!100 歩く 90 左回り」!4 繰り返す」。
カメ太!正方形。

作 命令 、 中 何度 使 。次
、正方形 3 回描 。命令 定義 使 、 見
「 正方形 描 」 一目瞭然 、
短 書 。

*1 詳 付録 C 説明 参照。
1.7 命令 定義 7

カメ太=タートル!作る。
カメ太:正方形=「
「カメ太!100 歩く 90 左回り」!4 繰り返す」。

カメ太!正方形。
カメ太!120 左回り。
カメ太!正方形。
カメ太!120 左回り。
カメ太!正方形。

追加 命令 、
「100 歩く」 同 渡 。
受 取 、変数 先頭 「|...|」 記号
間 記述 。複数 受 取 空白 区切 。次
、 辺 長 受 取 、1 辺 長 正方形 描

カメ太=タートル!作る。
カメ太:正方形=「|x|「カメ太!(x)歩く 90 左回り」!4 繰り返す」

カメ太!100 正方形。
カメ太!120 左回り。
カメ太!150 正方形。
カメ太!120 左回り。
カメ太!200 正方形。
実行時 、 実行中 起
● 。文法的 正 「命令
正 」「 解釈 命令
直 呼 。 送 」 原因 、実行中
文法 、文法 正 部分 。実行時 、 起 命令名
、 解釈 名 表示 。 手
。実行 押 、実行 行 前 、 箇所 探 必要 。
表示 。 、 作 命令 送
気 大 位置 示 、 名前 間違 場合 、正
。 命令 送 実行時
次 例 、
「作る」 前 「!」 書 忘 発生 。次 例 、
「カメ太」 作 「歩
検出 。 け」 命令 送 場合 。

カメ太=タートル 作る。 カメ太! 100  歩く。

文法 表示 場合 、表示 場所 理解 命令 送 場合
近 確認 。 行 、編集画面 左 、実行時 発生 。次 例 、
「歩く」
表示 。 、編集画面 上部 「歩け」 書 間違 、
位置 [行:列] 形 表示 。 太 命令 理解 。
学 際 最 多 カメ太=タートル!作る。
、命令 前 空白 入 忘 、文末 カメ太! 100  歩け。
「。」 入 忘 。次 例 、命令
前 空白 入 忘 、
「100 歩く」 部分

カメ太! 100 歩く。

同様 、色 括弧 囲
指定 場合 、図形 用 「塗る」
送 場合 発生 。
、 複数 名前 参照
次 例 、1 行目 末尾 「。」 書 忘 場合 、 複数 名前 表示
。「。」 書 忘 場合 、次 文 。次 画面 、
、 矛盾 発見 場所 名前 含 複数 言語
表示 。 、必 「。」 表示 。
場所 注意 必要 。

カメ太=タートル!作る
カメ太! 100  歩く。

書 方 「
書 」
(付録 B) 参照 。
Part II

絵 描
10

Activity 2

描 絵 色 塗

Activity 1 、 動 、画面 図形 描 、図
形 描 命令 定義 。 Activity 、描 図形
操作 方法 扱 。

2.1 図形 生成
移動 描 線 、 一部 。 延
状態 分 。

カメ太=タートル!作る。
「カメ太!100 歩く 90 左回り」!4 繰り返す。

図形 作 命令 使 、 切 離 、新 図形
作 。自分 描 絵 、
動 活用 。
次 例 、描 図形 、「四角」 名前 付 。

カメ太=タートル!作る。
「カメ太!100 歩く 90 左回り」!4 繰り返す。
四角=カメ太!図形を作る。

「図形を作る」 色 指定 、 色 塗 図形
作 。次 例 青 塗 図形 作 後、位置 画面上 特定 座標
( (100,100)) 移動 。色 2.3 節 説明 。数式
変数 括弧(. . . ) 囲 記述 。

カメ太=タートル!作る。
「カメ太!100 歩く 90 左回り」!4 繰り返す。
四角=カメ太!(青)図形を作る。
四角!100 100 位置。

画面上 位置 xy 座標 指定 。原点 画面 中央 、右
x 軸、上 y軸 伸 。数学 扱 座標 同様 。 y軸
図形 、図形 描 始 点 図形 座標 。
画像 中心 、Activity 3 扱 GUI 部品 左上 x軸
(0,0)
座標 。
表 2.1 図形 命令 一部 。
2.2 図形 複製 11

表 2.1 図形 命令(一部)

命令 用途 使用例
右回 右 回 四角! 30  右回り。
左回 左 回 四角! 30  左回り。
移動 移動 四角! 100   0  移動する。
位置 特定 位置 動 四角! 100   100  位置。
作 複製 四角 2 =四角!作る。
塗 色 塗 四角!(青)塗る。

2.2 図形 複製
複製 使 。 複製 、
同 作 。
複製 作 命令 作 。通常 「カメ太=タートル!作
る」 、新 作 使 、
「カメ太!作る」
、画面上 太 複製 、 作

カメ太=タートル!作る。
カメ吉=カメ太!作る。

画面 表示 、複製
元 同 位置 作 、 重 合
、見 目 複製 分 。
、 片方 動 。次 、新 作
吉 100 歩動 。

カメ太=タートル!作る。
カメ吉=カメ太!作る 100 歩く。

図形 同様 複製 。自分 好 形 描 、複製 画面 上 増
。次 、三角形 複製 横 並 。

カメ太=タートル!作る。
三角=「カメ太!100 歩く 120 左回り」!3 繰り返す 図形を作る。
三角!作る 100 0 移動する。
12 Activity 2 描 絵 色 塗

2.3 色
図形 塗 色 。基本的 色 、8 色(黒、赤、
緑、青、紫、水色、黄色、白) 色 用意 。
次 、三角形 図形 「緑」 塗 。

カメ太=タートル!作る。
「カメ太!100 歩く 120 右回り」!3 繰り返す。
三角=カメ太!(緑)図形を作る。

用意 色 、 明 状態 。必要 応 暗
暗 使 。暗 色 明 明
。次 、
「暗くする」 「濃い緑」 作 、色 塗 。

カメ太=タートル!作る。
「カメ太!100 歩く 120 右回り」!3 繰り返す。
濃い緑=緑!暗くする。
三角=カメ太!(濃い緑)図形を作る。

色 混 合 新 色 作 。次 、「光」
使 、
「緑」 「黄色」 混 「きみどり」 新 色 作
*1 。

カメ太=タートル!作る。
「カメ太!100 歩く 120 右回り」!3 繰り返す。
きみどり=光!(緑) (黄色)混ぜる。
三角=カメ太!(きみどり)図形を作る。

黄色 近 色 、次 、同 色 2 回以上加 、

きみどり=光!(緑)(黄色)(黄色)混ぜる。

次 、3 個以上 色 加 。

きみどり=光!(緑)(黄色)(青)混ぜる。

特殊 色 作 場合 、
「赤」
、「緑」
、「青」 三原色 数値 指定 新
色 作 。色 強 0∼255 表現 。0 光
暗 状態、255 明 状態 *2 。

カメ太=タートル!作る。
「カメ太!100 歩く 120 右回り」!3 繰り返す。
茶色=色!166 42 42 作る。
三角=カメ太!(茶色)図形を作る。

*1 色 光 混 合 、明 白 近付 。 混 合
加法混色 。絵具 混 合 黒 近付 。 混 合 減法混色
。詳 付録 E 参照。
*2 色 強 16 進数 指定 。詳 付録 E 参照。
13

Activity 3

Activity 、 動 、描 図形
動 。 Activity 、 学
使 、 画面 絵 描 作 。

3.1 作成
次 図 製作例 。画面 表示 、左側
並 。 押 、次 操作 行 。

• 操作。 例 、
「あるく」、
「もどる」、
「左回転」、
「右回転」、
「線あり」、「線なし」 用意 。
• 描 線 図形 作 。 例 「図形を作る」 用意 。
• 図形 描画。 例 、「星」、「四角」、「三角」、「六角」 用意

• 色。 例 、基本的 8 色 用意 。 文字 、
自体 色 塗 。

、少 作 。
14 Activity 3 作

3.2 生成
今 作 、 実行 押 実行 、
動 黙 見 。 、 高速 動
、描 途中 見 、一瞬 結果 状態 表示

画面 動 多 、
GUI 部品( 画面 置 対話的 使 部品)
使 便利 。 、 使 、
動 制御 方法 学 。
同様 、画面 生成
。 表示 文字 、作 与 。次
、「カメ太」 、「前進ボタン」
画面 作 。

カメ太=タートル!作る。
前進ボタン=ボタン!"前進" 作る。

実行 、無事 画面 表示 。 、押 何 起
。 、押 何 動作 指示

3.3 動作 定義
動作 名前 命令( ) 定義 、
押 動作 定義 。次 、「前進ボタン」
「動作」 定義 。実行 、 押 太 100 歩
前進 。

カメ太=タートル!作る。
前進ボタン=ボタン!"前進" 作る。
前進ボタン:動作=「カメ太!100 歩く」。

以上 、 基本的 使 方 。表 3.1 、 命令 一部

表 3.1 命令(一部)

命令 用途 使用例
移動 移動 前進ボタン! 100   0  移動する。
位置 特定 位置 動 前進ボタン! 100   100  位置。
大 大 指定 前進ボタン! 150   100  大きさ。
塗 色 指定 前進ボタン!(緑)塗る。
文字色 文字 色 指定 前進ボタン!(青)文字色。
3.4 操作 15

3.4 操作
、 作 。最初 、主役 作
。 「カメ太」 名前 。次 、画面 左上 2
作 。「あるく」 押 、 太 前進 。「もどる」 押
、 太 後退 。先頭 行 、 。「//」 行 最後
人 読 扱 、 解釈 。

// タートルオブジェクトを操作する。
カメ太=タートル!作る。
歩くボタン=ボタン!"あるく" 作る -380 230 位置。
歩くボタン:動作=「カメ太!20 歩く」。
戻るボタン=ボタン!"もどる" 作る -230 230 位置。
戻るボタン:動作=「カメ太!20 戻る」。

続 、 回転 作 。「左回転」 押 、
太 左 回転 。「右回転」 押 、 太 右 回転 。

左回転ボタン=ボタン!"左回転" 作る -380 185 位置(水)塗る。
左回転ボタン:動作=「カメ太!30 左回り」。
右回転ボタン=ボタン!"右回転" 作る -230 185 位置(水)塗る。
右回転ボタン:動作=「カメ太!30 右回り」。

続 、 動 線 描 指定 作 。
「線あり」 押 、 太 動 線 描 。「線な
し」 押 、 太 動 線 描 。

線ありボタン=ボタン!"線あり" 作る -380 140 位置。
線ありボタン:動作=「カメ太!ペンあり」 。
線なしボタン=ボタン!"線なし" 作る -230 140 位置。
線なしボタン:動作=「カメ太!ペンなし」。

3.5 描 線 図形 作
続 、 描 線 図形 作 。「図形
を作る」 押 、 太 描 線 図形 、色 塗
。作 図形 、
「:直前の図形」
名前 付 。 前 「 :」 「:」 付 、
、 見
。詳 付録 D 参照 。

// 描いた線を図形オブジェクトにする
図形ボタン=ボタン!"図形を作る" 作る 300 45 大きさ -380 95 
位置(黄)塗る。
図形ボタン:動作=「:直前の図形=カメ太!図形を作る」。
16 Activity 3 作

3.6 図形 描
続 、図形 描 作 。「星」 押 、
太 星 描 、図形 。同様 、
「四角」
、「三角」

「六角」 用意 、三角形、四角形、六角形 図形
作 。 作 図形

「:直前の図形」 形
入 、他 見 。

// 図形を描き図形オブジェクトにする
星ボタン=ボタン!"星" 作る -380 50 位置(水)塗る。
星ボタン:動作=「:直前の図形=「カメ太!100 歩く 144 右回り」!5 繰り返す 図形を作る」。
四角ボタン=ボタン!"四角" 作る -230 50 位置(水)塗る。
四角ボタン:動作=「:直前の図形=「カメ太!100 歩く 90 左回り」!4 繰り返す 図形を作る」。
三角ボタン=ボタン!"三角" 作る -380 5 位置(水)塗る。
三角ボタン:動作=「:直前の図形=「カメ太!100 歩く 120 左回り」!3 繰り返す 図形を作る」。
六角ボタン=ボタン!"六角" 作る -230 5 位置(水)塗る。
六角ボタン:動作=「:直前の図形=「カメ太!100 歩く 60 左回り」!6 繰り返す 図形を作る」。

3.7 図形 色 塗
続 、図形 色 塗 作 。 「青、黄色、紫、
白、緑、赤、黒、水色」 8 色分 作 、4 個 2列 並
。 色 押 、「直前の図形」
色 塗 。 、直前 描 図形
色 塗 。線 描 、
押 前 「図形を作る」 図形 必要 。

// 図形オブジェクトに色を塗る
青ボタン=ボタン!作る -380 -40 位置 75 45 大きさ(青)塗る。
青ボタン:動作=「:直前の図形!(青)塗る」。
黄ボタン=ボタン!作る -305 -40 位置 75 45 大きさ(黄)塗る。
黄ボタン:動作=「:直前の図形!(黄)塗る」。
紫ボタン=ボタン!作る -230 -40 位置 75 45 大きさ(紫)塗る。
紫ボタン:動作=「:直前の図形!(紫)塗る」。
白ボタン=ボタン!作る -155 -40 位置 75 45 大きさ(白)塗る。
白ボタン:動作=「:直前の図形!(白)塗る」。
緑ボタン=ボタン!作る -380 -85 位置 75 45 大きさ(緑)塗る。
緑ボタン:動作=「:直前の図形!(緑)塗る」。
赤ボタン=ボタン!作る -305 -85 位置 75 45 大きさ(赤)塗る。
赤ボタン:動作=「:直前の図形!(赤)塗る」。
黒ボタン=ボタン!作る -230 -85 位置 75 45 大きさ(黒)塗る。
黒ボタン:動作=「:直前の図形!(黒)塗る」。
水ボタン=ボタン!作る -155 -85 位置 75 45 大きさ(水)塗る。
水ボタン:動作=「:直前の図形!(水)塗る」。
17

Activity 4

4.1 今 学 繰 返
動作 繰 返 実行 得意 。Activity 1 、
繰 返 使 、 一部 複数回実行 学 。繰
返 、一瞬 実行 。次 、10 回繰
返 動作 見 、画面 10 回繰 返 後 結果 表示 。

カメ太=タートル!作る。
「カメ太!20 歩く」!10 繰り返す。

Activity 3 、 使 、特定 動作 手動 実行
学 。次 、画面 何度 押
、繰 返 実行 。

カメ太=タートル!作る。
前進ボタン=ボタン!"前進" 作る。
前進ボタン:動作=「カメ太!20 歩く」。

4.2
使 、一定間隔 繰 返 行 。
画面 表示 、他 命令 繰 返
伝 使 。
次 、時計 名前 作 、実行
内容 渡 実行 。 実行 、
太 一定 間隔 少 前進 。

カメ太=タートル!作る。
時計=タイマー!作る。
時計!「カメ太!20 歩く」実行。

作成 実行 1行 書 可能 。

カメ太=タートル!作る。
タイマー!作る「カメ太!20 歩く」実行。
18 Activity 4

、繰 返 間隔 回数 指定 。次
、「時計」 名前 間隔 回数 指定 *1 。

カメ太=タートル!作る。
時計=タイマー!作る。
時計!1秒 間隔 5回 回数。
時計!「カメ太!20 歩く」実行。

実際 、 生成 同時 間隔
回数 指定 多 。

カメ太=タートル!作る。
時計=タイマー!作る 1秒 間隔 5回 回数。
時計!「カメ太!20 歩く」実行。

回数 代 時間 指定 。次 、1 秒間隔
5 秒間 実行 行 。実行 回数 「5 秒間÷ 1 秒= 5 回」 。

カメ太=タートル!作る。
時計=タイマー!作る 1秒 間隔 5秒 時間。
時計!「カメ太!20 歩く」実行。

次 、 円 描 例 。

カメ太=タートル!作る。
時計=タイマー!作る 0.1秒 間隔 36秒 時間。
時計!「カメ太!1 歩く 1 右回り」実行。

次 、図形 回転 動 例 。

カメ太=タートル!作る。
四角=「カメ太!30 歩く 90 左回り」!4 繰り返す(赤)図形を作る。
時計=タイマー!作る。
時計!「四角!30 右回り 2 2 移動する」実行。

表 4.1 、 命令 一部 。

表 4.1 命令(一部)

命令 用途 使用例
間隔 実行間隔 指定 。単位 秒 時計! 0.5  間隔。
回数 実行回数 指定 時計! 10  回数。
時間 実行時間 指定 。単位 秒 時計! 5  時間。
実行 実行 時計!「カメ太! 10  歩く」実行。
待 終了 待 時計!待つ。

*1 標準 0.1 秒間隔 、100 回 繰 返 行 。「0.1 秒× 100 回= 10 秒」


、実行 要 時間 10 秒間 。 値 将来変更 可能性 、
中 間隔 回数 明示的 指定 望 。
4.3 複数 動 19

4.3 複数 動
中 、複数 文 書 。 実行 、実行
複数 文 書 、複数 動作 同時 行 。次

「カメ太」 「カメ吉」 2
中 同時 動 。

カメ太=タートル!作る。
カメ吉=タートル!作る。
時計=タイマー!作る 0.1秒 間隔 36秒 時間。
時計!「カメ太!1 歩く 1 右回り。カメ吉!1 歩く 1 左回り」実行。

同様 、違 種類 同時 動 可能 。次
、 ( 太) 図形 (四角) 同
時 動 。

カメ太=タートル!作る。
四角=「カメ太!30 歩く 90 左回り」!4 繰り返す(赤)図形を作る。
時計=タイマー!作る 0.1秒 間隔 36秒 時間。
時計!「カメ太!1 歩く 1 右回り。四角!1 左回り」実行。

4.4 終了 待
通常、 上 順 1行 実行 、直前 行 実行 終
待 次 行 実行 。一方、 繰 返 、他
並行 動作 。 、 通常「数秒間 数分間」
長 時間動作 続 、 終了 待 、他 動作 行
。 、 中 同時 複数
処理 並行 実行 仕組 呼 。
、 実行 終了 待 次 進
。 、 終了 待 得点 表示 考
。 、「 場 回転 、前進 」 考
。次 実行 、 実行 始 前
次 行 進 、結果 回転 前 歩 。

カメ太=タートル!作る。
時計=タイマー!作る。
時計!「カメ太!10 右回り」実行。
カメ太!100 歩く。

実行中 命令待 実行 、 終了 実行
停止 。 、他 実行 合 同
期 呼 。
次 実行 、 実行 終了 待 次
行 進 、 回転 歩 正 動作 行 。
20 Activity 4

カメ太=タートル!作る。
時計=タイマー!作る。
時計!「カメ太!10 右回り」実行。
時計!待つ。
カメ太!100 歩く。
Part III


22

Activity 5

宝物拾

Activity 、 移動
、 対話的 操作 、
繰 返 実行 学 。 Activity 、 学
使 、簡単 作 。

5.1 作成
作成 宝物拾 。 操作 、宝物
拾 集 。

画面 姿 表示 、上 2個
並 。 自動的 前進 。
乱数 、実行 画面 異 位置 表示 。
、 向 左右 変 2 操作 、 効率
動 拾 。

5.2 操作 ( 1)
、画面 作 。 「カメ太」 名前 。次 、
画面 上 2 作 。「左」 押 、 太 場 左
30 度回転 。「右」 押 、 太 場 右 30 度回転 。
作成時 、表示 後 表 文字列(
*1 ) 指定 、 操作 。 LEFT、
RIGHT 指定 、 押 同 動作 左右 矢印 行

*1 詳 付録 E 参照。
5.3 前進 ( 2) 23

// タートルを操作する(ステップ1)
カメ太=タートル!作る。
左ボタン=ボタン!"左" "LEFT" 作る。
左ボタン:動作=「カメ太!30 左回り」。
右ボタン=ボタン!"右" "RIGHT" 作る。
右ボタン:動作=「カメ太!30 右回り」。

5.3 前進 ( 2)
次 、 前進 。次 、
「時計」 名前
作 、 太 10 歩 前進 動作 200 回繰 返
。繰 返 間隔 、標準 0.1 秒 。 、20 秒間動作
(0.1 秒× 200 回)。

// タートルを前進させる(ステップ2)
時計=タイマー!作る 200 回数。
時計!「カメ太!10 歩く」実行。

5.4 宝物 画面 置 ( 3)
次 、 姿 画面 置 。
、画面 置 後 操作 、特 名前 付 必要 。
姿 変身 変更 。姿 JPEG, GIF, PNG
形式 画像 指定 可能 、 画像
用意 *2 。

画面 置 位置 、乱数 指定 。横 位置 −299∼300 幅 600


範囲 、縦 位置 −149∼150 高 300 範囲 、 1∼
600 乱数 1∼300 乱数 生成 、 値 300 150 引 利用
。乱数 引 算 数式 、括弧(. . . ) 囲 記述 。

// 宝物を画面に置く(ステップ3)
宝=タートル!作る "tonbo.gif" 変身する ペンなし。
宝!(乱数(600)-300)(乱数(300)-150)位置。
宝!作る(乱数(600)-300)(乱数(300)-150)位置。
宝!作る(乱数(600)-300)(乱数(300)-150)位置。

5.5 宝物 拾 ( 4)
前 、 太 重 何 起 、 太
通 抜 。 、 太 衝突 、

*2 版 、 画像 置 、独自 画像
使 可能 。
24 Activity 5 宝物拾

姿 消 拾 表現 。次 、 太 衝突
定義 、衝突 相手 消 命令 送 。

// 宝物を拾う(ステップ4)
カメ太:衝突=「|相手| 相手!消える」。

最後 1 4 全体 掲載 。

// タートルを操作する(ステップ1)
カメ太=タートル!作る。
左ボタン=ボタン!"左" "LEFT" 作る。
左ボタン:動作=「カメ太!30 左回り」。
右ボタン=ボタン!"右" "RIGHT" 作る。
右ボタン:動作=「カメ太!30 右回り」。

// タートルを前進させる(ステップ2)
時計=タイマー!作る 200 回数。
時計!「カメ太!10 歩く」実行。

// 宝物を画面に置く(ステップ3)
宝=タートル!作る "tonbo.gif" 変身する ペンなし。
宝!(乱数(600)-300)(乱数(300)-150)位置。
宝!作る(乱数(600)-300)(乱数(300)-150)位置。
宝!作る(乱数(600)-300)(乱数(300)-150)位置。

// 宝物を拾う(ステップ4)
カメ太:衝突=「|相手| 相手!消える」。
25

Activity 6

Activity 、 打 返 作 。

6.1 作成
画面 四角 枠 描 、 中 役割 、
長方形 。 壁 跳 返 。
左側 2個 上下 操作 。
制限時間 間、 打 返 続 。一回
後 壁 、 。

6.2 壁 作 ( 1)
最初 、 登場 画面 置 。
、5 個 長方形 登場 。上下 右 長方形 、
跳 返 壁 。左 2 長方形 存在 。小
。 人 、 上下 動
打 返 。大 、 打 返
知 壁 。 壁 、

次 、5 個 長方形 作成 。 簡単
、線 太 太 20 線 描 長方形 。続 、 字
形 線 描 、「壁」 名前 図形 作 。続 上 向 後、左
壁 作 。
26 Activity 6

、座標 指定 図形 画面 置 場合
、終了 隣 方眼紙 、位置 確認
作 便利 。

// 壁を作る(ステップ1)
カメ太=タートル! 作る。
カメ太!(緑)線の色 20 線の太さ。
カメ太!500 歩く 90 右回り 420 歩く 90 右回り 500 歩く。
壁=カメ太!図形を作る -200 200 位置。
カメ太!90 右回り。
左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。
パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

6.3 動 ( 2)
画面 表示 、 上下 動 。次
、画面 左側 「上ボタン」 「下ボタン」 名前
2 表示 、 押 上下
50 移動 。今回 2 個目 UP
DOWN 指定 、上下 矢印 操作 。

// パドルを動かす(ステップ2)
上ボタン=ボタン! "上" "UP" 作る -380 50 位置。
下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。
上ボタン:動作=「パドル! 0 50 移動する」。
下ボタン:動作=「パドル! 0 -50 移動する」。

6.4 動 ( 3)
「カメ太」 、壁 描 後 、 役割
。次 、 太 移動 線 引 、
実行 。 、最初 右 壁 向 動 。
初期位置 、乱数 使 、少 異 位置 動 始
。横 位置(x 座標) 「乱数(200)」 1 200 値 、縦 位置(y 座
標) 「乱数(300)- 150」 −149 150 値 。 初期角度
45 度 固定 。
壁 衝突 、跳 返 動作 望
。 、 太 衝突 、 跳 返 設定 。
向 合 、自然 角度 跳 返 。
最後 生成 、「カメ太! 20 歩く」 0.1 秒間隔 60 秒間繰 返
実行 。実行 、 太 壁 囲 空間 跳 返
動 回 。
6.5 勝敗 判定 ( 4) 27

// ボールを動かす(ステップ3)
カメ太! ペンなし。
カメ太!(乱数(200))(乱数(300)-150)位置。
カメ太!45 向き。
カメ太:衝突=タートル:跳ね返る。
時計=タイマー! 作る 60秒 時間「カメ太!20 歩く」実行。

6.5 勝敗 判定 ( 4)
、 打 返 1回 左壁 衝突
負 ( ) 。 、 動
時間内 左壁 衝突 勝 ( ) 。
次 、勝敗 判定 、
「ゲームクリア」 変数 導
入 。 変数 真偽値 代入 使 。初期値
「はい」 、 左壁 衝突 「いいえ」 代入 。
、「ゲームクリア」 扱 、前 「:」 付
。 、 実行 中断 。
終了 「時計!待つ」 待 。 終
了 、「ゲームクリア」 値 判定 。値 真( )
場合 、無事 60 秒間経 終了 、青 字 「ゲームクリ
ア」 表示 。値 偽( ) 場合 、左壁 衝突 中
断 、赤 字 「ゲームオーバー」 表示 。

// ゲームの勝敗を判定する(ステップ4)
ゲームクリア=はい。
左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。
時計! 待つ。
「ゲームクリア==はい」! なら「
  ラベル! "ゲームクリア! "作る (青)文字色。
」そうでなければ「
  ラベル! "ゲームオーバー! "作る (赤)文字色。
」実行。

以上 完成 。実行 、左壁 衝突
「ゲームオーバー!」 表示 。時間内 打 返
、「ゲームクリア!」 表示 。
28 Activity 6

最後 1 4 全体 掲載 。

// 壁を作る(ステップ1)
カメ太=タートル! 作る。
カメ太!(緑)線の色 20 線の太さ。
カメ太!500 歩く 90 右回り 420 歩く 90 右回り 500 歩く。
壁=カメ太!図形を作る -200 200 位置。
カメ太!90 右回り。
左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。
パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

// パドルを動かす(ステップ2)
上ボタン=ボタン! "上" "UP" 作る -380 50 位置。
下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。
上ボタン:動作=「パドル! 0 50 移動する」。
下ボタン:動作=「パドル! 0 -50 移動する」。

// ボールを動かす(ステップ3)
カメ太! ペンなし。
カメ太!(乱数(200))(乱数(300)-150)位置。
カメ太!45 向き。
カメ太:衝突=タートル:跳ね返る。
時計=タイマー! 作る 60秒 時間「カメ太!20 歩く」実行。

// ゲームの勝敗を判定する(ステップ4)
ゲームクリア=はい。
左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。
時計! 待つ。
「ゲームクリア==はい」! なら「
  ラベル! "ゲームクリア! "作る (青)文字色。
」そうでなければ「
  ラベル! "ゲームオーバー! "作る (赤)文字色。
」実行。

今後 改良 、難易度 選 、実行時間、 速 、
大 変 。 、
打 返 回数 、得点 表示 考 。
29

Activity 7

今 学 応用 、 Activity 作
。 作 方 理解 、
発展 楽 。
、 難易度 高 点 。解説 読 、 見
比 理解 。
、 1 6 分 。順 入力
動作 確認 。全体 6 節 見

7.1 作成
画面 下部 主役 。 左右 操作 。画面 上部
敵 。主役 発射 攻撃 。敵 命中
、画面下 得点欄 得点 加算 行 。
制限時間内 敵 破壊 。

7.2 主役 作 ( 1)
最初 、主役 画面 置 。 、画面
下 「カメ太」 、上 降 敵 攻撃 。 、 太 作 、
左右 動 。
30 Activity 7

次 、「カメ太」 名前 生成 、
「90 左回り」 上向 、「ペンなし」 線 描 設定 後、「0
150 位置」 画面 下 中央付近 置 。続 、「左」 「右」
名前 作 、 太 下 置 後、押
太 位置 x 方向 20 −20 動 設定 。
「LEFT」、「RIGHT」 定義 、 左右 矢印 (「←」、
「→」
) 操作 。
実行 、画面 表示 、 押
左右 動 。

// 主役と左右の動き(ステップ1)
カメ太=タートル!作る 90 左回り ペンなし 0 -150 位置。
左=ボタン!"左" "LEFT" 作る -200 -180 位置。
左:動作=「カメ太!-20 0 移動する」。
右=ボタン!"右" "RIGHT" 作る 50 -180 位置。
右:動作=「カメ太!20 0 移動する」。

7.3 弾 発射 ( 2)
弾 発射 、 書 。弾 、「カ
メ太」 位置 出 行 必要 。 、敵 向 進 。
、「カメ太」 分身 作 、弾 前進 。次

「カメ太」 「発射」 定義 、 中
作 、自分 20 歩 前進 。
実行間隔 標準(0.1 秒間隔) 。続 、
「発射」 名前
作 、左右 間 置 後、押 「カメ太」 「作
る」 複製 、50 歩前進 後、
「"rocket.gif" 変身する」 姿
、先 作 「発射」 実行 。 「UP」、 定義
、 上向 矢印 「↑」 操作 。
、最初 50 歩前進 理由 、後 「衝突」 定義 、
「カメ太」 弾 衝突 互 消 事故 防 。
変身前 姿 半径 20 程度 、50 歩離 衝突 発生

太 「発射」 、 作 後、続
与 実行 。 、 使
、 簡潔 記述 。

// 発射ボタン(ステップ2)
カメ太:発射=「タイマー!作る「自分!20 歩く」実行」。
発射=ボタン!"発射" "UP" 作る -50 -180 位置 100 45 大きさ。
発射:動作=「カメ太!作る 55 歩く "rocket.gif" 変身する 発射」。
7.4 敵 作 ( 3) 31

7.4 敵 作 ( 3)
画面 上部 、敵 配置 。敵 横一列 並 。後 敵
動 、敵 残 数 管理 、敵 配列 管理 。
次 、最初 「敵たち」 名前 配列 作 。続
、「敵」 名前 作 、
「"ayumiAka.gif" 変身
する」 赤 変身 後、「ペンなし」 線 描 、
「90 右回り」 下 向 。 (−300, 200) 位置 移動
次 行 、
後、配列「敵たち」 格納 。続 4行 、敵 「作る」 複製
後、 画面 配置 配列「敵たち」 格納 。
最後 4行 、 簡潔 書 、「敵」 複製
画面 配置、配列 格納 1行 記述 。 分
、次 、2 行 分 記述 。

// 1行で書いた例
敵たち!(敵!作る -200 200 位置)書く。

// 2行で書いた例
敵2=敵!作る -200 200 位置。
敵たち!(敵2)書く。

// 敵たちの生成(ステップ3)
敵たち=配列!作る。
敵=タートル!作る "ayumiAka.gif" 変身する ペンなし 90 右回り。
敵たち!(敵!-300 200 位置)書く。
敵たち!(敵!作る -200 200 位置)書く。
敵たち!(敵!作る -100 200 位置)書く。
敵たち!(敵!作る 0 200 位置)書く。
敵たち!(敵!作る 100 200 位置)書く。

7.5 敵 移動( 4)
敵 、1 列 横 並 、少 右 左 動 、画面 端 動
少 下 進 、先 逆 向 横 移動 。
次 、最初 「時計」 名前 作 、実行間隔
1 秒 設定 。続 3行 、 使 敵 移動 。「時計」
1 続 「実行」 送 、「
実行 終 次 実行」 形 、 逐次実行 実現 。
最後 3行 、 簡潔 書 、 実行 配列内
各 実行 1 行 記述 。 分 、
次 、2 行 分 記述 。 「右移動」
実行 、全体 括弧(
「...」
) 囲 必要 。
32 Activity 7

// 1行で書いた例
時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。

// 2行で書いた例
右移動=「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」。
時計!6 回数(右移動)実行。

// 敵たちの移動(ステップ4)
時計=タイマー!作る 1秒 間隔 。
時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。
時計!1 回数「敵たち!「|敵|敵!0 -30 移動する」それぞれ実行」実行。
時計!6 回数「敵たち!「|敵|敵!-30 0 移動する」それぞれ実行」実行。

7.6 衝突 定義( 5)
弾 当 、敵 弾 消 。敵 消 、敵 管
理 配列「敵たち」 削除 。
次 、最初 「カメ太」 「衝突」 定義 、何
場合 自分 消 。実際 弾 衝突 実行 、「カ
メ太」 定義 、
「カメ太」 複製 作 弾 自動的 定
義 。
続 3行 、配列「敵たち」 含 敵 衝突 定
義 。敵 何 場合 、自分 消 、配列「敵たち」
自分 削除 。

// 衝突定義(ステップ5)
カメ太:衝突=「自分!消える」

敵:衝突=「自分!消える。敵たち!(自分)消す」。

7.7 終了判定( 6)
、最後 定 条件 判定
行 。 、時間内 敵 消 判定

次 、制限時間 15 秒 、「制限時間」 変数
作 15 代入 。続 、残 時間 表示 、「カウントダウ
ン」 名前 作 。続 、
「終了時計」 名前
作 、1 秒間隔 「制限時間」 動 。
続 6 行 、「終了時計」 実行内容 、1 秒間隔 「制限時間」 秒数
実行 。何回目 実行 、先頭 「n」 入 。
「カウントダウン」 、「制限時間 - n」 式 、残 時間 表示
。続 、配列「敵たち」 要素数 調 、値 、
「おめでとう!!!」 表示 。 、終了時計 中断
止 。
7.7 終了判定( 6) 33

、制限時間内 表示
。 別 表示 場合 、終了時
計 終了 「待つ」 待 、 「敵たち」 要素数 調 。

// 終了判定(ステップ6)
制限時間=15。
カウントダウン=フィールド!作る 150 0 移動する。
終了時計=タイマー!作る 1秒 間隔(制限時間)時間。
終了時計!「|n|カウントダウン!(制限時間-n)書く。
 「 (敵たち!要素数?) == 0」!なら「
  ラベル!"おめでとう!!!"作る -100 200 位置。
  終了時計!中断
 」実行
」実行。

以上 完成 。
34 Activity 7

最後 1 6 全体 掲載 。

// 主役と左右の動き(ステップ1)
カメ太=タートル!作る 90 左回り ペンなし 0 -150 位置。
左=ボタン!"左" "LEFT" 作る -200 -180 位置。
左:動作=「カメ太!-20 0 移動する」。
右=ボタン!"右" "RIGHT" 作る 50 -180 位置。
右:動作=「カメ太!20 0 移動する」。

// 発射ボタン(ステップ2)
カメ太:発射=「タイマー!作る「自分!20 歩く」実行」。
発射=ボタン!"発射" "UP" 作る -50 -180 位置 100 45 大きさ。
発射:動作=「カメ太!作る 55 歩く "rocket.gif" 変身する 発射」。

// 敵たちの生成(ステップ3)
敵たち=配列!作る。
敵=タートル!作る "ayumiAka.gif" 変身する ペンなし 90 右回り。
敵たち!(敵!-300 200 位置)書く。
敵たち!(敵!作る -200 200 位置)書く。
敵たち!(敵!作る -100 200 位置)書く。
敵たち!(敵!作る 0 200 位置)書く。
敵たち!(敵!作る 100 200 位置)書く。

// 敵たちの移動(ステップ4)
時計=タイマー!作る 1秒 間隔 。
時計!6 回数「敵たち!「|敵|敵!30 0 移動する」それぞれ実行」実行。
時計!1 回数「敵たち!「|敵|敵!0 -30 移動する」それぞれ実行」実行。
時計!6 回数「敵たち!「|敵|敵!-30 0 移動する」それぞれ実行」実行。

// 衝突定義(ステップ5)
カメ太:衝突=「自分!消える」。
敵:衝突=「自分!消える。敵たち!(自分)消す」。

// 終了判定(ステップ6)
制限時間=15。
カウントダウン=フィールド!作る 150 0 移動する。
終了時計=タイマー!作る 1秒 間隔(制限時間)時間。
終了時計!「|n|カウントダウン!(制限時間-n)書く。
 「 (敵たち!要素数?) == 0」!なら「
  ラベル!"おめでとう!!!"作る -100 200 位置。
  終了時計!中断
 」実行
」実行。
Part IV

音楽 演奏
36

Activity 8

音楽 演奏

MIDI 音源*1 使 楽器演奏 行 。演奏 、


「 」 分 形 記述 。 伴奏
打楽器演奏 合 、 合奏 可能 。

8.1 演奏
演奏 、譜面 相当 旋律 書
込 、 演奏 。次 、
「きらきらぼし」 名前
生成 、
「"..."」 形 旋律 追加 、
演奏 。音符 記述 「"..."」 部分 、「『...』」
記号 囲 。楽譜 演奏 指示 、標準 楽器
使 演奏 行 。

きらきらぼし=メロディ!作る。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!演奏。

8.2 記述
、「ドレミ」 音階 加 、数字 記号 細 指定
行 。
上 移 「^」 、 下 移 「_」 指
定 。 音 、 以降 上( 下)

音 伸 「∼」 「ー」 指定 。音 後 1, 2, 4, 8, 16
数字 書 、 全音符、二分音符、四分音符、八分音符、十
六分音符 指定 。
次 、 使 。(実行 行 「//」
一時的 )

*1 MIDI 音楽 演奏 規格。
8.3 楽器 指定 37

きらきらぼし=メロディ!作る。
きらきらぼし!"ド・ドソ^ソララソ∼_ファファ1ミ2ミ4レレ8ド∼" 追加。
// きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。
// きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!演奏。

8.3 楽器 指定
標準 以外 、 楽器 指定 演奏 。 、
楽器 用意 (E.7 節)
。次 、楽器
設定 演奏 。

きらきらぼし=メロディ!作る。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!(楽器!"オルガン" 作る)設定。
きらきらぼし!演奏。

次 、「メロディ欄」 名前
作 、 初期値 「 ∼ ∼ ∼」 旋律
入 。 旋律 実行中 修正 。続
「楽器名」 名前 選択 作 、 、 、
、 、 設定 。最後 「実行ボタン」 名前
作 、 押 「メロディ欄」 書 旋
律 「楽器名」 指定 楽器 演奏 。

メロディ欄=フィールド!作る 600 45 大きさ -300 100 位置。
メロディ欄!"ドドソソララソ∼ファファミミレレド∼" 書く。
楽器名=選択メニュー!作る 180 45 大きさ -300 50 位置。
楽器名!"ピアノ" 書く "オルガン" 書く "ギター" 書く "トランペット" 書く "ベル" 書く。
実行ボタン=ボタン!"実行" 作る -100 50 位置。
バンド1=バンド!作る。
実行ボタン:動作=「
 バンド1!クリア。
 主旋律=メロディ!作る(メロディ欄!読む)追加。
 ピアノ1=楽器!(楽器名!(楽器名!何番目?)読む)作る(主旋律)設定。
 バンド1!(ピアノ1)追加 演奏。


38 Activity 8 音楽 演奏

8.4 音楽 構造
「きらきらぼし」 一度見 。

きらきらぼし=メロディ!作る。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!"ソソファファミミレ∼ソソファファミミレ∼" 追加。
きらきらぼし!"ドドソソララソ∼ファファミミレレド∼" 追加。
きらきらぼし!演奏。

部分 見 、次 曲 構造 分 。

•「ドドソソララソ∼ファファミミレレド∼」 同 旋律 、最初 最後
出 。 (A 呼 )
•「ソソファファミミレ∼ソソファファミミレ∼」 2 番目 旋律 、
「ソ
ソファファミミレ∼」 2 回繰 返 。(B 呼

整理 、「きらきらぼし」 曲 、次 構造 持
分 。

Aメロディ
Bメロディが2回
Aメロディ

分 、 最初 「A メロディ」 「B メロディ」
変数 定義 、次 書 。

// 変数の定義
Aメロディ="ドドソソララソ∼ファファミミレレド∼"。
Bメロディ="ソソファファミミレ∼"。

// 演奏
きらきらぼし=メロディ!作る。
きらきらぼし!(Aメロディ)追加。
きらきらぼし!(Bメロディ)追加(Bメロディ)追加。
きらきらぼし!(Aメロディ)追加。
きらきらぼし!演奏。

2個 「B メロディ」 繰 返 書 、次 。
8.5 合奏 39

// 変数の定義
Aメロディ="ドドソソララソ∼ファファミミレレド∼"。
Bメロディ="ソソファファミミレ∼"。

// 繰り返しを使った演奏
きらきらぼし=メロディ!作る。
きらきらぼし!(Aメロディ)追加。
「きらきらぼし!(Bメロディ)追加」!2回 繰り返す。
きらきらぼし!(Aメロディ)追加。
きらきらぼし!演奏。

、「A 2 回繰 返 中 、1 回目 A
B 2 個追加 」 方針 書 換 、次
。A 繰 返 、 (「...」) 先頭 「A メロ回数」
、繰 返 回数 受 取 。 、
「A メロ回数==
1」 条件式 、1 回目 繰 返 判断 。

// 変数の定義
Aメロディ="ドドソソララソ∼ファファミミレレド∼"。
Bメロディ="ソソファファミミレ∼"。
きらきらぼし=メロディ!作る。

// 繰り返しと条件分岐を使った演奏
「|Aメロ回数|
  きらきらぼし!(Aメロディ)追加。
  「Aメロ回数==1」!なら「
    「きらきらぼし!(Bメロディ)追加」!2回 繰り返す。
  」実行。
」!2回 繰り返す。
きらきらぼし!演奏。

例 見 、多 曲 、 曲 中
断片 繰 返 含 。音楽 演奏 際 、単 楽譜
入力 、曲 構造 見 表現
大切 。

8.5 合奏
同 何拍 演奏 、輪唱 演奏 。次

「かえる 2」 先頭 8 拍 無音 入 、続 「か
える 1」 加 。 、「かえる 1」 「かえる 2」
同時 演奏 。
使 、複数 演奏 。次
、「輪唱」 作 、

「かえる 1」 「かえる 2」 追加 。輪唱 演奏 、
「かえ
る 1」 「かえる 2」 同時 演奏 。
40 Activity 8 音楽 演奏

かえる1=メロディ!作る。
かえる1!"ドレミファミレド∼ミファソラソファミ∼" 追加。
かえる1!"ド・ド・ド・ド・ド8ド8レ8レ8ミ8ミ8ファ8ファ8ミレド∼" 追加。
かえる2=メロディ!作る 8 無音 (かえる1)追加。
輪唱=バンド!作る (かえる1)追加 (かえる2)追加。
輪唱!演奏。

8.6 楽器 変 演奏
標準 楽器 以外 楽器 用意 。先 輪唱
、 2台 2 区別 。
1 台 楽器 変 演奏 。次 、「オル
ガン 1」 名前 楽器 作 、「かえる 2」 設定 演奏

かえる1=メロディ!作る。
かえる1!"ドレミファミレド∼ミファソラソファミ∼" 追加。
かえる1!"ド・ド・ド・ド・ド8ド8レ8レ8ミ8ミ8ファ8ファ8ミレド∼" 追加。
かえる2=メロディ!作る 8 無音 (かえる1)追加。
オルガン1=楽器!"オルガン" 作る。
かえる2!(オルガン1)設定。
輪唱=バンド!作る (かえる1)追加 (かえる2)追加。
輪唱!演奏。

楽器 1∼128 表 MIDI 楽器番号*2 指定 。次


、乱数 楽器 指定 。実行 、異 楽器 演
奏 。乱数 数式 、括弧(. . . ) 囲 記述 。

かえる=メロディ!作る。
かえる!"ドレミファミレド∼ミファソラソファミ∼" 追加。
私の楽器=楽器!(乱数(128))作る。
かえる!(私の楽器)設定。
かえる!演奏。

8.7 楽譜 入力
音楽 楽譜 見 、曲 入力 。

*2 付録 E 参照。
8.7 楽譜 入力 41
42 Activity 8 音楽 演奏
8.8 43

8.8
打楽器 演奏 、 使用 。使 方
同様 。音階 代 、「 」
記述 。
次 、最初 「きらきらぼし」 名前
作 、続 「きらりずむ」 名前 作
。「ドツタツ」 表記 、
「ド」 、
「ツ」 、
使 楽器 表 。 違 、音 長 半拍
。詳 付録 E 参照 。最後 作 、「き
らきらぼし」 「きらりずむ」 追加 演奏 。

きらきらぼし=メロディ!"ドドソソララソ∼ファファミミレレド∼" 作る。
きらりずむ=ドラム!"ドツタツドツタツドツタツドタタツドツタツドツタツドツタツクチパン" 作る。
バンド!作る(きらきらぼし)追加(きらりずむ)追加(60)テンポ 演奏。

、 名前 付 。次 「マイバ
ンド」 名前 作 演奏 。

きらきらぼし=メロディ!"ドドソソララソ∼ファファミミレレド∼" 作る。
きらりずむ=ドラム!"ドツタツドツタツドツタツドタタツドツタツドツタツドツタツクチパン" 作る。
マイバンド=バンド!作る。
マイバンド!(きらきらぼし)追加(きらりずむ)追加。
マイバンド!(60)テンポ 演奏。
44

Activity 9

音楽 楽

9.1 琉球音階 自動作曲


沖縄 音階(琉球音階) 使 、 作曲 。
琉球音階 、「ドレミファソラシ」 「レ」 「ラ」 存在 音階
。次 、「琉球音階」 配列 、基本 音階 入
後 、 音 入 演奏 。

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。

僕の楽譜=メロディ!作る。
僕の楽譜!(琉球音階!1 読む)追加。
僕の楽譜!(琉球音階!2 読む)追加。
僕の楽譜!(琉球音階!3 読む)追加。
僕の楽譜!(琉球音階!4 読む)追加。
僕の楽譜!(琉球音階!5 読む)追加。
僕の楽譜!演奏。

繰 返 使 書 。 、何回目 繰
返 (「...」) 「n」 受 取 、 番号
音 取 出 追加 。

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。

僕の楽譜=メロディ!作る。
「|n| 僕の楽譜!(琉球音階!(n)読む)追加」!5回 繰り返す。
僕の楽譜!演奏。

配列 琉球音階 、5 種類 音 1 5 数字 取 出 。乱数
1∼5 数 発生 、 音 演奏 可能 。

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。

僕の楽譜=メロディ!作る。
「僕の楽譜!(琉球音階!(乱数(5))読む)追加」!5回 繰り返す。
僕の楽譜!演奏。

次 、乱数 A B 短 旋律 作 、
組 合 曲 作 。A 6 個 音 、B
9.2 音階 自動作曲 45

8個 音 、 乱数 作 。 、A 最後
「ド∼」 加 。曲 構成 、A 2 回演奏 、B
演奏 後、最後 A 演奏 終 。楽器
「ギター」 設定 。

琉球音階=配列!"ド" "ミ" "ファ" "ソ" "シ" 作る。

Aメロディ=メロディ!作る。
)読む)追加」!6回 繰り返す。
「Aメロディ!(琉球音階!(乱数(5)
Aメロディ! "ド∼" 追加。

Bメロディ=メロディ!作る。
「Bメロディ!(琉球音階!(乱数(5))読む)追加」!8回 繰り返す。

僕の楽譜=メロディ!作る。
「僕の楽譜!(Aメロディ)追加」!2回 繰り返す。
僕の楽譜!(Bメロディ)追加。
僕の楽譜!(Aメロディ)追加。

僕の楽器=楽器!"ギター" 作る。
僕の楽譜!(僕の楽器)設定。
僕の楽譜!演奏。

9.2 音階 自動作曲
今度 、一定範囲 音 作 出 。 、2
音階 音 演奏 。
次 、最初 乱数 作 音 基準 音程 決 。
「ド」 。 音程 書 作 、
「楽譜」
名前 。続 、基準 音 2 分 音 作
、楽譜 50 回追加 。「乱数(24)」 1∼24 値 返 。
「 音上げる 」 指定 数 半音 音程 上 。最大 24 個 半音
、2 上 音階 表現 。最後 、作 楽譜 演
奏 。

音程=メロディ!作る "ド"追加。
楽譜=メロディ!作る。
「楽譜! (音程! (乱数(24)) 音上げる)追加」!50回 繰り返す。
楽譜! 演奏。
46 Activity 9 音楽 楽

9.3 利用 自動作曲
配列 複数 音 入 演奏 。 、複数 曲
作 場合 応用 。
次 、最初 元 配列 格納
。 、演奏 同 長 揃 。次
、 作 、楽器 割 当 。 楽器番号 指定
。続 、 作 。
最後 各 集 作 、 決 演奏 。

フレーズ=配列!"ドレミファミレド∼" "ミファソラソファミ∼" "ド・ド・ド・ド・" "ド8ド8レ8レ8ミ8ミ


8ファ8ファ8ミレド∼" 作る。

パート1=メロディ!作る (楽器!10 作る) 設定。


パート2=メロディ!作る (楽器!11 作る) 設定。
パート3=メロディ!作る (楽器!12 作る) 設定。

「パート1!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。


「パート2!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。
「パート3!(フレーズ!(乱数(4)) 読む) 追加」! 8 繰り返す。

合奏=バンド!作る (パート1)追加 (パート2)追加 (パート3)追加(68)テンポ 演奏。

9.4 組 合 自動作曲
最後 、 組 合 自動作曲 。
分 、 作曲 部分
定義 。作成 曲 、笛 太鼓 二
重奏 。
次 、最初 笛 楽器番号 曲 速 、音符 数 変数 定義
。 、調整 値 変数 定義 、後 変更
便利 。続 、笛 太鼓用 音階 配列 用意 。
作曲 、 定義 行 。笛 、音符
7 個 音階 選 、 長 決 繰 返
。「↑」 「^」 同 意味 、続 音階 1 上 。「↑
↑」 2 、「↑↑↑」 3 上 示 。太鼓
、3 個 打楽器 選 、 長 決 。太鼓
細 刻 、音符 長 笛 半分(8 分音符) 設定 、
音符 数 倍 設定 。最後 笛 太鼓 作 、指定 曲 速
演奏 。
9.4 組 合 自動作曲 47

笛楽器=072。曲の速さ=120。音符の数=50。
笛の音=配列!"↑↑レ" "↑↑ミ" "↑↑ファ" "↑↑ラ" "↑↑シ" "↑↑↑レ" "↑↑↑ミ" 作る。
太鼓の音=配列!"ど" "た" "つ" 作る。
笛=メロディ!作る(楽器!(笛楽器)作る)設定。
太鼓=ドラム!作る。

笛:作曲=「|n| 「
 音符=笛の音! (乱数(7)) 読む。
 「乱数(2)>1」!なら「自分!(音符 + "4") 追加」そうでなければ「自分!(音符 + "2") 追加」実行。
」! (n) 繰り返す」。
太鼓:作曲=「|n| 「
 音符=太鼓の音! (乱数(3)) 読む。
 「乱数(2)>1」!なら「自分!(音符 + "8") 追加」そうでなければ「自分!(音符 + "4") 追加」実行。
」! (n) 繰り返す」。

笛パート=笛! (音符の数) 作曲。


太鼓パート=太鼓!(音符の数 * 2) 作曲。
バンド!作る(笛パート)追加 (太鼓パート)追加 (曲の速さ) テンポ 演奏。
Part V

通信
50

Activity 10

通信

、 通 送 合 、
同士 通信 。 Activity 、通信 仲立 起動
方法 説明 後、文字 通信 説明 。

10.1 起動
起動 、 接続 他
上 通信 可能 。

編集画面 「server」
起動 。警告 表示 場合 、
「ブロックを解除する」 選択 。
起動 、 画面 表示 。 実行画面 似
、画面下 2 。 。

10.2 IP 確認
通信 、 起動
指定 必要 。
同 動作 通信 場合 、
名 localhost 指定 通信 。
異 動作 通信 場合 、
動作 名 指定 。 名 正 分
場合 、 名 代 IP 指定 。
動作 IP 、次 命令 調 。

ラベル!(システム:ipaddress)作る。
10.3 接続 51

10.3 接続
通信 、最初 接続 行 。次
動 動作 接続
。異 動作 場合 、「localhost」 代
動作 名前 IP 指定 。

サーバー!"localhost" 接続。

10.4 書 込
上 作 各種
登録 、他 受 渡 。
書 命令 、指定 複製
上 名前 付 登録 。次 、「カメ太」
名前 、 「kameta」 名前 登録

サーバー!"localhost" 接続。
カメ太=タートル!作る。
サーバー!"kameta" (カメ太)書く。

10.5 読 出
書 込 、読 命令 、読 出 利
用 。次 、 上 「kameta」 名
前 登録 、使用中 上 複製 「カメ吉」
名前 付 。

サーバー!"localhost" 接続。
カメ吉=サーバー!"kameta" 読む。
カメ吉!100 歩く。
52

Activity 11

機能 使 、教室 中 友 (画面
) 作 。

11.1 送信
最初 、 送 作 。画面 入力 入
力欄 作 、 入力 (Enter , ) 押
、 書 込 。
次 、「送信フィールド」 作
、 押 、送信 書 文字列
「msg」 名前 書 込 。送 分 、最後
中身 「クリア」 空 。

サーバー!"localhost" 接続。
送信フィールド=フィールド!作る。
フィールド:動作=「
  サーバー!"msg" (送信フィールド!読む)書く。
  送信フィールド!クリア。

接続 実行 、 編集画面
「サーバー」 表示 。 押
、 書 込 確認 。「msg(文字
列):はろー」 、
「はろー」 文字列 msg 名前 書
込 分 。

11.2 受信
次 、 受信 。実行 、
「msg」 文字列 読 出 、 表示 。

サーバー!"localhost" 接続。
ラベル!(サーバー!"msg" 読む)作る。
11.3 発言 名前 入 53

送信 受信 1台 実行 場合 、次

• 1台 2 起動 。
• 画面 送信 受信 入力 。
• 一方 起動 。
• 送信側 実行 、 書 込 後、受信側
受信 。

接続 複数台 動作 確認 場合 、
次 。

• 複数台 起動 。2 台以上 何台
構 。
• 送信 受信 入力 。
• 1台 起動 。他 、
「終了」 閉 。
• 「localhost」 部分 実行
名 記述 。 名 分 場合 、 IP
10.2 節 手順 調 記述 。
• 送信側 実行 、 書 込 後、受信側
受信 。
• 複数 送信 。新
書 込 前 上書 、複数人
実行 場合 、「書 」 声 掛 合 送信 受信
実行 。

11.3 発言 名前 入
複数 人 発言 書 込 場合 、誰 書 発言 分
便利 。 、
「はろー」 発言 、前 自分 名
前 入 、「カメ太: はろー」 形 書 考 。
次 、「名前」 変数 名前 入 。
「カメ太」 、実際 自分 名前
書 。 名前 ":" 発言 文字列 連結
書 込 。「連結」 、文字列 他 文字列 連結 命令

名前="カメ太"。
サーバー!"localhost" 接続。
送信フィールド=フィールド!作る。
フィールド:動作=「
 サーバー!"msg"(名前!": "(送信フィールド!読む)連結)書く。
 送信フィールド!クリア。
」。
54 Activity 11 作

11.4 受信 自動化(1)
他 人 発言 書 込 分 、受信 何度
実行 新 発言 大変 。 、定期的
通信 、新 発言 表示 考 。
次 実行 、 1 秒間隔 読 、
「受
信表示」 出力 。 動作 600 回(10 分間)繰 返 。

サーバー!"localhost" 接続。
受信表示=ラベル!作る 300 45 大きさ。
タイマー!作る 1秒 間隔 600 回数「
  受信表示!(サーバー!"msg" 読む)書く。
」実行。

11.5 受信 自動化(2)
前 、受信 1秒 自動的 書 換
、 見 読 次 進 。
、 取 画面 残 考 。
次 、 1行 表示 代
、 複数個 表示 。

サーバー!"localhost" 接続。
受信表示=リスト!作る 300 400 大きさ。
タイマー!作る 1秒 間隔 600 回数「
  受信メッセージ=サーバー!"msg" 読む。
  受信表示!(受信メッセージ)書く。
」実行。

実行 、1 秒 通信 、受信 追記 。
実行結果 見 分 、 同 何度 書
。 、新 発言 、直前 発言
比較 、異 場合 書 修正 。
次 、 読 、受信
(「受信メッセージ」) 直前 (「直前メッセージ」) 比較 、
異 場合 表示 。 比較 後 、受信 直前
代入 。

サーバー!"localhost" 接続。
受信表示=リスト!作る 200 400 大きさ 0 200 位置。
直前メッセージ=""。
タイマー!作る 1 間隔 600 回数「
  受信メッセージ=サーバー!"msg" 読む。
  「受信メッセージ!=直前メッセージ」!なら「受信表示!(受信メッセージ)書く」実行。
  直前メッセージ=受信メッセージ。
」実行。
11.6 55

実行 、1 秒 通信 、新
、画面 表示 。

11.6
作 送信 受信 組 合
、送信 受信 両方 扱 作

次 、11.3 節 11.5 節 作 2
結合 作 。送信 入力
「メッセージ」 、受信 表示 「受信
メッセージ」 重 位置 調整 。

サーバー!"localhost" 接続。
サーバー!"msg" "" 書く。

名前="カメ太"。
メッセージ=フィールド!作る 200 45 大きさ −250 200 位置。
フィールド:動作=「
  サーバー!"msg" (名前!": " (メッセージ!読む)連結)書く。
  メッセージ!クリア。
」。

受信表示=リスト!作る 200 400 大きさ 0 200 位置。
直前メッセージ=""。
タイマー!作る 1 間隔 600 回数「
  受信メッセージ=サーバー!"msg" 読む。
  「受信メッセージ!=直前メッセージ」!なら「受信表示!(受信メッセージ)書く」実行。
  直前メッセージ=受信メッセージ。
」実行。

実行 、送信 入力欄 受信 表示欄


画面 表示 。 「カメ吉」 送 画面

56

Activity 12

音楽 交換

機能 使 、教室 中 友 音楽 交換
作 。

12.1 音楽 演奏
Activity 8 扱 音楽演奏 思 出 。 、「ドレミー」
書 音楽 演奏 。次 、
入力 「曲」 作 、 (Enter
, ) 押 書 旋律
追加 演奏 。

曲=フィールド!作る 600 45 大きさ −250 100 位置。
曲:動作=「メロディ!作る(自分!読む)追加 演奏」 。

12.2 音楽 送信
入力 音楽 書 込 。次

「送信」 押 、曲名 書
込 。

サーバー!"localhost" 接続。
曲=フィールド!作る 600 45 大きさ −250 100 位置。
曲:動作=「メロディ!作る (自分!読む)追加 演奏」 。
曲名=フィールド!作る 130 45 大きさ −380 100 位置。
送信ボタン=ボタン!"送信" 作る −350 50 位置。
送信ボタン:動作=「サーバー!(曲名!読む)(曲!読む)書く」。

実行 、 文字列 書 込 。

12.3 音楽 受信
音楽 受信 演奏 。次 、曲
名 入力 「受信」 押 、 曲
「曲」 表示 。曲
(Enter , ) 押 、 曲 演奏 。
、 送信 受信 共通 使 。
12.3 音楽 受信 57

サーバー!"localhost" 接続。
曲=フィールド!作る 600 45 大きさ −250 100 位置。
曲:動作=「メロディ!作る (自分!読む)追加 演奏」 。
曲名=フィールド!作る 130 45 大きさ −380 100 位置。
送信ボタン=ボタン!"送信" 作る −380 50 位置。
送信ボタン:動作=「サーバー!(曲名!読む)(曲!読む)書く」。
受信ボタン=ボタン!"受信" 作る −230 50 位置。
受信ボタン:動作=「曲!(サーバー!(曲名!読む)読む)書く」。

接続 複数台 動作 確認 場合 、
次 。

• 複数台 起動 。2 台以上 何台
構 。
• 上 入力 。
• 1台 起動 。他 、
「終了」 閉 。
• 「localhost」 部分 実行
名 記述 。 名 分 場合 、 IP
10.2 節 手順 調 記述 。
• 曲 入力 、分 名前 付 書 込 。
• 編集画面 「 サーバー 」 押 上
確認 。自分 書 込 曲 、他 人 書 込 曲 一
覧 。確認 「了解」 閉 。
• 実行画面 、他 人 曲名 入力 「 受信 」
押 受信 、表示 曲 (Enter ,
) 押 、 曲 演奏 。 音楽 映像
書 込 、 人 視聴
相当 。
• 、受信時 曲 見 、 欄 「値が存在しな
い」 意味 未定義 「[undef]」 表示 。
58 Activity 12 音楽 交換

12.4 長 曲 交換( )
携帯電話 、 音楽 聴
。 、 聴
。 、 作 音楽 、
2 種類 方法 聴 作成 。授業 学習 場合
、先生 1 人 送信 実行 、他 生徒 受信 実行

送信

次 、音楽 送信 。送信 曲
、小節 6個 分 「曲」 配列 格納 。「送信」
押 、最初 曲 行数(6 行) 送信間隔(4 秒) 送信 後、
曲 一定間隔 1行 送信 。実行 次 節 受信
合 行 。

サーバー!"localhost" 接続。
曲=配列!作る。
曲!"どどそそららそー" 書く。
曲!"ふぁふぁみみれれどー" 書く。
曲!"そそふぁふぁみみれー" 書く。
曲!"そそふぁふぁみみれー" 書く。
曲!"どどそそららそー" 書く。
曲!"ふぁふぁみみれれどー" 書く。
送信間隔=4。

送信中=ラベル!作る 300 45 大きさ。
送信ボタン=ボタン!"送信" 作る。
送信ボタン:動作=「
  行数=曲!要素数?。
  送信中!(行数)書く。
  サーバー!"配信行数"(行数)書く。
  サーバー!"配信間隔"(送信間隔)書く。
  タイマー!作る(送信間隔)間隔(行数)回数「|番号|
    メッセージ=曲!(番号)読む。
    送信中!(メッセージ)書く。
    サーバー!"配信"(メッセージ)書く。
  」実行。


12.4 長 曲 交換( ) 59

受信

次 、音楽 受信 。「ダウン
ロード」 「ストリーミング」 押 、最初 曲 行数 受
信間隔 受信 後、曲 一定間隔 1行 受信 。
押 、曲全体 受信 演奏 。 押
、曲 一部 受信 随時演奏 。
実行 際 2 画面 、送信 受信 実
行 。 、送信 「送信」 押 直後 受信
「ダウンロード」 「ストリーミング」 押 。

サーバー!"localhost" 接続。
ダウンロード=ボタン!"ダウンロード" 作る 230 45 大きさ −300 50 位置。
ストリーミング=ボタン!"ストリーミング" 作る 230 45 大きさ −300 0 位置。
曲リスト=リスト!作る 200 400 大きさ 0 200 位置。

ダウンロード:動作=「
  曲=""。
  曲リスト!クリア。
  行数=サーバー!"配信行数" 読む。
  受信間隔=サーバー!"配信間隔" 読む。
  ラベル!(行数)作る −50 200 位置。
  時計=タイマー!作る(受信間隔)間隔(行数)回数「|番号|
    メッセージ=サーバー!"配信" 読む。
    曲リスト!(メッセージ)書く。
    曲=曲!(メッセージ)連結。
  」実行。
  時計!待つ。
  メロディ!作る(曲)追加 演奏。

ストリーミング:動作=「
  曲リスト!クリア。
  行数=サーバー!"配信行数" 読む。
  受信間隔=サーバー!"配信間隔" 読む。
  ラベル!(行数)作る −50 200 位置。
  時計=タイマー!作る(受信間隔)間隔(行数)回数「|番号|
    メッセージ=サーバー!"配信" 読む。
    曲リスト!(メッセージ)書く。
    メロディ!作る(メッセージ)追加 演奏。
  」実行。
」。
60

Activity 13

機能 使 、教室 中 友
作 。題材 、Activity 6 作 対戦型 拡張

作成 画面 示 。画面 左側 右側 異 、内
容 同 、左側 例 説明 。
変 部分 、Activity 6 参照 。

13.1 壁 作 ( 1)
最初 、 登場 画面 置 。上下 長方形 、
跳 返 壁 。左 小 長方形 打 返
。大 長方形 、 打 返 知
壁 。 壁 、 。
次 、4 個 長方形 作成 。 簡単
、線 太 太 20 線 描 長方形 。続 、上壁
作 複製 下壁 作 、続 左壁 作 。

// 壁を作る(ステップ1)
カメ太=タートル! 作る。
カメ太!(緑)線の色 20 線の太さ。
壁=カメ太!550 歩く 図形を作る -200 200 位置。
壁!作る -200 -220 位置。
カメ太!90 左回り。
左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。
パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。
13.2 動 ( 2) 61

13.2 動 ( 2)
画面 表示 、 上下 動 。次
、画面 左側 「上ボタン」 「下ボタン」 名前 2 表
示 、 押 上下 矢印 押 上下 50
移動 。

// パドルを動かす(ステップ2)
上ボタン=ボタン! "上" "UP" 作る -380 50 位置。
下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。
上ボタン:動作=「パドル! 0 50 移動する」。
下ボタン:動作=「パドル! 0 -50 移動する」。

13.3 動 定義 ( 3)
「カメ太」 役割 。毎回少 違 位置 始
、横 位置 左右 中央 、縦 位置 乱数 使 、−150∼150 範囲
。壁 、自然 角度 跳 返 。

// ボールの動きを定義する(ステップ3)
カメ太!ペンなし 45 向き。
カメ太!0(乱数(300)-150)位置。
カメ太:衝突=タートル:跳ね返る。

13.4 通信 準備 ( 4)
2 画面 間 、 状態 情
報 、 互 交換 合 必要 。 、 画面
衝突 跳 返 、 画面 同様 向 変 必要

、自分 状態 書 込 「書き込み」
、相手 状態 読 出 「読み出し」
定義 。
次 、
「書き込み」 中 、現在 (
「カメ太」
) 位置
向 情報 取 出 、 「x」、「y」、「t」 名前 保
存 。「読み出し」 中 、 位置 向 情報「x」、「y」、
「t」 取 出 、 (「カメ太」) 。
4 6 実行 、 相手 画面 必要
。詳 7 説明 。
62 Activity 13 作

// 通信を準備する(ステップ4)
カメ太:書き込み=「
 サーバー!"x" (カメ太!横の位置?) 書く。
 サーバー!"y" (カメ太!縦の位置?) 書く。
 サーバー!"t" (カメ太!向き?) 書く
」。
カメ太:読み出し=「
 x=サーバー!"x" 読む。
 y=サーバー!"y" 読む。
 t=サーバー!"t" 読む。
 カメ太!(x)(y)位置 (t)向き
」。

13.5 通信 動 ( 5)
5 、 中心的 部分 。行 処理 画面
上 動 、 両方 画面 同 表示 必要
、 介 通信 行 、 状態 互 合

次 、最初 、 接続 。続 、 4 定
義 「書き込み」 実行 、 位置 書 込 。
作成 。 、 開始 動作 。
続 、 処理 行 。本質的 動作 次 1 行 記述 。
、 役 「カメ太」 前進 動作 。

時計!「カメ太!10 歩く」実行。

、他 画面 状態 合 、最初 「 読み出し 」
相手 状態 取得 、 正 位置 置 。続
移動 、移動後 新 状態 「書き込み」 書 込

// 通信しながらボールを動かす(ステップ5)
サーバー!"localhost" 接続。
カメ太!書き込み。
時計=タイマー! 作る 60秒 時間 0.2秒 間隔。
時計!「
 カメ太!読み出し。
 カメ太!10 歩く。
 カメ太!書き込み。
」実行。
13.6 勝敗 判定 ( 6) 63

13.6 勝敗 判定 ( 6)
最後 、 終了 続 場合 「ゲー
ムクリア」 表示 。 部分
同 、詳 Activity 6 参照 。

// ゲームの勝敗を判定する(ステップ6)
ゲームクリア=はい。
左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。
時計! 待つ。
「ゲームクリア==はい」! なら「
  ラベル! "ゲームクリア! "作る (青)文字色。
」そうでなければ「
  ラベル! "ゲームオーバー! "作る (赤)文字色。
」実行。

1 6 全体 掲載 。
左側 画面 実行 。
64 Activity 13 作

// 壁を作る(ステップ1)
カメ太=タートル! 作る。
カメ太!(緑)線の色 20 線の太さ。
壁=カメ太!550 歩く 図形を作る -200 200 位置。
壁!作る -200 -220 位置。
カメ太!90 左回り。
左壁=カメ太!(黄)線の色 440 歩く 図形を作る -210 -230 位置。
パドル=カメ太!(青)線の色 120 歩く 図形を作る -190 -210 位置。

// パドルを動かす(ステップ2)
上ボタン=ボタン! "上" "UP" 作る -380 50 位置。
下ボタン=ボタン! "下" "DOWN" 作る -380 0 位置。
上ボタン:動作=「パドル! 0 50 移動する」。
下ボタン:動作=「パドル! 0 -50 移動する」。

// ボールの動きを定義する(ステップ3)
カメ太!ペンなし 45 向き。
カメ太!0(乱数(300)-150)位置。
カメ太:衝突=タートル:跳ね返る。

// 通信を準備する(ステップ4)
カメ太:書き込み=「
 サーバー!"x" (カメ太!横の位置?) 書く。
 サーバー!"y" (カメ太!縦の位置?) 書く。
 サーバー!"t" (カメ太!向き?) 書く
」。
カメ太:読み出し=「
 x=サーバー!"x" 読む。
 y=サーバー!"y" 読む。
 t=サーバー!"t" 読む。
 カメ太!(x)(y) 位置(t)向き
」。

// 通信しながらボールを動かす(ステップ5)
サーバー!"localhost" 接続。
カメ太!書き込み。
時計=タイマー! 作る 60秒 時間 0.2秒 間隔。
時計!「
 カメ太!読み出し。
 カメ太!10 歩く。
 カメ太!書き込み。
」実行。

// ゲームの勝敗を判定する(ステップ6)
ゲームクリア=はい。
左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。
時計! 待つ。
「ゲームクリア==はい」! なら「
  ラベル! "ゲームクリア! "作る (青)文字色。
」そうでなければ「
  ラベル! "ゲームオーバー! "作る (赤)文字色。
」実行。
13.7 実行 ( 7) 65

13.7 実行 ( 7)
節 作成 、 相手 画面 協調
動作 、単体 動 。実行 手順 説明

、 起動 。 起動
、 左側 役割 画面 実行
動 。 起動 、 編集画面
( 入力 画面) 開 、右側 server
。 、 画面 表示 。
画面自体 使 、開 放 。
次 、右側 画面 実行 、 画面
起動 。右側 画面 実行 示 。左側 画面
違 、画面上 左右逆 配置 、
初期位置 設定 、 両方 画
面 自然 位置 表示 、 位置 100 左
書 込 。
左側 画面 同 実行 場合
変更 必要 、別 実行 場合 、左側
画面 実行 名
IP 調 、 中 「localhost」 部分 書 換
必要 。
66 Activity 13 作

// 壁を作る(ステップ1)
カメ太=タートル! 作る。
カメ太!(緑)線の色 20 線の太さ 180 右回り。
壁=カメ太!550 歩く 図形を作る 200 200 位置。
壁!作る 200 -220 位置。
カメ太!90 右回り。
左壁=カメ太!(黄)線の色 440 歩く 図形を作る 210 -230 位置。
パドル=カメ太!(青)線の色 120 歩く 図形を作る 190 -210 位置。

// パドルを動かす(ステップ2)
上ボタン=ボタン! "上" "UP" 作る 230 50 位置。
下ボタン=ボタン! "下" "DOWN" 作る 230 0 位置。
上ボタン:動作=「パドル! 0 50 移動する」。
下ボタン:動作=「パドル! 0 -50 移動する」。

// ボールの動きを定義する(ステップ3)
カメ太! ペンなし。
カメ太!0(乱数(300)-150)位置。
カメ太!45 向き。
カメ太:衝突=タートル:跳ね返る。

// 通信を準備する(ステップ4)
カメ太:書き込み=「
 サーバー!"x" (100+(カメ太!横の位置?)) 書く。
 サーバー!"y" (カメ太!縦の位置?) 書く。
 サーバー!"t" (カメ太!向き?) 書く
」。
カメ太:読み出し=「
 x=サーバー!"x" 読む。
 y=サーバー!"y" 読む。
 t=サーバー!"t" 読む。
 カメ太!(x-100)(y)位置(t)向き
」。

// 通信しながらボールを動かす(ステップ5)
サーバー!"localhost" 接続。
//カメ太!書き込み。
時計=タイマー! 作る 60秒 時間 0.33秒 間隔。
時計!「
 カメ太!読み出し。
 カメ太!10 歩く。
 カメ太!書き込み。
」実行。

// ゲームの勝敗を判定する(ステップ6)
ゲームクリア=はい。
左壁:衝突=「:ゲームクリア=いいえ。時計! 中断」。
時計! 待つ。
「ゲームクリア==はい」! なら「
  ラベル! "ゲームクリア! "作る (青)文字色。
」そうでなければ「
  ラベル! "ゲームオーバー! "作る (赤)文字色。
」実行。
Part VI


68

Activity 14

使用 教材

Activity 、 制御 行 環境設定 使用 教材 解説

14.1
制御 、 版 、Java 通信
必要 。

• Java 付 版(○): 外部機器 制御 。


• Java 版(△): Java 通信
必要 。 作業 最初 時 、Java
行 必要 。通信
作業 、 管理者権限 必要。
• 版(×): 外部機器 制御 。

14.2 接続
動 、 接続
。 存在 場合 、USB 変換
利用 。必要 場合 、Web 「USB 」
検索 、数種類 製品 見 。入手 、商
品 必要 。

14.3 通信 確認
作成 前 、使用 調
必要 。
WindowsXP 場合*1 、「 マイコンピュータ 」 右 「 プロバ
ティ」 開 、「ハードウェア」 「デバイスマネージャ」 開
、「ポート(COM と LPT)」 COM 部分 見 。 図 場合 、通信
"COM1" 分 。USB 変換 使用
場合 、 製品名 表示 。

*1 Macintosh Linux 、 名 指
定 。
14.4 69

14.4
本書 MYU 解説 。
制御 画面 記述 、 送
命令 部分 MYU 構造化命令 記述 。 文法 限
合 、 制御
、通常 違 部分 存在 注意 必要 *2 。

本書 扱 、 開発・販売 製品 。
製品 、CPU PIC 採用 。 CPU I/O(外部
) 機能 搭載 、 転送
解釈 、自律的 動作 可能 。転送 上限
127 *3 。

MYU 詳 説明 本書 紹介 命令 、次
解説 。

「構造化 」 ( )
http://www.geocities.jp/shuinoue/myurobo/dolittle.html
「MYU 入門」「MYU 命令」 ( 言語「 」)
http://dolittle.eplang.jp/

基本

基本 、車型 。写真 左側 先頭 衝突
検出用 ( ) 、壁 障害物 検出 。2
個 前輪 取 付 、左右 独立 回転
。 方式 、2 個 制御 2 軸制御 呼
。両方 同時 回転 直進 。左右 曲 、片方 車輪
回転 。写真 中央 基板 動作 使 電池
。写真 右側 電気部品 取 付 基板 、 頭脳
、 制御 監視 行 。

3軸 基本

3 個使 3 軸制御 可能 。2 軸 2個
使 移動 動作 基本 、3 軸 1個
使 、物 運 作業 行 、行 幅 大 広

、移動 作業 両方 必要 、最初 移動
十分 行 、作業 含 行 望

*2 制御用 構文 、井上修次氏( )、青木浩幸氏(高麗大学校大学院)、紅林


秀治氏(静岡大学) 設計 。
*3 2 CPU 交換 、255 扱 。
70 Activity 14 使用 教材

14.5 対話的 操作
転送 実行 、 線 対
話的 操作 可能 。次 、 押
太 命令 送 、 動作 行 。

//ロボットと転送ケーブルでつないでリモコン操作
ロボ太=MYU!"com1"作る 150 200 位置。
ロボ太!ひらけごま。
前進ボタン=ボタン!"前進" 作る -220 150 位置。
前進ボタン:動作=「ロボ太!前進」。
後進ボタン=ボタン!"後進" 作る 0 150 位置。
後進ボタン:動作=「ロボ太!後退」。
左前ボタン=ボタン!"左回り" 作る -220 100 位置。
左前ボタン:動作=「ロボ太!左回り」。
右前ボタン=ボタン!"右回り" 作る 0 100 位置。
右前ボタン:動作=「ロボ太!右回り」。
停止ボタン=ボタン!"停止" 作る -110 -10 位置。
停止ボタン:動作=「ロボ太!停止」。
音1ボタン=ボタン!"音1" 作る -220 -70 位置。
音1ボタン:動作=「ロボ太!15 電子音」。
音2ボタン=ボタン!"音2" 作る -110 -70 位置。
音2ボタン:動作=「ロボ太!16 電子音」。
終了ボタン=ボタン!"終了" 作る 0 -70 位置。
終了ボタン:動作=「ロボ太!とじろごま」。
71

Activity 15

15.1 記述
MYU 制御 基本形 示 。先頭 行 、 上
扱 太 名前 MYU 作 。
2 行目 、 転送 定義 。
末尾 行 、定義 実行 、 転送 。
転送 、 間 記述
。「com1」 番号 。実行
番号 応 、「com2」 修正 実行 必要 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット

 //ここに制御プログラムを書く

おわりロボット」。
ロボ太!転送命令。

実際 示 。 制御 、「前進」 「右回
り」 単位 0.1 秒 。次 、 1 秒間前進 、0.5
秒間右 回転 動作 表 。表 15.1 使用 命令 例 示 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 10 前進 5 右回り
おわりロボット」 。
ロボ太!転送命令。

15.2 実行
作成 、 転送 実行 。
実行 、 転送
接続 。
「実行!」 押 、転送画面 表示 。 表示
場合 、 修正 再度実行 。 正 入
力 、「[転送準備 OK?]」 表示 。
72 Activity 15 動

表 15.1 命令(一部)

命令 用途 使用例
制御 先頭 示
制御 末尾 示
前進 両輪 前転 開始 、 値× 0.1 秒間 待 10 前進
後退 両輪 後転 開始 、 値× 0.1 秒間 待 10 後退
右回 左車輪 前転、右車輪 後転 開始 、 値× 0.1 10 右回
秒間 待
左回 右車輪 前転、左車輪 後転 開始 、 値× 0.1 10 右回
秒間 待
停止 停止 後、 値× 0.1 秒間 10 停止

繰 返 脱出 繰 返 中 書 、繰 返 中断 次 進 繰 返 脱出
繰 返 指定 回数 実行 「! 5 2 時間」3 繰 返
入力 指定 番号 入力 ON 実行 1 入力 「! 10 後退」実行

「転送」 押 、 転送 行 。「ピ・・」 音
鳴 、最後 「ピピ」 音 鳴 、正常 転送 終了 分 。
正常 転送 、転送 抜 。
転送 実行 開始 方法 2 種類 。
、先頭 押 方法 。今回 、 方法
説明 。 方法 、
「!はじめロボット」 続
書 、電源 入 実行 。
方法 、好 状況 応 使 分 。
転送 電源 切 後 記憶 。電源
入 、 押 再度実行 可能 。

15.3 性質
、「前進」 動作 関 命令 実行
、次 関 命令 実行 動作 継続 性質 。
、確実 1 秒間 動作 場合 、「10 前進」 書
、「10 前進 停止」 、明示的 動作 停止 記述 必要

性質 持 、 動作 並行 「
入力 監視 」「音 鳴 」 処理 行 可能 。
15.4 繰 返 73

15.4 繰 返
繰 返 使 、命令 繰 返 実行 。次 、「前進
して右回り」 10 回繰 返 。結果 多角形 描 移動

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 「!10 前進 5 右回り」10 繰り返す
おわりロボット」 。
ロボ太!転送命令。

繰 返 回数 省略 場合 、無限回 意味 、無限
、 繰 返 命令 実行 続 。無限 使 場合 、
条件 成 立 繰 返 抜 繰 返 脱出 組 合
使 多 。
次 実行 、 多角形 描 移動 、
障害物 検出 抜 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 「!10 前進
   1 入力あり「!繰り返し脱出」実行
   5 右回り
 」繰り返す
 10 後退
 停止
おわりロボット」 。
ロボ太!転送命令。
74

Activity 16

迷路 抜

16.1 想定
章 、迷路 抜 考 。想定 図 示 。
大 180cm × 90cm( 一畳分)程度 想定 。

16.2 移動距離 迷路 抜
最初 、壁 、進 距離 調整 至
作成 。 、図 「壁 直前 前進 、右 向 、次 壁
直前 前進 、左 向 、...」 形 考 。

制御 画面 操作
似 、前進 回転 距離 角度 指定 、
回転 時間 指定 点 異 。実際 距離 移動
、 角度 回転 、実行 確認 必要 。
到達 何度 試行錯誤 行 、最初 調整 動
。 指定 回 時間
、摩擦 電池 消耗 原因 、実行 繰 返 、同
動作 微妙 異 場合 。 方法 、 状態
到達 、次 実行 到達
保証 。
16.3 入力 検出 75

16.3 入力 検出
今回使用 先頭 衝突検出用 取 付
、1 番 入力 接続 。 利用 、前進
壁 衝突 検知 、電池 消耗 個体差 影響 確実
動作 実現 。
、「前進 、障害物 感知 後退 向 変 」 動作
繰 返 説明 。
次 、

「!1 入力なし」の間「!前進」実行

1番 押 間 (「...」) 実行 。
結果、 押 「前進」 繰 返 実行 、 押

!10 後退 10 右回り

実行 。表 16.1 命令 例 示 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 10 前進
 「!
   「!1 入力なし」の間「!前進」実行
   10 後退 10 右回り
 」繰り返す
おわりロボット」 。
ロボ太!転送命令。

表 16.1 命令(一部)

命令 用途 使用例
停止 停止 後、 値(× 10  停止
0.1 秒間) 待
1番 入力 直前 動作 続
電子音 第1 時間 、第 2 音程 10   40  
鳴 。音程 数字 大 低
繰 返 指定 回数 実行 「! 5     2  時間」3  繰 返
繰 返 脱出 繰 返 中 書 、繰 返 中断 次 繰 返 脱出

入力 ... 実行 指定 番号 入力 ON 実行 1  入力  「! 10  後退」実行
間... 実行 指定 条件 成 立 間、 繰 返 実 「! 1  入力 」 間「! 前進」実行

実行脱出 「 間... 実行」 中 書 、繰 返 中断 実行脱出
次 進
76 Activity 16 迷路 抜

参考 1: 入力 実行 方法

動 入力 検出 、複数 方法 書
。 繰 返 中 、入力 特定 動作 行 方法
示 。書 方 異 、前 例 動作 同 。
次 、入力 1番 押
(「...」) 実行 。 結果、 押 「前進」 繰 返
実行 、 押

!10 後退 10 右回り

実行 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 10 前進
 「!前進
   1 入力あり「!10 後退 10 右回り」実行
 」繰り返す
おわりロボット」 。
ロボ太!転送命令。

参考 2: 入力 実行 止 方法

繰 返 中 、入力 間、特定 動作 行 方法 示 。書
方 異 、前 例 動作 同 。
次 、 1 番入力 接続 (
) 押 進行 止 。 結果、 直前
「前進」 実行 維持 、前進 続 。 押
、 進行 再開 、 後

!10 後退 10 右回り

実行 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 10 前進
 「!前進
   リミットスイッチ
   10 後退 10 右回り
 」繰り返す
おわりロボット」 。
ロボ太!転送命令。
16.4 定義命令 77

16.4 定義命令
定義命令 独自 命令 定義 。構文 定義 同様
、 先頭 必 ! 記述 。


ロボットオブジェクト:命令=「!...」

次 、音楽 演奏 、障害物 感知 動作 「演奏」


「Uターン」 命令 定義 。実行 命令

1 入力あり「!演奏 Uターン」実行

記述 、「1 番 入力 場合 演奏 U
」 、 素直 読 下 、 読
向上 。

ロボ太= MYU !"com1" 作る。


ロボ太:演奏=「!
 2 48 電子音2 46 電子音2 44 電子音2 42 電子音
 2 40 電子音2 38 電子音2 36 電子音2 34 電子音
」。
ロボ太:Uターン=「!10 後退 10 右回り」。
ロボ太:転送命令=「!はじめロボット
 演奏
 「!前進
   1 入力あり「!停止 演奏 Uターン」実行
 」繰り返す
おわりロボット」 。
ロボ太!転送命令。
78

Activity 17

17.1 想定
Activity 、 追加 、物 運
仕事 考 *1 。想定 図 示 。大
180cm × 90cm( 一畳分) (建築工事用 合板) 想定
。 中央 2×4材 置 、 上 荷物 緩衝
材 。

17.2 拡張
3 個目 、荷物 運 支
取 付 。 回転 検知 、本体 上部
2 個取 付 、衝突検知用 前後 取 付 配線
。 構造 図 示 。 、前 衝突検知用 1 番、前
角度検知用 2 番、後 角度検知用 3 番、後 衝突検
知用 4番 。

*1 Activity 、「3 軸ミュウロボ基本セット」(14.4 節) 必要 。


17.3 運 79

17.3 運
中央 資材置場 荷物 運 流 次

1. 前進: 資材置場 向 進 、前 押
止 。
2. 持 上 : 少 持 上 、 中 資材 入

3. 後退: 向 後退 、後 押
止 。
4. 荷物 後 落 : 後 回 、後 角度検知用
押 止 。
5. 戻 : 前 回 、前 角度検知用
押 止 。

流 書 次 。

ロボ太=MYU!"com1"作る。
ロボ太:転送命令=「!はじめロボット
 パワーオンスタート
 「!1 入力なし」の間「!前進」実行
 5 モーター左
 「!4 入力なし」の間「!後退」実行
 「!3 入力なし」の間「!モーター左」実行
 「!2 入力なし」の間「!モーター右」実行
おわりロボット」 。
ロボ太!転送命令。

17.4 命令 定義
複雑 、 行 処理
、分 。 定義命令 使 、
処理 名前 付 理解 。
流 書 次 。 処理 「
前進」 名前 付 定義命令 。 最
初 定義 行 、 中 個々 処理 具体的
持 読 可能 。
80 Activity 17 運

ロボ太=MYU!"com1"作る。
ロボ太:ぶつかるまで前進=「!「!1 入力なし」の間「!前進」実行」。
ロボ太:アームを持ち上げる=「!5 モーター左」。
ロボ太:ぶつかるまで後退=「!「!4 入力なし」の間「!後退」実行」。
ロボ太:荷物を後ろに落とす=「!「!3 入力なし」の間「!モーター左」実行」。
ロボ太:アームを戻す=「!「!2 入力なし」の間「!モーター右」実行」。
ロボ太:転送命令=「!はじめロボット
 パワーオンスタート
 ぶつかるまで前進
 アームを持ち上げる
 ぶつかるまで後退
 荷物を後ろに落とす
 アームを戻す
おわりロボット」 。
ロボ太!転送命令。

17.5 化
定義命令 複数 箇所 実行 場合 、 化
、 転送 節約 。
大 入 、
化 有効 。
次 16.4 節 改良 、 定義命令
「演奏」 定義 後 、

ロボ太!"演奏" ブロック化。

化 行 。 化 効果 異
、 、転送 69 52 小

ロボ太= MYU !"com1" 作る。


ロボ太:演奏=「!
 2 48 電子音2 46 電子音2 44 電子音2 42 電子音
 2 40 電子音2 38 電子音2 36 電子音2 34 電子音
」。
ロボ太!"演奏" ブロック化。
ロボ太:Uターン=「!10 後退 10 右回り」。
ロボ太:転送命令=「!はじめロボット
 演奏
 「!前進
   1 入力あり「!停止 演奏 Uターン」実行
 」繰り返す
おわりロボット」 。
ロボ太!転送命令。
Part VII

付録
82

付録 A

授業 利用

小学校 大学 幅広 範囲 利用可能 。企業 新人研修 使 例 。


、授業 利用 参考 、 授業例 紹介 。
以下 授業例 、授業回数 難易度 、中学校技術・家庭 高校普通教科「情報」
、大学 共通科目程度 想定
。小学校 、高学年以上 、多少時間 増 程度 実施可能 。1 回 授業時間
45 分 50 分程度 想定 。

A.1
体験

時間: 2 回(高校以上 1回 可能)


: 入力
授業 目的: 動 仕組 体験
授業 目標: 人間 書 動 理解
: 版、 版
学習環境: 室。教員 1 名
授業内容: 移動
1 (Activity 1)
2 (Activity 4)

仕組 学

時間: 3 回∼4 回
: 入力
授業 目的: 動 仕組 体験
授業 目標: 人間 書 動 理解
: 版( 実習 不可)、 版
学習環境: 室。教員 1 名
授業内容: 対話的 操作
1 (Activity 1, Activity 2)
2 (Activity 4)
3 (Activity 3)
4 (Activity 10, Activity 11)
A.2 83

時間: 9 回
: 入力
授業 目的: 体験
授業 目標: 作品 作
: 版、 版
学習環境: 室。教員 1 名
授業内容: 繰 返 、 、衝突
1 使 、 書 (Activity 1)
2 繰 返 、 定義、図形(Activity 1, Activity 2)
3 、 、 (Activity 3, Activity 4)
4 衝突(Activity 5)
5, 6 分岐、 (Activity 6)
7, 8 作品制作
9 相互評価・発表

A.2
仕組

時間: 4 回
: 入力 。
授業 目的: 存在 気 、通信 楽 味
授業 目標: 同士 通信 体験的 理解
学習環境: 生徒 LAN 接続 室、教員 1 名
授業内容:  
1 IP 、 読 書 (Activity 10)
2 音楽 配信(Activity 12)
3 1行 (Activity 11)
4 複数 (Activity 11)
84 付録 A 授業 利用

A.3 制御

時間: 4 回
: 入力
授業 目的: 家電製品 組 込 機器 制御 理解
授業 目標: 移動 制御
: 版
学習環境: 室 走 場所(廊下 )。教員 1 名
授業内容: 移動命令
1 動 命令 書 (Activity 14)
2∼4 踊 !(Activity 15)

迷路脱出

時間: 6 回
: 「 踊 」 内容 理解
授業 目的: 制御 外部 入力 利用 理解
授業 目標: 利用 壁 衝突 検知 作成
: 版
学習環境: 室 迷路 。教員 1 名
授業内容: 入力
1∼4 迷路 着 挑戦 (Activity 14, Activity 15)
5∼6 付 挑戦 (Activity 16)

物 運

時間: 11 回
: 「 迷路脱出」 内容 理解
授業 目的: 物 運 作業 行 仕組 理解 、 作成
授業 目標: 身近 機械 使 。 、構造化 部品化
大切 理解
: 版
学習環境: 室 競技 。教員 1 名
授業内容: 3軸 制御
1∼2 玉入 製作。 製作 2軸 拡張
3∼4 玉入 動作確認
5∼7 繰 返 利用 (Activity 16)
8∼9 利用 動 。繰 返 脱出(Activity 17)
10∼11 物 運 完成(Activity 17)
85

付録 B

文章 分 ( )文章 理解 (悪 )文章 、
悪 。 、 書 説明 。

B.1 何
、簡単 、「目的 達成 」 。 、目的 人
、 違 。 、次 2 場合 考 。

(a) 決 作

授業 指示 課題 作 、仕事 注文 受 作 場合 相当
。「 作 」 、 要求 与 。 満
作 、目的 達成 。

(b) 自由 考 作

授業 自由作品 課題 作 、自分 目的 決 作 場合 相当
。 作 程度自由 決 。自分 作 思 作 、
目的 達成 。

B.2 作 方
自由 作 、 知 、目的 確実 素早
作 。 、 中 基本的 選 伝授 。

(1)作

作 分 、 作 始 分 。
「完成 、 画面 、 動 」 考 。 、
具体的 大切 。頭 中 、 動 様子 生 生
、動 様子 絵 書 考 。

(2) 機能 必要 考

最初 簡単 作 思 、書 長 。長
全体 理解 、何十行 、自分 書 理解 。
86 付録 B 書

、大 3∼5 個 、作 必要 機能 考 。機能 、
行 動作 。最初 簡単 、 順番 作
考 重要 。
機能 考 、Part III 紹介 参考 。 、Activity
5 「宝物拾いゲーム」 、次 4個 作 。 、 全体 作 、
1 順 小 作 、最終的 作 上
。 先頭 、何 機能 (「//」) 書 。

( 1) 操作
最初 、画面 上 目 見 置 作 。 、画面
主役 作 。 結果 画面 現 、自分 正
動 確認 。
( 2) 前進
次 、画面 動 付 。 2 、主役 前進 。
遊 。
( 3) 宝物 画面 置
続 、脇役 登場 、衝突 動作 定義 、
全体 完成 。 3 、脇役 宝物 画面 置 。
( 4) 宝物 拾
最後 足 機能 作 、 完成 。 4 宝物 衝突
動作 定義 。

(3)1 行 実行 作

動 、長 中 原因 調 簡単
。 、 10 行 入力 実行 、何 表示 、思
動 多 。
、「 行 問題 」 分 、原因 調 難 。 、
慣 、 基本的 1 行入力 実行 動作 確 進
望 。
実行 書 、 正 確認 加 、「少
形 」 実感 、 作 作業 楽 効果 。
本来楽 作業 、 早 体験 速 上達 。
実行 表示 場合 、 手 問題 箇所 探 *1 。

実行 確認 、前回実行 部分 正 動 、問題 直前 入力 数行
分 。必要 応 、問題 行 先頭 「//」 書 、 行
調 。「 行 動 」「 行 加 動 」 切 分
、問題 見 。

(4)目標 達成 確認

動 、 完成 、 足 部分
考 。確認 点 異 、次 点 共通 求

*1 Activity 1 参照。
B.2 作 方 87

考 。

(目的 達成) 与 課題 達成
作 確認 。
(正 動 ) 実行 正 動
実行 、途中 動 確認 。
(読 ) 他 人 読 理解
一週間後 自分 読 分 、 先生 他 人 読 理解 、
整理 。機能 作 、機能 説明 書 重要

自由課題 作品 、自分 目的 決 作 、次 点 確認 。

(面白 ) 見 人 楽
他 人 見 使 重要 。
(独自 工夫点) 自分 工夫点
図形 形 配置 、 工夫 点 達成感 。
(画面 ) 見 目 大切
他 人 見 使 、見栄 使 重要 。 作
、使 作品 仕上 。
88

付録 C

言語 基礎知識

、最初 「 」 簡単 説明 後、 言語
基本的 概念 原理 説明 。

C.1
我々 普段 使 、 上 動 、我々 相手
。Web 上 情報(HTML 画像 ) 取
寄 画面 表示 、 打 込 文字 整形 、画面上
配置 、 印刷 。
、 「 」 中身 具体的 ? 、 「
」 取 替 、 作業 ?
答 実 1 、 「 命令 順番 実行 装置(機械) 、
作業 命令 並 」 落 着 。 先 2
問 答 形 、次 :

• 、 実行 命令 並 、 並 実行
動作 行 。
• 単 命令 実行 装置 、 命令 取 替 、 作業

、 「 作 」 、上 説明 延長 、
「自分 」 実行 、命令 並 行 作業 、 。
、具体的 命令 並 行 ? 情報 「0」 「1」
組合 成 列( 情報) 表 、一番根本部分 CPU(中央処理装置
) 命令 表 列(機械語) 並 実行 。

「0」 「1」 組 合 作 大変繁雑 間違 、今日 行
。 代 、人間 分 書 方 命令 書 表 。 書 表 方 言語
、 種類 。
言語 書 表 実際 実行 、 別 ( 言
C.2 、 、変数 89

語処理系) 使 。 言語処理系 、 言語 書 表 機械語 変換


方式( ) 、 言語 書 表 読 取 直接 動作 実行 方式
( ) 。

一般的 話 、次節以降 命令 内容 書 表 方 言語 場合 学 行
。現在 言語処理系 方式 採用 。

C.2 、 、変数
一般 、 情報( ) 取 扱 。 、 総称
( ) 呼 。我々 日常生活 接 「 」 大 、形、色、機能 持 、
同様 。 上 動 言語 、
大 、色、機能 、 扱 、 上 情報 表
… 、大 、色、機能 情報 付随
。 、 付随 情報 呼 。

、 情報 統一的 扱 、 機能 付随
形 扱 言語 指向言語 。今日 開発
指向言語 多 使 。C++、Java 指向言語 例 。 指向
言語 。
中 扱 上 、 名前 付 不便 。
、 直接名前 付 、 入 「 」 名前 。
「 」 変数 。
、変数 格納 動作(代入) 「=」 表 。 、次 「
1」 名前 変数 、「=」 右側 指定 格納 (指定 次 節
説明 )。

ボタン1 = ...。
90 付録 C 言語 基礎知識

変数 「 」 、 中 内容( ) 入 換 。
変数 内容 入 換 、 1 入 場合 、 変数 名前
、 「 名前」 思 差 支 。
、 使 標準的 、決 一連 変数 最初 格納
。 変数 普通、書 換 、「 標準 、
固有 名前 持 」 考 。
付随 、 名前 持 。変数 格納
指定 1 方法 、次 、変数名 後 「:」 区切 名 指定

ボタン1:動作 = ...。

例 分 、 変数 同 扱 。

C.3 送信
前節 、 付随 「機能」 述 。 機能 、
付属 、 名 用 「 機能」 指定 。
指向言語 通常、機能 呼 、本書 以下 呼 方 用 。
要 持 ( 付随 )機能 覚 頂 。
使 、通常 「呼 出 (動 、働 )」 。
、 名前 標準 、 付属 「作 」 呼
出 、新 (表示欄) 作 返 。 新 作 、
変数「 1」 格納 、次 。

ボタン1 = ボタン!作る。


「オブジェクト ! メソッド名」 書 方 、 呼
送信 呼 。 、最後 「。」 、 動作(文) 終 表 。
送信 呼 出 、必要 応 追加 情報 渡
。 呼 出 呼 。 、 名 前 書

、 「作 」 、 表示 文字列 渡
。先 直 :

ボタン1 = ボタン!"テスト" 作る。

実行 、先程 同様 現 、 「 」 。
C.4 中置記法 91

、実行 後、何 値( ) 返 。1 送信( 呼


出 ) 後 、続 別 名 書 、前 返 対
呼 出 行 。 (直列接続) 呼 。
、 作 後、 位置 指定 、 次 、 「位置」
呼 出 。

ボタン1 = ボタン!"テスト" 作る 100 50 位置。

上 例 、 複数個指定 。 、並 名前
分 ? 実 、「!」 右側 名前 名
扱 。「" "」 囲 文字列 、「100」 数値 名 。変数
名 指定 、変数名 「()」 囲 「(x)」 指定 (C.4 節 詳 説明 )。

場合、変数 格納 値( 送信式全体 値) 、一番最後


返 値 。上 場合、 「位置」 位置 変更 後、
自体 返 、変数「 1」 格納 値 先 同 。
何 返 、 定義内容 異 。 分
、 標準定義 、元 返 多 。 、新
作 出 目的 「作 」「∼ 作 」 名前 、「?」 終 名前 持
性質 調 目的 、 原則 例外 。

C.4 中置記法
処理 指定 書 方 1 上 説明 送信 、 1 書
方 中置記法 。中置記法 「x+ 1」 、計算対象 間 演算 書 、加減乗除
演算 読 書 。 、 例 送信記法 書 「x! 1 足 」 。
1 式 全体 送信記法 、全体 中置記法
、「(…)」 囲 中 外側 別 送信記法 中置記法 選 。
送信記法 中置記法 、「!」 有無 判断 。
92 付録 C 言語 基礎知識

中置記法 送信記法 1 違 、中置記法 中 名前 変数 表 、


。 対 、 送信記法 中 直接変数 書 「!」 左側 、
「!」 右側
名前 名 扱 。 、 変数 指定 場合 「(…)」 囲 必要
(囲 中 中置記法 )。 、中置記法 「x+y」 送信記法 書
「x!(y)足 」 、 「(y)」 丸 中 (「!」 )中置記法 書
扱 。
中置記法 中 使 演算子 、+(足 )、-(引 )
、*(掛 )、/(割 )
、%(余 ) (
内 使 名称)。 、比較演算子==(eq)、!=(ne)、>(gt)、>=(ge)、<(lt)、
<=(le) 。
、中置記法 中 関数記法 使 。 、
「sqrt (2)」 「2 ! sqrt」 略 、
任意 「 ! 」 「 ( )」 形 書

中置記法 使 場合 全体 括弧「
(…)
」 囲 必要 、代入文 右辺 括弧 省略 、
「x = x
+ 1」 書 可能 。

C.5
角 (「…」 […]) 、 表 扱 。
部品化 仕組 、一連 動作 「後 実行 、繰 返 実行 」 考
。 実行 取 動作 実行 (以下 出
、 以外 動作 実行 方法 多数 )。次 例 2 回実行 、
30 表示 。

x = 10。
動作1=「x=x+10」。
動作1!実行。
動作1!実行。
ラベル!(x)作る。

実際 、 「 」価値 場面 使 。 、次 考

ボタン1 = ボタン!"テスト" 作る 10 50 位置。


ボタン1:x = 10。
ボタン1:動作 = 「x = x + 10。ボタン1!(x)50 位置」。

、前 例題 同様 作 後、 x 10 格納 、
1 「動作」 格納 。
格納 、 。
、 押 自身 「動作」 呼 出 作 、
押 実行 。
、 中 、x 等 持
x 対応 (C.10 節 詳 説明 )。 、 x 格納 値 10 足 値 計
算 、 結果 再 x 格納 。次 、 位置 X 座標 x 値、Y 座標 50 変
更 。 、 押 位置 右 10 移動 。
先頭 「|…|」 囲 書 、 呼 出 渡
受 取 。 、渡 値 初期値 持 変数 扱
C.6 制御構造 93

。 、
「実行」 動作 渡 。( 変数
C.10 節 詳 説明 )

カメ太=タートル!作る。
カメ太:曲がって動く = 「|角度 距離|!(角度)右回り(距離)歩く」。
x = カメ太!30 100 曲がって動く 横の位置?。
ラベル!(x)作る。

「!」 前 何 、 持 指定 扱 。
、特別 名前「自分」 持 指定 使 。従 上
例 「自分!…」 書 。

1 式 、最後 評価 式 値 全体 値 返 。 値 返
利用 。上 例 、最後 評価 「歩 」 、 返 値、
太自身 「曲 動 」 返 値 。 引 続 太 対 「横 位置?」 呼
出 X 座標 調 。

C.6 制御構造
、 作 、 制御構造 実現 使 。
、 自身 持 使 基本 。以下 説明 。

指定回数 繰 返

繰 返 使 、 書 動作 指定回数、繰 返 実行
。繰 返 回数(任意 数値) 指定 。

「...」!n 繰り返す。
94 付録 C 言語 基礎知識

次 実行 、初期値 0 変数 「a」 1 加 処理 10 回行 、結果 画面 10


表示 。

a=0。
「a=a+1」!10 繰り返す。
ラベル!(a)作る。

現在 何回目 実行 、 受 取 。

「|i| ...」!n 繰り返す。

次 実行 、初期値 0 変数 「a」 、何回目 繰 返 示 「i」 加


処理 10 回行 、結果 画面 55 表示 。「i」 値 、繰 返 実行 1, 2, 3, ...,
10 変化 。 結果、
「a=a+i」 実行 「a」 1, 2, 3, ..., 10 順 足 、結果
「0 + 1 + 2 + ... + 10」 合計 表示 。

a=0。
「|i| a=a+i」!10 繰り返す。
ラベル!(a)作る。

条件 成 立 間 繰 返

最初 回数 指定 、条件 指定 、 条件 成 立 間繰 返 場合 、
間 実行 次 組 合 使 。

「...」!の間「...」実行。

、100 以上 値 持 最初 数 表示 次 。

x1=1。x2=1。
「x1 < 100」!の間「z=x2+x1。x1=x2。x2=z」実行。
ラベル!(x1)作る。

「 間」 何 、1 番目 中 保持 、繰 返 調 準備
返 。 対 2 番目 「実行」 呼
出 、「1 番目 実行」→「結果 真 続行」→「2 番目 実行」→「1 番目
実行」→「結果 真 続行」→… 繰 返 続 行 。
C.6 制御構造 95

条件分岐

条件分岐(枝分 ) 、 条件 成否 応 一部 実行 。条件分岐
実行 組 合 記述 。

「...」!なら「...」実行。
「...」!なら「...」そうでなければ「...」実行。

、1 番目 実行 結果 真 2 番目 実行 。 下 形 、
2 番目 実行 場合 3 番目 実行 。 「 」 「
」 制御 適宜行 返 。

次 実行 、最初 1 10 乱数 発生 、変数「数」 入 。続 、
「数」
5 大 判定 、真 「なら」 続 実行 、偽 「そうでなければ」 続
実行 。結果 、実行 、画面 「大きい」 「小さい」 表示 。

数=乱数(10)。
「数 > 5」!なら「ラベル!"大きい" 作る」
そうでなければ「ラベル!"小さい" 作る」実行。

上 例 、 中 作 結果 画面 表示 。 実行 、最後 実行
値 実行結果 返 。次 、「なら」 続 「そうでなけ
れば」 続 文字列 返 、 値 「結果」 変数 入 。 、 値
表示 。

数=乱数(10)。
結果=「数 > 5」!なら「"大きい"」そうでなければ「"小さい"」実行。
ラベル!(結果)作る。

他 言語 「if-else 連鎖」 呼 、複数 条件 順 調 行 形 枝分 「 」


後 次 調 条件 書 記述 。 、次 形 。

「条件1」!なら「...」そうでなければ「条件2」なら「...」
そうでなければ「条件3」なら「...」そうでなければ「...」実行。
96 付録 C 言語 基礎知識

C.7
動作 実行 遅延 設 、一定時間間隔 繰 返 実行 場合 、 利
用 。

実行

、 指定 間隔 、指定 回数 時間 、 繰 返 実行
。標準 、間隔 0.1 秒、回数 100 回 設定 。

指定 実行 呼 出 、 受 取
設定 時間間隔 繰 返 実行 。最初 実行 、指定 間隔 待 後 行 。

タイマー!「...」実行。

次 実行 、「はろー」 文字 、画面 少 右下 動 。移動 、画面


動 命令 。「3 -2 移動する」 、 現在 位置 「右に 3」、
「下に
2」 移動 意味 。 一定間隔 繰 返 実行 、文字 少 画面
移動 。

表示=ラベル!"はろー" 作る。
時計=タイマー!作る。
時計!「表示!3 -2 移動する」実行。
C.7 97

動作設定

繰 返 間隔 、
「時計! 0.2  間隔。」 「間隔」 指定 。単位 秒 。
繰 返 回数 、「時計! 10  回数。」 「回数」 指定 。
次 実行 、画面 文字 右下 移動 。間隔 0.5 秒 設定 、標準 0.1
秒 間隔 比 、 動 。 動 距離 、直前 例 比 10 倍 大
。回数 10 回 設定 、5 秒間動 終了 。

表示=ラベル!"はろー" 作る。
時計=タイマー!作る 0.5 間隔 10 回数。
時計!「表示!30 -20 移動する」実行。

作 場合、 実行 間隔 、標準 0.1 秒 少


見 、放送 使 映像 0.02 秒 0.04 秒程度 間隔 、
場合 標準 0.1 秒 0.02 秒程度 適切 。 短 設定 可能 、
負荷 考慮 、最小 間隔 0.001 秒(1 秒) 短 設定 。
動作 、間隔 回数 指定 、間隔 時間 指定 。繰 返 時間 、
「時

計! 10  時間。 「時間」 指定 。単位 秒 。
通常、
「0.1 秒間隔 100 回実行」 「0.1 秒間隔 10 秒間実行」 動作 同 、繰 返 間隔 時間
動作 実行 場合 動作 異 可能性 。 、 0.2 秒程度 動作 0.1 秒
間隔 実行 場合 次 処理 行 。

• 0.2 秒 処理 0.1 秒間隔 100 回実行 場合 、約 20 秒 100 回 実行 行 。


• 0.2 秒 処理 0.1 秒間隔 10 秒間実行 場合 、10 秒 約 50 回 実行 行 。

、「必 指定 回数 実行 」 回数 指定 、「必 時間内 実行 終 」


時間 指定 。

繰 返 回数 利用

現在 何回目 実行 、繰 返 同様 、 受 取 。次
実行 、繰 返 移動 距離 長 、結果 進 速度 速 見 。

表示=ラベル!"はろー" 作る。
時計=タイマー!作る。
時計!「|i| 表示!(i)0 移動する」実行。

待 合

通常、上 順 実行 、 文 実行 終 待 次 文 実行 行

対 、 実行 、終 標準 設定 10 秒間 。 間 他 実行
行 、全体 動作 止 。
、 実行 、 並行 実行 。 、
中 同時 複数 処理 並行 実行 仕組 呼 。通常 、
1 ( ) 使 実行 。
98 付録 C 言語 基礎知識

並行 動作 、 先 終 内容
、 実行 終了 待 次 進 。 、
待 終了 待 。

次 実行 、時計 実行 開始 同時 最後 行 実行 、画面
「こんにちは」 表示 。

表示=ラベル!"はろー" 作る。
時計=タイマー!作る。
時計!「|i| 表示!3 -2 移動する」実行。
ラベル!"こんにちは"作る。

次 実行 、時計 実行 終了 待 、最後 行 実行 、
時間 経 画面 「こんにちは」 表示 。

表示=ラベル!"はろー" 作る。
時計=タイマー!作る。
時計!「|i| 表示!3 -2 移動する」実行。
時計!待つ。
ラベル!"こんにちは"作る。
C.8 配列 複数 利用 99

C.8 配列 複数 利用
配列 使 、 中 複数 入 、取 出 使 。入
数 種類 、 決 必要 。

配列 生成 参照

配列 、 入 指定 「作る」 実行 。配列 要素
、1 始 番号 指定 、読 読 出 。
次 、
「並び」 名前 配列 生成 、3 個 数値 入 。 、3 番目 要素
画面 表示 。

並び=配列!123 456 789 作る。
ラベル!(並び!3 読む)作る。

配列 入 要素 数 、要素数? 調 。次 、配列 3 個 数値
入 後 、要素数 画面 表示 。画面 3 表示 。

並び=配列!123 456 789 作る。
ラベル!(並び!要素数?)作る。

要素 追加・更新・削除

書 使 、配列 末尾 新 要素 追加 (要素数 1多 )。 、上書 使


、配列 指定位置 要素 書 換 (要素数 変 )。位置 消 使 、配列
指定位置要素 削除 。
100 付録 C 言語 基礎知識

次 、3 要素 格納 配列 末尾 要素 追加 、3 番目 要素 上書 後、2 番
目 要素 削除 、要素数 画面 表示 。画面 3 表示 。

並び=配列!123 456 789 作る。
並び!111 書く。
並び!3 234 上書き。
並び!2 位置で消す。
ラベル!(並び!要素数?)作る。

要素 実行

配列 入 要素 対 、同 命令 一括 実行 可能 。配列 対
実行 使 、配列 要素 数 繰 返 実行 。
、 配列 各要素 渡 。
次 、画面 「a」, 「b」, 「c」 書 3個 作 、 配列 入
。3 個 、特 名前 付 。続 、
「実行ボタン」 名前 作 、押
配列 要素 対 「自分! 10 0 移動する」 実行 。 結果、 押 画面上 3
個 少 右 移動 。

並び=配列!作る。
並び!(ラベル!"a" 作る 0 100 位置)書く。
並び!(ラベル!"b" 作る 0 50 位置)書く。
並び!(ラベル!"c" 作る 0 0 位置)書く。

実行ボタン=ボタン!"実行" 作る 0 -50 移動する。


実行ボタン:動作=「
  並び!「|並び要素| 並び要素!10 0 移動する」それぞれ実行。
」。
C.9 親子関係 101

C.9 親子関係
間 親子関係 呼 関係 、 名前( 、変数、 )
参照 書 換 関連 。 規則 理解 少 複雑 作成 不可
欠 。

「作 」 親子関係

親子関係 持 。 対 、親
呼 。
親 親、 親、… 。 、 (根元 意味) 特別
1 、 親 持 。 以外 直接 間接
子孫 。
何 対 作 呼 出 作 出 、
、作 「作 」 受 取 親 持 。 次 場
合、ObjA ObjB 親 。

ObjB=ObjA!作る。

子 親 持 (値 定義) 引 継
、親 同 扱 。 仕組 利用 、 、 、配列 、 標準
持 必要 作 利用 。

参照・書 換 親子関係

実際 子 親 持 、親 誰
覚 。 、 参照 、 自分 直接持
親、 親… 探 行 、最初 見 使用 。 探 無
場合 未定義 特別 結果 (未定義 子 )。
、子 作 後 、親 追加 書 換 、 結果 子
参照 。以下 例 ObjB 作 後 追加 「身長」 参照 、
「165」 表示 。

ObjA=ボタン!作る。
ObjB=ObjA!作る。
ObjA:身長=165。
ラベル!(ObjB:身長)作る。
102 付録 C 言語 基礎知識

、上 説明 、子 同 名前 見 場合 使
、親 同名 参照 。 、次 場合 ObjB 参照
、「180」 表示 。

ObjA=ボタン!作る。
ObjB=ObjA!作る。
ObjB:身長=180。
ObjA:身長=165。
ラベル!(ObjB:身長)作る。

、「作 」 生成 、必要 書 換
、独自 作 出 。

C.10 変数 束縛
変数 束縛 、 中 変数名 書 、 変数名 「 」 表 対
応規則 。 変数 、 変数、 変数、 変数 3 種類
。 、 中 変数 書 意味 、 使 方 変
。 説明 。

変数

変数 、 全体 通 参照 変数 。 中
中 位置 書 変数 変数 意味 。 、 変数
実 。 変数 簡潔 指定 、「 :x」 単 「:x」
書 。従 、次 3 行 ( 中 場合) 同 意味 。

x=100。
ルート:x=100。
:x=100。

、配列 標準 、単 変数 初期値 格納 、
書 換 、 以降参照 。
C.10 変数 束縛 103

変数

変数 、個々 付随 情報 保持 変数 。
、 変数 個々 他 。
格納 、 呼 出 場合、 中 変数 、「|…| 中 書
変数以外 、 変数 意味 。 次 例 、ObjB:y
21 増 221 、 表示 。

ObjB=ボタン!作る。
ObjB:x=200。
ObjB:増加=「|d|x=x+d」。
ObjB!21 増加。
ラベル!(ObjB:x)作る。

注意 、 変数 参照 参照 、参照時 見
親 探 行 。 、上 例 1 行目 「ObjB:x=200」 無 、 変数 x
100 場合、 「増加」 最初 上 実行 「x+d」 変数 参照 121
、 ObjB:x 書 込 (新 変数 作 ) 。2 回目
、 変数 参照 。 、参照 更新 常 変数 対 行
場合 、前項 説明 「:」 付 次 。

ObjB=ボタン!作る。
x=200。
ObjB:増加=「|d| :x= :x+d」。
ObjB!21 増加。
ラベル!(ObjB:x)作る。

変数、名前解決規則

変数 、 内 関係 概念 、 内側 使 変数
。 、渡 値 初期値 持 点以外 変数 同等 。
変数 必 、 冒頭部分 「|パラメータ… ; ローカル変数…|」 形 定義 。次
「距離」 、 先頭 定義 変数 使 2 点間 距離 求 。

ObjB=ボタン!作る。
ObjB:距離=「|x1 y1 x2 y2 ; dx dy| d1 = x1 - x2。d2 = y1 - y2。
sqrt(d1*d1+d2*d2)」。
d=ObjB!100 100 200 200 距離。
ラベル!(d)作る。

何重 入 子 。 、内側 外側 変
数 参照 *1 。

説明 、 中 現 名前 何 表 、次 決

*1 内側 変数 保管 、後 (外側 実行 終了 )実行 場合 動
作 未定義 。
104 付録 C 言語 基礎知識

1. 冒頭 |…| 定義 変数 。
2. 直接 実行 、 以外 名前 変数
( 、参照時 親 参照 )。
3. 、 囲 外側 、同 規則 名前 使 方 探索 1 戻 。
4. 一番外側 来 場合( 中 場合) 、名前 変数 。

C.11 字句 約束
言語 字句 約束 場合、名前、数値、文字列 書 方 関 約束 意味
。 場合 約束 以下 説明 。
、以下 込 入 書 方 規則 表 拡張 BNF 呼 記法 用 。 記法 意味
次 通 :

X ::= α 書 方α X 呼 、 X 定義。
α |β α β。
[α ] α 空。
α ··· α 1 個以上並 。
(α ) α ( )。

空白 改行

自由書式( ) 言語 。 、 配置 見 考
空白 改行 配置 比較的自由 選 。規則 次 通 。

• 何行 渡 。行 切 目 空白 入 位置 、 入

• 名前 途中、数値 途中 空白 入 。
• 名前 名前、名前 数値、数値 数値 連続 、空白( 改行) 入

• 空白 何個 1 個 同 意味 (文字列 中 除 )。

、次 2 同 動作 。

ボタン1 = ボタン!作る。

ボタン1
=
ボタン!作る。

、次 名前 数値 正 。(実行 )

ボタン1 = ボタン!"テスト"作る100 50位置。


C.11 字句 約束 105

名前

名前(識別子) 変数名 名 指定 使 。 規則 次 通 。

名前文字 ::= 漢字 | | |
名前 ::= 名前文字 [ 名前文字 | 数字 ] …

名前 「漢字、 、 、 、 後 、漢
字、 、 、 、数字 任意個続 」 。名前 正 例 正 例
示 :

○ ボタン1 X A1
× ボタン-1 1番目

数値

数値 上 定数(数 ) 直接記述 用 。 規則 次 通 。

符号 ::= + | −
数値 ::= [ 符号 ] 数字… [ . 数字… ] [ 名前文字… ]

、数値 「先頭 + − 符号 、 後 数字 1 個以上続 、 後


小数点 1 個以上 数字 、 後 1 個以上 名前文字 」
。最後 名前文字 数値 値 無視 、読 書 。数値 正
例 正 例 示 :

○ 1 +55 -3.1416 3番目


× 15. 22時59分

文字列

文字列 、文字列 (文字 表現 ) 定数 中


直接書 用 。 規則 次 通 。

文字列 ::= " [ 文字… ] " | 『 [ 文字… ] 』

文字列 正 例 正 例 示 :

○ "あいう" 『ABC』
× "あい 『ABC

大文字 小文字/全角 半角

、大文字 小文字、16 文字( 全角) 8 文字( 半


角) 区別 。 次 各行 名前 同 扱 。

ABC Abc ABC


106 付録 C 言語 基礎知識

、「+」「!」 記号類 同様 。 、文字列 中 例外 、大文字 小


文字、16 文字 8 文字 違 含 中 書 文字 並 表 。
、 日本語記号 英語記号 同等 扱 。小数点 文 終 表 「。
」 「.」
使 。 送信 表 「!」 「、」 使 。 、
表 「…」 […] 使 。
、次 文 同 意味 。

ボタン1=ボタン!作る。
ボタン1:プロパティ = 「x = x + 10。ボタン1!(x) 50 位置」。
ボタン1:プロパティ = [x = x + 10. ボタン1、(x) 50 位置].

「//」 行末 注釈 ( ) 解釈 、 一部 扱 。人 読
、一時的 一部 実行 使 。
、次 例 、1 行目 全体 注釈、2 行目 処理 注釈、3 行目 実行
一時的 一部 。

// タートルのテストプログラム
カメ太=タートル!作る。 // カメ太を作る
// カメ吉=タートル!作る。
107

付録 D

標準

、 種類 標準 用意 。 、
作 、 共通 使 概要 説明 。 、
、配列 付録 C 参照 。 、 制御、音楽演奏
、本文 各章 付録 E 参照 。

D.1 数値
数値 、数 表 。数値 、1 10.0 数値定数 書
作 出 、 演算 結果 作 出 。
数値 対 演算 、四則演算「+」
、「-」
、「*」
、「/」 剰余 演算「%」 使 (積 「×」
、商 「÷」 使 )
。 、比較演算子「==」、
「!=」、
「>」、
「>=」、
「<」
、「<=」 使
。 、関数 、平方根(sqrt)、三角関数(sin, cos, tan)、四捨五入(round)、絶対値(abs)

数値 扱 特別 関数 、乱数 。乱数 、実行 異 数 返 関数 。 、
実行 少 違 動 使 便利 。乱数 使 、「乱数(3)」
数値 指定 。 例 正 整数 指定 、1 数 間 数
返 。次 実行 、実行 1 3 数字 表示 。

ラベル!(乱数(3))作る。

負 数 含 乱数 発生 、発生 数 幅 指定 乱数 生成 、 半分 1
大 値 引 、0 中心 正負 乱数 生成 。次 実行 、−5
5 範囲 数字 表示 。

ラベル!(乱数(11)- 6)作る。

数値 定義 、 数値 利用 。次
実行 、 数 2 倍 数 表示 。

数値:二倍=「自分 * 2」。
ラベル!(3!二倍)作る。

括弧 囲 数式 中 、 使 関数 形 使 。

数値:二倍=「自分 * 2」。
ラベル!(二倍(3))作る。
108 付録 D 標準

D.2 文字列
文字列 、0 個以上 文字 並 表 、"こんにちは" "abc xyz"
、 中 文字列定数 書 生成 、GUI 部品 読 込 作

文字列 、「+」 連結 。次 実行 、2 文字列 連結 、画面
「こんにちはカメ太さん」 文字列 表示 。

x="こんにちは"。
y="カメ太さん"。
ラベル!(x+y)作る。

、文字列 中身 "123.45" 数値定数 形 、「+」 含 数


値 演算 比較 。 、次 例 結果 「14」 。

x="3"。
y="11"。
ラベル!(x+y)作る。

部分 使 、文字列 一部分 取 出 。 1 個 数字( m 呼 )


指定 、先頭 m 番目以降 文字 返 。 、4 指定 、4 文字目以降 文字 返
。次 実行 、
「こんにちは」 文字列 4 文字目以降 切 出 、画面 「ちは」
文字列 表示 。

x="こんにちは"。
ラベル!(x!4 部分)作る。

2 個 数字( m, n 呼 ) 指定 、先頭 m 番目 文字 n 個 文字
返 。 、2 3 指定 、2 文字目 3 文字 返 。次 実行 、
「こん
にちは」 文字列 2 文字目 3 文字 切 出 、画面 「んにち」 文字列 表示 。

x="こんにちは"。
ラベル!(x!2 3 部分)作る。

含 ? 使 、 文字列 一部 別 文字列 含 調 。

x="上山田"。
「x!"山" 含む?」!なら「ラベル!"こんにちは" 作る」実行。

文字列 定義 、 文字列 利用 。次
実行 、 文字列 2 回続 文字列 表示 。

文字列:二倍=「自分 + 自分」。
ラベル!("こんにちは"!二倍)作る。

括弧 囲 数式 中 、 使 関数 形 使 。

文字列:二倍=「自分 + 自分」。
ラベル!(二倍("こんにちは"))作る。
D.3 真偽値 109

D.3 真偽値
真偽値 、条件 成 立 /成 立 、真偽 区別 表 値 。比較演算子 成否 調
真偽値 返 。
真偽値 、真 表 偽 表 1 、
意味 。 、 変数「真( )」 「偽( )」 真 偽 表
格納 。 x y z 大 調 例 示 。

x=7。y=5。z=3。
xが最大=真。
「x < y」!なら「xが最大=偽」実行。
「x < z」!なら「xが最大=偽」実行。
「xが最大」!なら「ラベル!"xが最大です" 作る」実行。

反対 、真偽値 反転 (NOT)、 真 偽、偽 真 返 使 。 、複数 真


偽値 成 立 (AND) 調 、複数 真偽値 1 以上 成 立
(OR) 調 、 本当 使 。 上 例 次 書 。

x=7。y=5。z=3。
「ぜんぶ!(x>=y)(x>=z)本当」!なら
「ラベル!"xが最大です" 作る」実行。

「本当」 与 場合 、 必要
実行 。次 、最初 「x>=y」 実行 。 値 真 場合 両方 条件 真
調 続 「x>=z」 実行 、値 偽 場合 結果 時点 決 続
「x>=z」 実行 。

x=7。y=5。z=3。
「ぜんぶ!「x>=y」「x>=z」本当」!なら
「ラベル!"xが最大です" 作る」実行。

D.4 色
色 、 色 表 。 使 色 色 、 色 名前
変数 格納 。具体的 、
「黒、赤、緑、青、黄色、紫、水色、白」 8 色 用意
。 混 合 新 色 作 。
任意 色 作 場合 、赤、緑、青 強 0∼255 整数 指定 色 「作 」 使 。

新しい色=色!200 150 255 作る。

D.5
、画面上 用 絵 描 、任意 画像 「変身」
画面上 置 動 使 。作 出 、 「作 」 使 。
作 状態 、動 軌跡 残 状態 、動 軌跡 残 状態 切 替
。切 替 「 」「 」 呼 出 。
移動 制御 、現在 位置 向 基準 前進 後退 指定 方法(
110 付録 D 標準

) 多 使 。 、動 長 指定 「歩 」
「戻 」、回転角度 指定 「右回 」「左回 」
使 。移動量 画面上 単位、回転量 度数 指定 。
、X 方向 Y 方向 移動量 指定 現在位置 起点 分 移動 「移動 」、絶対座標
(画面中心 原点) X 座標 Y 座標 指定 座標位置 移動 「位置」 使 。一連 軌跡 描
始 位置 戻 (軌跡 閉 図形 ) 「閉 」 使 。
軌跡 閉 、「図形 作 」 切 離 独立 図形 (図形
次項)。
現在 位置 向 「縦 位置?」「横 位置?」「向 ?」 取得 。 、「線 色」「線
太 」 軌跡 色 太 変更 。
画像 最初 亀 絵 、 任意 画像 変更 。 、画像 名 文字列
指定 「変身 」 呼 。 、画像 表示 ON/OFF 。 「消 」 「現 」 使 。
重要 「衝突」 。 特定 、
作 人 「衝突」 名前 定義 、 動 他 図形
接触 呼 出 。 、 使 一定 前
進 衝突 「数歩下 90 度向 変 」 動作 定義 、前進
何 動作 行 。「衝突」 呼 出 、
衝突 相手 渡 、 対 何 作用 施 。
定義 、 利用 。次
実行 、 何 衝突 斜 後 跳 返 。

タートル:衝突=「自分!150 右回り」。
カメ太=タートル!作る。
カメ吉=タートル!作る 100 0 位置。
タイマー!作る「カメ太!10 歩く」実行。

D.6 図形
図形 、 描 図形 切 離 、完結 1
色 塗 動 。
動 方 見 方 、「右回 」「左回 」「移動 」「位置」「消 」「現 」 同 使

、倍率 指定 「拡大 」 呼 大 拡大/縮小 。倍率 2 指定 、
縦 横 倍率 別々 指定 。色 指定 「塗 」 呼 色 付

図形 同様 「衝突」 定義 、他 図形
接触 検知 。
図形 定義 、 図形 利用 。次
実行 、 図形 横幅 広 形 「変形」 定義 。

図形:変形=「自分!2 1 拡大する」。
カメ太=タートル!作る。
さんかく=「カメ太!100 歩く 120 左回り」!3 繰り返す(赤)図形を作る。
さんかく!変形。
D.7 GUI 部品 111

D.7 GUI 部品
GUI 部品 、 、画面上 現 操作 動作
。 、画面上 配置 表示 制御 「位置」
「移動 」
「消 」
「現 」 (
同様 )使 。 、縦方向 横方向 大 ( 単位) 指定 「大 」 呼
出 大 設定 。 、色 指定 「塗 」 地 色、「文字色」 文字 色 設定 。
GUI 部品 画面 表示 、 図形 重 衝突 起 。以下 、個々 GUI 部品
説明 。

長方形 領域 、 上 文字列 表示 。表示 文字列 作 生成


指定 。 、文字列 指定 「書 」 呼 文字 取 替 。
次 、画面 変数 値 表示 。実行 、10 表示 。

x=10。
ラベル!(x)作る。

見 目 似 、「作 」 文字列 指定 同 、 動作 名前
定義 、 押 呼 出 。 、次
実行 、画面 表示 、 少 右 移動 。

ボタン1=ボタン!"テスト" 作る。
ボタン1:動作=「自分!10 0 移動する」。

見 目 似 、文字列 表示 、 文字列 入力
。「作 」 「書 」 文字列 設定 同 、加 「読 」 現在入 文
字列 取 出 。次 実行 、 押 入力
文字 読 取 、 太 指定 歩数 前進 。

カメ太=タートル!作る。
窓=フィールド!作る。
前進ボタン=ボタン!"前進" 作る。
前進ボタン:動作=「カメ太!(窓!読む) 歩く」。

、 (Enter , ) 押 、 押 入力 完了
受 取 、定義 「動作」 呼 出 。次 実行
、 押 入力 文字 読 取 、 太 指定 歩数
前進 。

カメ太=タートル!作る。
窓=フィールド!作る。
窓:動作=「カメ太!(自分!読む) 歩く」。
112 付録 D 標準

、 中 動 値 指定 。配置 指定

「縦向 」
「横向 」 呼 向 設定 (指定 縦向 )
。 、
「文字出 」
「文字消 」 目盛 表示 ON/OFF 。
中 位置 「値」 設定 。値 範囲 0∼100 。 、現在 位置
「値? 」 取得 。
部品 、 「動作」 定義 、 動 実行 。次
実行 、 動 位置 値 表示 。

バー=スライダー!作る。
結果=ラベル!作る。
バー:動作=「結果!(自分!値?)書く」。

選択

選択 、 複数 候補 選択 作 出 。文字列 指定
書 複数回呼 、 文字列 順 項目 持 。
現在選択 項目 何番目 、 何番目? 取得 。次 実行
、 選択 候補 番号 実行 押 表示 。

候補=選択メニュー!作る。
候補!"最初" 書く "次" 書く "最後" 書く。
実行ボタン=ボタン!"実行" 作る。
実行ボタン:動作=「結果!(候補!何番目?)書く」。
結果=ラベル!作る。

複数 文字列 表示 。文字列 指定 「書 」 呼 、
文字列 内容 追加 。 、番号 指定 「読 」 呼 、 番号 行 文字列 取得
。次 実行 、画面 「こんにちは!」 文字 「いいお天気ですね」 文字 表
示 。

窓=リスト!作る。
窓!"こんにちは!" 書く。
窓!"いいお天気ですね" 書く。

D.8 保存 読 出
保存

使 、 保存 、
再 取 出 使 。 、 得点 保存 、次回 実行時 「今
最高得点」 表示 可能 。保存 、数値、文字列、配列 。
使 、 名 指定 作 作 後 、
D.8 保存 読 出 113

読 書 。次 、
「objfile.txt」 名前 名 指定
作 後 、「得点」、「名前」、「友人」 数値、文字列、配列 、
「point」、「name」、「friends」 名前 付 書 保存 。
保存 名前 、自由 付 構 。 「得点」 「point」 英語 名前 保存
、「得点」 同 名前 保存 。

得点=10。
名前="カメ太"。
友人=配列!"カメ吉" "カメ子" 作る。

ファイル=オブジェクトファイル!"objfile.txt" 作る。
ファイル!"point" (得点)書く。
ファイル!"name" (名前)書く。
ファイル!"friends" (友人)書く。

読 出

読 込 、保存 名前 指定 読 出 。次 、
「objfile.txt」 名前 名 指定 作 後 、「point」、「name」、
「friends」 名前 取 出 。取 出 、好 名前 付 使

ファイル=オブジェクトファイル!"objfile.txt" 作る。
点数=ファイル!"point" 読む。
氏名=ファイル!"name" 読む。
友だち=ファイル!"friends" 読む。

リスト!作る(点数)書く(氏名)書く(友だち)書く。

削除

削除 、保存 名前 指定 削除 。次 、
「objfile.txt」 名前 名 指定 作 後 、「point」 名
前 削除 。 読 込 表示 、「point」 値
、「値が存在しない」 意味 表 未定義 「[undef]」 表示 。

ファイル=オブジェクトファイル!"objfile.txt" 作る。
ファイル!"point" 消す。
点数=ファイル!"point" 読む。
氏名=ファイル!"name" 読む。
友だち=ファイル!"friends" 読む。

リスト!作る(点数)書く(氏名)書く(友だち)書く。
114 付録 D 標準

D.9 操作
1行 追加書 込

使 、文字列 読 書 。 使
、 名 指定 作 作 後 、読 書 。次 、
「textfile.txt」 名前 名 指定 作 後 、「メッセージ 1」 「メッ
セージ 2」 変数 文字列 書 込 。

メッセージ1="こんにちは"。
メッセージ2="カメ太です"。

ファイル=テキストファイル!"textfile.txt" 作る。
ファイル!(メッセージ1)書く。
ファイル!(メッセージ2)書く。

全体 書 込

配列 入 文字列 、 書 込 。次 、
「textfile.txt」 名前 名 指定 作 後 、
「内容」 名前 配列
書 込 。

内容=配列!"こんばんは" "カメ吉です" 作る。

ファイル=テキストファイル!"textfile.txt" 作る。
ファイル!(内容)全部書く。

全体 読 出

内容 、配列 読 込 使 。次 、
「textfile.txt」
名前 名 指定 作 後 、 内容 「内容」 名前 配列 読
込 。

ファイル=テキストファイル!"textfile.txt" 作る。
内容=ファイル!読む。

ラベル!(内容)作る。
115

付録 E

命令一覧

• 主要 命令、 関連 機能 解説 。
• Part VI 扱 MYU 命令 、Activity 14 紹介 情報 覧 。

E.1 基本
数値

• 代入式 右辺 、括弧 囲 部分 数式 中置記法 記述 。


• 数式 扱 、数値 、数値 変換 値 持 文字列 。
• 角度 1周 360 度 角度 表 。
• 計算 Java 倍精度実数(double) 行 。 、一部 関数演算 単精度実数(float) 行

• 定数 、円周率 表 π 、PI 用意 。
• 数値演算子「+, -, *, /, %」 、内部的 「add, sub, mul, div, mod」 命令 変換 扱
。論理演算子「==, !=, >, >=, <, <=」 、内部的 「eq, ne, gt, ge, lt, le」 命令 変換
扱 。

+ , - , *, ×, /, ÷ : 四則演算
(例)「3 * 40」 計算 「120」 表示 。
!(3 * 40)作 。
足 (add), 引 (sub), 掛 (mul), 割 (div) : 四則演算。命令 使 。
(例)「3 * 40」 計算 「120」 表示 。
!(3 ! 40 掛 )作 。
%: 余
(例)8 3 割 余 計算 「2」 表示 。
!(8 % 3)作 。
余 (mod) : 余 。命令 使 。
(例)8 3 割 余 計算 「2」 表示 。
!(8 ! 3 余 )作 。
== , != , ≠, > , >= , ≦, < , <=, ≧ : 比較演算。両辺 数値 数値 変換 文字列 場合 、数値
比較 。
(例)「4 > 3」 計算 「[true]」 表示 。
!(4 > 3)作 。
116 付録 E 命令一覧

sqrt: (√)

(例)「1 + 4」 計算 「3」 表示 。
!(1 + sqrt(4))作 。
sin , cos , tan: 三角関数
(例)「sin(30)」 計算 「0.5」 表示 。
!(sin(30))作 。
asin , acos , atan: 三角関数 逆関数
(例)「arcsin(0.5)」 計算 「30」 表示 。
!(asin(0.5))作 。
round , ceil , floor: 丸 、切 上 、切 捨
(例)「0.7」 四捨五入 「1」 表示 。
!(round(0.7))作 。
exp: 指数関数
(例)「e0.5 」 計算 「1.6487212」 表示 。
!(exp(0.5))作 。
log: 底 10 対数
(例)「log 100」 計算 「2」 表示 。
!(log(100))作 。
ln: 底 e 対数
(例)「ln 100」 計算 「4.6051702」 表示 。
!(ln(100))作 。
pow: 乗。「2 3 乗」 「pow(2,3)」 、「2 ! 3 pow」 書 注意 。
(例)「23 」 計算 「8」 表示 。
!(2 ! 3 pow)作 。
abs: 絶対値
(例)「| − 3|」 計算 「3」 表示 。
!(abs(−3))作 。
乱数, random : 正 整数 与 、実行 値 異 1∼n 整数 返 。
(例)1 10 整数 表示 。
!(random(10))作 。
0 負 数 与 場合 、実行 値 異 0∼1 実数 返 。
(例)0 1 実数 表示 。
!(random(0))作 。

乱数初期化 : 0 以外 整数 与 、 以降 生成 乱数 毎回同 順序 生成
。0 与 、 順序 戻 。
(例)整数「5」 対応 乱数系列 表示 。
乱数初期化(5)。
!(random(10))作 。
進数: n 進数 変換 。n 2∼16 整数 。
(例)「10」 2 進表現 「1010」 表示 。
!(10 ! 2 進数)作 。
E.1 基本 117

文字列

• 数値 表 文字列(例:"123.45") 数式 中 使 。

== , != , ≠, > , >= , ≦, < , <=, ≧ : 比較演算。両辺 数値 数値 変換 文字列 場合 、数値


比較 。 以外 文字列 比較 。
(例)「"b" > "a"」 計算 「[true]」 表示 。
!("b" > "a")作 。
実行: 文字列 実行 。
(例)文字列「"カメ太=タートル!作る 100歩 歩く。"」 実行 。
" 太= ! 作 100歩 歩 。" ! 実行。
+ : 文字列 連結 。
(例)2 文字列「"私は"」 「"カメ太です"」 連結 「"私はカメ太です"」 表示 。
!("私 " + " 太 ")作 。
連結: 文字列 連結 。複数 文字列 連結 。
(例)3 文字列「"私は"」 「"カメ太"」 「"です"」 連結 「"私はカメ太です"」 表示 。
!("私 "! " 太" " " 連結)作 。
部分: 文字列 切 出 。「m n 部分」 m 文字目 n 文字 取 出 。
(例)文字列「"私はカメ太です"」 3 文字目 5 文字 切 出 「"カメ太です"」 表示 。
!("私 太 "! 3 5 部分)作 。
長 ? : 文字数 返 。
(例)文字列「"はろー"」 長 計算 「3」 表示 。
!(" "! 長 ?)作 。
含 ? : 文字列 含 判定 。
(例) 文字列 入力 (Enter , ) 押 、文字列 「山」 文字 含
場合 「こんにちは!」 表示 。
f= ! 作 。
f:動作=「「(f ! 読 )! "山" 含 ?」! 「f ! " ! " 書 」実行」。
何文字目? : 文字列 何文字目 含 調 。
(例)文字列「"カメ太"」 「"私はカメ太です"」 何文字目 含 調 「3」 表示 。
!("私 太 "! " 太" 何文字目?)作 。
分割: 区切 文字列 指定 、分割 文字列 入 配列 返 。
(例)文字列「"I/am/kameta"」 区切 文字「"/"」 分割 、
「"I"」
、「"am"」、
「"kameta"」 要素
配列「結果」 作 表示 。
結果="I/am/kameta"! "/" 分割。
!(結果)作 。
118 付録 E 命令一覧

真偽値

• 「真( )
」「偽( )」 2個 用意 。
• 論理積(AND) 論理和(OR) 求 、 「 」
「 」 、真偽値
「本当」 送 。 場合 、 値 必要
実行 *1 。

• 論理否定(NOT) 、真偽値 「反対」 送 。

本当:「 」[ 」 組 合 、論理積(AND) 論理和(OR) 求 。 複数 真


偽値 指定 。
「 」 場合 真 真 返 。
(例)変数「x」、「y」 両方 真( ) 、「"全部本当"」 表示 。
x= 。y= 。
「 !(x)(y)本当」! 「 ! "全部本当" 作 」実行。
「 」 場合 偽 偽 返 。
(例)変数「x」、「y」 真( ) 、「"どれか本当"」 表示 。
x= 。y= 。
「 !(x)(y)本当」! 「 ! " 本当" 作 」実行。
反対: 真偽値 反対 値 返 。真偽値 「 」 「 」 返 、真偽値 「 」 「 」
返 。
(例)「x」 反対 真( ) 、「"いいえ"」 表示 。
x= 。
「x ! 反対」! 「 ! " " 作 」実行。

• 内部 持 。
• 定義 用 、 繰 返 利用 。
• 先頭 「|...|」 受 取 。「;」 後 変数 。
• 実行 場合 、最後 実行 値 返 。

繰 返 : 中 n 回繰 返 実行 。
(例) 「出力!"こんにちは" 書く」 3 回繰 返 実行 、
「こんにちは」 3 回表示 。
出力= ! 作 。
「出力! " " 書 」! 3回 繰 返 。
何回目 実行 渡 。
(例)実行回数 「n」 受 取 、実行 表示 。
出力= ! 作 。
「|n| 出力!(n)書 」! 5回 繰 返 。

*1 「 」
「 」 実体 、 「 」
「 」 。 実行 D.3 節 参照

E.1 基本 119

, : 条件判断 行 。条件 成 立 「 」 後 、成 立
「 」 後 実行 。「 」 省略可能 。
(例)乱数 値 5 大 場合 「大吉」 表示 。
「乱数(10)> 5」! 「 ! "大吉" 作 」実行。
(例)乱数 値 5 大 場合 「大吉」 、 場合 「まあまあ」 表示 。
「乱数(10)> 5」! 「 ! "大吉" 作 」 「 ! "小吉" 作 」実行。
間 : 条件 成 立 間、後 繰 返 実行 。
(例)変数「x」 10 以下 間、「s=s+x。x=x+1」 繰 返 実行 。
x=1。s=0。
「x <= 10」! 間「s=s+x。x=x+1」実行。
!(s)作 。
実行 : 入 実行 。
(例) 「ラベル!"こんにちは" 作る」 実行 。
「 ! " " 作 」! 実行。

• 一定時間 、与 繰 返 実行 。
• 標準 、「0.1 秒」間隔 「100 回」繰 返 (約 10 秒間 )。間隔 間隔 変更 。
• 回数 回数 指定 場合 、指定 回数 実行 終了 。「回数」 代 時間 指定
場合 、指定 時間 経過 実行 終了 。
• 間隔 最小時間 1 秒(0.001 秒) 。
• 実行 間隔 、 正確 。 0.1 秒間隔 10 回繰 返 実行 場合、
正確 1 秒間 。大 目安 使 。 、指定 間隔 長 時間
命令 実行 場合 、
「回数」 指定 実行 時間 回数 実行 、
「時間」
指定 場合 時間 経過 時点 繰 返 終了 。
• 流 並行 ( 非同期 )実行 、
終了 待 先 進 。 終了 待 「待 」 使 。
• 実行 、何回目 実行 表 数 渡 。
• 実行中 、 実行 行 、現在 実行 終 後 続 実行 。
• 実行 中断 止 。

作 : 自分 複製 新 作 。
(例) 作 「時計」 名前 。
時計= ! 作 。
間隔 : n 秒間隔 動 。
(例)繰 返 間隔 「1 秒」 設定 。
時計= ! 作 。
時計! 1秒 間隔。
回数 : n 回動 。
(例)繰 返 回数 「10 回」 設定 。
時計= ! 作 。
時計! 10回 回数。
120 付録 E 命令一覧

時間 : n 秒間 動 。
(例)繰 返 時間 「5 秒」 設定 。
時計= ! 作 。
時計! 5秒 時間。
実行 : 実行 。
(例) 作 、「カメ太! 3歩 歩く」 繰 返 実行 。
太= ! 作 。
時計= ! 作 。
時計!「 太! 3歩 歩 」実行。
何回目 実行 渡 。
(例)何回目 繰 返 表示 実行 。
太= ! 作 。
= ! 作 。
時計= ! 作 。
時計!「|n| !(n)書 。 太! 3歩 歩 」実行。
待 : 終 待 。
(例) 実行 終 待 「終了!」 表示 。「時計!待つ。」 場合 、
実行中 表示 。
太= ! 作 。
出力= ! 作 。
時計= ! 作 。
時計!「|n| 出力!(n)書 。 太! 3歩 歩 」実行。
時計! 待 。
出力! "終了! " 書 。
中断 : 実行中 実行 中断 。 待 行列 場合 、次 実行 進 。
(例)中断 押 実行 中断 。
太= ! 作 。
中断 = ! "中断" 作 。
中断 :動作=「時計! 中断」。
出力= ! 作 。
時計= ! 作 。
時計!「|n| 出力!(n)書 。 太! 3歩 歩 」実行。

配列

• 中 複数 入 。
• 配列 中 異 種類 入 。
• 長 決 必要 。
• 要素 番号 1 始 。最初 要素 1 番目 。

作 : 自分 複製 新 配列 作 。 初期値 指定 。
(例)配列 作 。要素 。
配列1 =配列! 作 。
!(配列1)作 。
E.1 基本 121

(例)文字列「"a"」、「"b"」 要素 配列 作 。
配列1 =配列! "a" "b" 作 。
!(配列1)作 。
書 : 配列 追加 。配列 最後 追加 。
(例)文字列「"a"」、「"b"」 要素 配列 作 、文字列「"c"」 追加 。
配列1 =配列! "a" "b" 作 。
配列1 ! "c" 書 。
!(配列1)作 。
挿入 : 配列 入 。「n obj 挿入」 、n 番目 位置 obj 挿入 。元 n 番目以
降 要素 後 。
(例)文字列「"a"」、「"b"」 要素 配列 作 、2 番目 位置 文字列「"c"」 追加 。「[ a c
b ]」 表示 。
配列1 =配列! "a" "b" 作 。
配列1 ! 2 "c" 挿入。
!(配列1)作 。
上書 : 配列 上書 。「n obj 上書き」 、n 番目 要素 obj 上書 。
(例)文字列「"a"」
、「"b"」
、「"c"」 要素 配列 作 、2 番目 要素 文字列「"d"」 上書 。
「[ a d c ]」 表示 。
配列1 =配列! "a" "b" "c" 作 。
配列1 ! 2 "d" 上書 。
!(配列1)作 。
読 : 配列 要素 返 。要素 1 整数 指定 。
(例)文字列「"a"」
、「"b"」
、「"c"」 要素 配列 作 、2 番目 要素 表示 。「b」 表示

配列1 =配列! "a" "b" "c" 作 。
!(配列1 ! 2 読 )作 。
要素数? : 配列 要素数 返 。
(例)文字列「"a"」、「"b"」、「"c"」 要素 配列 作 、要素数 表示 。「3」 表示 。
配列1 =配列! "a" "b" "c" 作 。
!(配列1 ! 要素数?)作 。
消 : 配列 要素 消 。指定 配列 削除 。
(例)文字列「"a"」、
「"b"」
、「"c"」 要素 配列 作 、値 「"b"」 要素 削除 。「[ a c ]」
表示 。
配列1 =配列! "a" "b" "c" 作 。
配列1 ! "b" 消 。
!(配列1)作 。
位置 消 : 配列 要素 消 。要素 位置 指定 削除 。
(例)文字列「"a"」、「"b"」、「"c"」 要素 配列 作 、1 番目 要素 削除 。「[ b c ]」 表
示 。
配列1 =配列! "a" "b" "c" 作 。
配列1 ! 1 位置 消 。
!(配列1)作 。
122 付録 E 命令一覧

: 配列 要素 消 。
(例)文字列「"a"」、「"b"」、「"c"」 要素 配列 作 、 要素 削除 。「[ ]」 表示

配列1 =配列! "a" "b" "c" 作 。
配列1 ! 。
!(配列1)作 。
実行 : 配列 要素 数 繰 返 実行 。 配列 要素 1個
渡 。
(例)文字列「"abc"」、「"d"」、「"wxyz"」 要素 配列 作 、 要素
「|x| 出力!(x !長さ?)書く」 3 回繰 返 実行 。「3」、「1」、「4」 表示 。
出力= ! 作 。
配列1 =配列! "abc" "d" "wxyz" 作 。
配列1 !「|x| 出力!(x ! 長 ?)書 」 実行。
選 : 配列 各要素 対 実行 、結果 「本当」 要素 配列 返 。
(例)文字列「"東京"」、「"北海道"」、「"三重"」、
「"鹿児島"」 要素 配列 作 、 要素
「| x |(x !長さ?)== 2」 値 真 要素 配列 表示 。「[ 東
京 三重 ]」 表示 。
配列1 =配列! "東京" "北海道" "三重" "鹿児島" 作 。
!(配列1 !「| x |(x ! 長 ?)== 2」選 )作 。
結合: 配列 各要素 結合 文字列 返 。 要素 区切 文字 指定 。
(例)文字列「"こんにちは、"」、
「"カメ太"」、
「"です!"」 要素 配列 作 、 結合 文字列
返 。「"こんにちは、カメ太です!"」 表示 。
配列1 =配列! " 、" " 太" " ! " 作 。
!(配列1 ! 結合)作 。

• 親 。
• 、 全体 参照 変数 。
• 値 書 、他 値 参照 。
• 、 明示 「 :」、 省略
「:」 指定 。
(例) 「歩幅」 設定 。
:歩幅= 30。
(例) 「歩幅」 設定 。
:歩幅= 30。

未定義

• 予期 実行 行 場合 返 。
• 存在 変数 参照 、未定義 返 。
• 命令 正 結果 場合 、未定義 返 。
• 値 未定義 、未定義 undef 比較 判別 。
E.1 基本 123

• 保存 。
• 保存 、再 読 込 使 。
• 数値、文字列、配列 対応 。
• 版 利用 。

作 : 作 。 名 指定 。
(例)
「file1.txt」 使 、「記録」 作 。
記録= ! "file1.txt" 作 。
書 : 名前 付 書 込 。 名前 読 出
。 名前 違 構 。
(例) 「point」 名前 「30」 値 保存 。
記録= ! "file1.txt" 作 。
点数= 30。
記録! "point"(点数)書 。
読 : 名前 指定 読 出 。保存 返 。
(例) 「point」 名前 値 取 出 表示 。
記録= ! "file1.txt" 作 。
得点=記録! "point" 読 。
!(得点)作 。
消 : 名前 指定 消 。
(例) 「point」 名前 値 消 。
記録= ! "file1.txt" 作 。
記録! "point" 消 。

• 文字列 読 書 。
• 書 、1 行 文字列 追加 。 、配列 文字列 入 、 書
込 。配列 書 場合 、 内容 配列 内容 置 換 。
• 読 、全体 配列 読 込 。
• 版 利用 。

作 : 作 。 名 指定 。
(例)「text1.txt」 使 、「記録」 作 。
記録= ! "text1.txt" 作 。
書 : 文字列 書 込 。 末尾 文字列 1 行追加 。
(例) 「"こんにちは。"」 追加 。
記録= ! "text1.txt" 作 。
記録! " 。" 書 。
!(記録! 読 )作 。
124 付録 E 命令一覧

全部書 : 配列 書 込 。 全体 配列 中身 置 換 。
(例)文字列「"カメ太"」
、「"カメ吉"」
、「"カメ子"」 要素 配列 作 、 置
換 。
記録= ! "text1.txt" 作 。
全員=配列! " 太" " 吉" " 子" 作 。
記録!(全員)全部書 。
!(記録! 読 )作 。
読 : 配列 読 出 。 全体 読 、各行 要素 配列 返 。
(例) 全体 読 込 表示 。
記録= ! "text1.txt" 作 。
!(記録! 読 )作 。

• 動 情報 利用 。
• 情報 得 用意 。
(例) 表示 。
!( :versionstr)作 。
• ipaddress 、 複数 IP 持 場合 任意 1個 返 。
• displayWidth displayHeight 返 。 E.4 画面
取得 。
• versionstr: 文字列
• version: 番号
• javavendor: Java
• javaversion: Java
• osname: OS 名
• osversion: OS
• ipaddress: IP
• hostname: 名
• displayWidth: 実行 幅
• displayHeight: 実行 高
• memory: 使用量
• user: 名( 版 )
• lang: 言語( 版 )

終了 : 終了 。 真( ) 指定 、確認 終了 。
(例) 終了 。
! 終了 。
(例) 終了 。確認 表示 。
!( ) 終了 。
E.2 125

E.2
• 実行時 「startup.ini」 ( ) 実行
実行 。startup.ini 、 記述 。
• 定義 書 、 中 命令 使 。
(例)startup.ini 角度(度) 変換 「d2r」 角度(度) 変換
「r2d」 定義 、 中 利用 。
// startup.ini 定義
数値:d2r =「(自分 * PI / 180)」。
数値:r2d =「(自分 * 180 / PI)」。
// 利用
太= ! 作 (r2d(PI / 6))左回 。
!(d2r( 太! 向 ?))作 。
• (startup.ini) 、自分用 命令 揃 、教室 授業用 命令 用意
便利 使 。 、作 特定 依存 場合
、 他 環境 実行 正 動 。

E.3

• 起動 取 。
• 間 、特定 (標準 2020) 使 通信 。 、一般的
教室内 同一 内 利用 。
• 扱 、数値、文字列、論理値、配列 基本 。
他 扱 、機能 制限 。
• 書 、 除 親
複製 書 込 。

接続 : 接続 。 起動 、 名 IP 指定 。
(例) 名 接続 。「"localhost"」 自分 。
! "localhost" 接続。
(例) IP 接続 。
! "192.168.1.10" 接続。
書 : 指定 名前 、 書 込 。
(例) 「kameta」 名前 「カメ太」 書 。
! "localhost" 接続。
太= ! 作 。
! "kameta"( 太)書 。
読 : 指定 名前 、 読 出 。読 出 返 。
(例) 「kameta」 名前 読 。
! "localhost" 接続。
吉= ! "kameta" 読 。
126 付録 E 命令一覧

E.4 関係
次 図 画面 座標 。画面 中心 原点 、画面 位置 X軸 Y軸 表 。座標 値 画面
対応 。起動 大 、横 700 ×縦 500 程度 。向 右方向 0 度 、左
回 指定 。

Y軸

X軸
(0,0)

• 画面 歩 回 。動 軌跡 線 残 、 利用 図形 描
( )。
• 描 図形 「図形 作 」 切 離 独立 図形 。
•「衝突」 定義 、他 重 実行 。衝突 判
定 使 、 本体 。描 線 判定 使 場合 、図形

• 衝突 1 個目 、重 相手 渡 。2 個目
、自分 動 重 真偽値 渡 。
•「衝突」 「 :跳 返 」 代入 、自然 跳 返 定義 。衝突 相手
図形 場合、図形 描 始 方向 衝突 際 壁 角度 扱

(例)壁 向 関係 、常 斜 後 向 。
太:衝突=「自分! 150 右回 」。
(例)壁 向 応 、自然 角度 跳 返 。
太:衝突= :跳 返 。
•「動作」 定義 、 実行 。

作 : 新 作 。
(例) 作 「カメ太」 名前 。
太= ! 作 。
歩 : 前 進 。
(例) 太 100 歩、歩 。
太= ! 作 。
太! 100歩 歩 。
戻 : 後 戻 。
(例) 太 100 歩、戻 。
太= ! 作 。
太! 100歩 戻 。
E.4 関係 127

右回 : 右 回 。
(例) 太 90 度、右 回 。
太= ! 作 。
太! 90度 右回 。
左回 : 左 回 。
(例) 太 90 度、左 回 。
太= ! 作 。
太! 90度 左回 。
移動 : 右 x 歩、上 y 歩動 。
(例) 太 「右に 0 歩、上に 100 歩」動 。
太= ! 作 。
太! 0 100 移動 。
位置 : 指定 座標 移動 。画面 中央 中心(0,0) 。
(例) 太 「(100, 100)」 座標 位置 動 。
太= ! 作 。
太! 100 100 位置。
向 : 向 指定 。右向 0度 。角度 左回 大 。
(例) 太 90 度(上方向) 向 。
太= ! 作 。
太! 90度 向 。
: 動 軌跡 残 。
(例) 太 線 描 歩 。
太= ! 作 。
太! 。
太! 100歩 歩 。
: 動 軌跡 残 。 軌跡 場合 、 切 離 新 軌跡 描
始 。
(例) 太 線 描 歩 後、線 描 歩 。
太= ! 作 。
太! 。
太! 100歩 歩 。
太! 。
太! 100歩 歩 。
中心 戻 : 画面 真 中 戻 。
(例) 太 画面 中心(「(0, 0)」 座標 位置) 動 。
太= ! 作 。
太! 100歩 歩 。
太! 中心 戻 。
閉 : 描 始 点 線 引 。
(例) 太 三角形 2 辺 描 後、描 始 点 線 引 戻 。
太= ! 作 。
太! 100 歩 120 右回 100 歩 閉 。
128 付録 E 命令一覧

図形 作 : 軌跡 線 自分 切 離 図形 。
(例) 太 描 線 図形 「三角」 名前 。
太= ! 作 。
太! 100 歩 120 右回 100 歩 。
三角= 太! 図形 作 。
色 指定 色 塗 。
(例) 太 描 線 黄色 色 塗 図形 「三角」 名前 。
太= ! 作 。
太! 100 歩 120 右回 100 歩 。
三角= 太!(黄)図形 作 。
変身 : 姿 変 。画像 (png, jpg, gif ) 本体(dolittle.jar)
同 置 。
(例) 太 姿 「"tonbo.png"」 画像 変更 。
太= ! 作 。
太! "tonbo.png" 変身 。
拡大 : 拡大 。「n 拡大する」 n 倍 拡大 。n 正 整数 。
(例) 太 「縦横 2 倍」 拡大 。
太= ! 作 。
太! 2 拡大 。
「m n 拡大する」 、「横に m 倍、縦に n 倍」 拡大 。m, n 正 整数 。
(例) 太 横 3 倍、縦 2 倍 拡大 。
太= ! 作 。
太! 3 2 拡大 。
線 色: 描 線 色 変 。 色 黒 。
(例) 太 描 線 色 「緑」 設定 。
太= ! 作 。
太!(緑)線 色 100 歩 。
線 太 : 描 線 太 変 。 太 3 。
(例) 太 描 線 太 「5」 設定 。
太= ! 作 。
太! 5 線 太 。
太! 100 歩 。
消 : 姿 消 。描 線 消 。
(例) 太 画面 消 。
太= ! 作 。
太! 消 。
現 : 画面 現 。消 姿 戻 使 。
(例)消 太 画面 表示 。「消える」 例 続 実行 。
太! 現 。
E.4 関係 129

円 : 指定 半径 円 描 *2 。大 正 場合 右側 、負 場合 左側 描 。
(例) 太 半径 100 円 描 。
太= ! 作 。
太! 100 円。
角形 : 正 n 角形 描 。「m n 角形」 、1 辺 長 m 図形(正三角形、正方形、正五角形 ) 描
。図形 右側 描 、辺 長 m 負 左側 描 。
(例) 太 右側 1辺 100 三角形 、左側 1辺 100 五角形 描 。
太= ! 作 。
太! 100 3 角形。
太! −100 5 角形。
向 ? : 向 調 。右向 0度 。角度 左回 大 。
(例)上 向 太 向 表示 。「90」 表示 。
太= ! 作 。
太! 90 左回 。
!( 太! 向 ?)作 。
横 位置? : X 座標 調 。
(例) 太 X 座標 表示 。「50」 表示 。
太= ! 作 。
太! 60 左回 。
太! 100 歩 。
!( 太! 横 位置?)作 。
縦 位置? : Y 座標 調 。
(例) 太 Y 座標 表示 。「50」 表示 。
太= ! 作 。
太! 30 左回 。
太! 100 歩 。
!( 太! 縦 位置?)作 。

図形

• 描 図形 独立 図形 。
• 図形 画面 上 移動 回転 。
• 他 重 「衝突」 実行 。
•「動作」 定義 、 実行 。

作 : 自分 複製 新 図形 作 。
(例)「三角形」 複製 「三角形2」 作 、画面上 移動 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形2 =三角形! 作 。
三角形2 ! 150 0 移動 。

*2 実体 36 角形 。
130 付録 E 命令一覧

右回 : 右 回 。
(例)三角形 10 度、右 回 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 10度 右回 。
左回 : 左 回 。
(例)三角形 10 度、左 回 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 10度 左回 。
移動 : 右 x 歩、上 y 歩動 。
(例)三角形 「右に 0 歩、上に 100 歩」動 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 0 50 移動 。
位置 : 指定 座標 移動 。画面 中央 中心(0,0) 。
(例)三角形 「(100, 100)」 座標 位置 動 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 100 100 位置。
塗 : 自分 中 色 塗 。色 色 括弧 囲 書 。色 省略 線 色 塗

(例)三角形 「青」 塗 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形!(青) 塗 。
拡大 : 自分 n倍 。 縦横 x倍y倍 。
(例)三角形 「縦横 2 倍」 拡大 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 2 拡大 。
(例)三角形 横 3 倍、縦 2 倍 拡大 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 3 2 拡大 。
消 : 画面 消 。
(例)三角形 画面 消 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 消 。
E.4 関係 131

現 : 画面 現 。消 姿 戻 使 。
(例)消 三角形 画面 表示 。「消える」 例 続 実行 。
三角形! 現 。
向 ? : 向 調 。右向 0度 。角度 左回 大 。
(例)三角形 向 表示 。「90」 表示 。
太= ! 作 。
三角形=「 太! 100 歩 120 左回 」!3 繰 返 (赤)図形 作 。
三角形! 90 左回 。
!(三角形! 向 ?)作 。

画面

• 実行画面 表 。

塗 : 画面 背景 色 塗 。
(例)画面 背景 「水色」 。
画面!(水色)塗 。
方眼紙: 画面 方眼紙 罫線 表示 。色 指定 、 色 罫線 描 。色 指定 罫
線 消 。
(例)画面 「緑」 罫線 表示 。
画面!(緑)方眼紙。
(例)画面 罫線 消 。
画面! 方眼紙。
幅? : 画面 幅 返 。
(例)画面 横幅 表示 。
!(画面! 幅?)作 。
高 ? : 画面 高 返 。
(例)画面 高 表示 。
!(画面! 高 ?)作 。

• 色 表 。
• 使 8 色 「黒、赤、緑、青、黄色、紫、水色、白」 変数 用意 。
• 複数 色 混 合 、 使 。

作 : 三原色 指定 色 作 。赤緑青 順 0∼255 値 指定 。


(例)「赤が 255、緑が 136、青が 255」 明 色 作 。
=色! 255 136 255 作 。
画面!( )方眼紙。
色 三原色 16 進法 文字列 指定 。赤、緑、青 明 、 1桁
2 桁 指定 。1 桁 場合 、 文字 2 個並 2 桁 意味 。
(例)「赤が#FF、緑が#88、青が#FF」 色 作 。
=色! "#F8F" 作 。
132 付録 E 命令一覧

画面!( )方眼紙。
(例)
「赤が#FF、緑が#88、青が#FF」 色 作 。
=色! "#FF88FF" 作 。
画面!( )方眼紙。
暗 : 色 暗 。
(例)暗 緑色 作 。
濃 緑=緑! 暗 。
画面!(濃 緑)方眼紙。
明 : 色 明 。暗 色 再 明 。
(例)暗 色 明 。「暗くする」 例 続 実行 。
明 緑=濃 緑! 明 。
画面!(明 緑)方眼紙。
半透明 : 色 半透明 。裏側 透 見 半透明 色 作 。
(例)青 半透明 色 作 。
新 色=青! 半透明 。
画面!(水色)塗 。
= ! 作 30 円(新 色)図形 作 。
! 作 「 ! 0 2 移動 」実行。

• 色 混 合 。
• 「光」「絵具」 2個 用意 。
•「光」 、光 重 色(加法混色) 作 。
•「絵具」 、絵 具 重 色(減法混色) 作 。

混 : 複数 色 混 。
(例)「赤」 「緑」 光 混 色 作 。
新 色=光!(赤)(緑)混 。
画面!(新 色)塗 。
(例)「赤」 「緑」 絵具 混 色 作 。
新 色=絵具!(赤)(緑)混 。
画面!(新 色)塗 。
E.5 GUI 133

E.5 GUI
• 画面 情報 表示 、 対話的 操作 。
• 、大 位置 GUI 大 位置 指定 使 。
• 位置 指定 場合 、直前 作 GUI 右隣 配置 、画面 右端 越
次 行 実行 下 行 左端 移動 。 、画面 大 実行 環境 異
、 「大きさ」 「位置」 指定 。
• GUI 背景色(塗 ) Macintosh 対応 。
• 以下 、GUI 共通 命令 示 。「ボタン 1」 名前 例
示 。次 1行 続 例 書 実行 。
1= ! "ABC" 作 。

位置 : 表示位置 指定 。
(例) 画面 「(100, 100)」 座標 位置 動 。
1 ! 100 100 位置。
移動 : 右 x 歩、上 y 歩動 。
(例) 画面 「右に 0、上に 100」 動 。
1 ! 0 100 移動 。
大 : 大 指定 。
(例) 「横 100、縦 50」 大 。
1 ! 100 50 大 。
幅? : 横幅 調 。
(例) 横幅 表示 。
!( 1 ! 幅?)作 。
高 ? : 高 調 。
(例) 高 表示 。
!( 1 ! 高 ?)作 。
文字 : 表示 文字 大 指定 。標準 24 。 以外 GUI
共通 。
(例) 表示 文字 「16」 設定 。
1 ! 16 文字 。
塗 : 色 指定 。色 色 三原色 指定 。 以外 GUI 共通

(例) 色 設定 。
1 !(水)塗 。
(例) 色 設定 。
1 ! 255 128 255 塗 。
(例) 色 設定 。
1 ! "#FF88FF" 塗 。
(例) 色 設定 。
1 ! "#F8F" 塗 。
134 付録 E 命令一覧

文字色 : 文字 色 指定 。色 色 三原色 指定 。 以外 GUI


共通 。
(例) 文字色 設定 。
1 !(緑)文字色。
(例) 文字色 設定 。
1 ! 0 128 0 文字色。
(例) 文字色 設定 。
1 ! "#008800" 文字色。
(例) 文字色 設定 。
1 ! "#080" 文字色。
消 : 画面 消 。
(例) 画面 消 。
1! 消 。
現 : 画面 現 。消 姿 戻 使 。
(例)消 画面 表示 。「消える」 例 続 実行 。
1! 現 。

• 画面 表示 GUI 部品 。初期 150×45 。


• 押 動作 実行 。
(例) 1= ! "挨拶" 作 。
1:動作=「 ! " " 作 」。
• 生成時 指定 。
• 以下 「作る」以外 例 、「ボタン1」 作 例 実行 。

作 : 自分 複製 新 作 。1 個目 表示 指定

(例)「実行」 書 作 。
1= ! "実行" 作 。
1:動作=「 ! " " 作 」。
2 個目 指定 。 文字列 E.6 節 「
一覧」 参照 。次 例 上向 矢印 押 動作 実行 。
(例)上向 矢印 押 実行 作 。
1= ! "実行" "UP" 作 。
1:動作=「 ! " " 作 」。
読 : 文字 読 返 。
(例) 文字列 表示 。
!( 1 ! 読 )作 。
書 : 文字 書 。
(例) 「あいうえお」 文字 書 。
1! " " 書 。
E.5 GUI 135

• 画面 表示 GUI 部品 。文字 表示 入力 使 。初期 150×45 。


• (Enter , ) 押 動作 実行 。
• 以下 「作る」以外 例 「フィールド1」
、 作 例 実行 。

作 : 自分 複製 新 作 。
(例) 作 。 初期値 指定 。
1= ! 作 。
読 : 文字 読 返 。
(例) 文字 表示 。
!( 1 ! 読 )作 。
書 : 文字 書 。
(例) 「あいうえお」 文字 書 。
1! " " 書 。
: 空 。
(例) 文字 消 。
1! 。

• 画面 表示 GUI 部品 。文字 表示 使 。中 1 文字列 入 。


• 大 、表示 文字列 自動的 設定 。
• 以下 「作る」以外 例 、「ラベル1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「あいうえお」 書 作 。
1= ! " " 作 。
書 : 文字 書 。
(例) 「かきくけこ」 文字 書 。
1! " " 書 。

• 画面 表示 GUI 部品 。行単位 複数 文字列 入 。初期 150×90 。


• 以下 「作る」以外 例 、「リスト1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例) 作 。
1= ! 作 。
書 : 文字 書 。新 行 追加 。
(例) 「"あいうえお"」 文字列 追加 。
1! " " 書 。
136 付録 E 命令一覧

読 : 文字 読 返 。行 1 始 整数 指定 。
(例) 1 個目 要素 読 。
!( 1 ! 1 読 )作 。
: 空 。
(例) 要素 削除 。
1! 。

選択

• 画面 表示 GUI 部品 。選択肢 表示 、 選択 。初期 150×45 。


• 以下 「作る」以外 例 、「メニュー1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)選択 作 。
1 =選択 ! 作 。
書 : 文字列 書 。新 選択肢 追加 。
(例)選択 「+」 「-」 選択肢 追加 。
1 ! "+" 書 "−" 書 。
何番目? : 選 番号 1 始 整数 返 。「書く」 例 続 実行 。
(例)選択 1 個目 選択肢 選 、「カメ太! 100 歩く」 実行 。
「( 1 ! 何番目?) == 1」! 「 太! 100 歩 」実行。
読 : 文字列 読 。 番号 1 始 整数 指定 。
(例) 1 個目 選択肢 文字 読 。「書く」 例 続 実行 。
!( 1 ! 1 読 )作 。

• 画面 表示 GUI 部品 。初期 300×45 。


• 動 0∼100 範囲 値 変 。値 変 動作 実行 。
• 生成時 指定 。
• 以下 「作る」以外 例 、「スライダー1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例) 作 。
1= ! 作 。
値 減少 値 増加 指定 。
文字列 E.6 節 「 一覧」 参照 。次 例 左右 矢印
押 動 。
(例)左右 矢印 操作 作 。
1= ! "LEFT" "RIGHT" 作 。
値? : 値 得 。0∼100 値 返 。
(例) 値 表示 。
1= ! 作 。
1:動作=「 1 !( 1 ! 値?)書 」。
E.6 一覧 137

値: 値 設定 。0∼100 値 指定 。
(例) 「50」 設定 。
1 ! 50 値。
横向 : 横長 。
(例) 横向 。
1 ! 横向 。
縦向 : 縦長 。
(例) 縦向 。
1 ! 縦向 。
文字出 : 目盛 表示 。10 目盛 表示 。
(例) 目盛 表示 。
1 ! 文字出 。
文字消 : 目盛 表示 。
(例) 目盛 消 。
1 ! 文字消 。

E.6 一覧
• GUI 部品 操作 一覧 。
• 文字 、各種 共通 使 。

英字 "A", "B", ..., "Z"


数字 "1", "2", ..., "0"
"F1", "F2", ..., "F12"
(ESC) "ESCAPE"
(−) "MINUS"
(¥) "BACK_SLASH"
開 括弧([) "OPEN_BRACKET"
閉 括弧(]) "CLOSE_BRACKET"
(;) "SEMICOLON"
(,) "COMMA"
(.) "PERIOD"
(/) "SLASH"
(ENTER) "ENTER"
(HOME) "HOME"
(END) "END"
(PageUp) "PAGE_UP"
(PageDown) "PAGE_DOWN"
上(↑) "UP"
下(↓) "DOWN"
左(←) "LEFT"
右(→) "RIGHT"
138 付録 E 命令一覧

E.7 音楽

• 音階 旋律 表 。" ∼" 、分 文字列 表現 。


• 以下 「作る」以外 例 「メロディ1」
、 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「メロディ1」 名前 作 。
1= ! 作 。
(例)「メロディ1」 名前 「"ドレミ∼"」 音符 作 。
1= ! " ∼" 作 。
設定 : 楽器 設定 。
(例) 1 「オルガン」 楽器 設定 。
1 !(楽器! " " 作 )設定。
追加 : 音符 追加 。音符 文字列 指定 。
(例) 1 「"ドレミ∼"」 音符 追加 。
1! " ∼" 追加。
(例) 2 1 音符 追加 。
2 !( 1)追加。
無音 : 休符 追加 。
(例) 2 4 拍 休符 1 追加 。
2 ! 4 無音( 1)追加。
繰 返 : 繰 返 返 。
(例) 2 1 2 回繰 返 音符 追加 。
2= 2 !( 1 ! 2 繰 返 )追加。
音上 : 音階 n 音上 。
(例) 1 音程 下 。
2= 1 ! −12 音上 。
演奏 : 演奏 。
(例) 1 演奏 。
1 ! 演奏。
待 : 演奏 終 待 。
(例) 1 演奏 終 待 。
1! 待 。
: 音符 消 。
(例) 1 音符 消 。
1! 。

• 示 文字列 、次 表記 使 。

, , , , , , , , , , , , , , , , C, D, E, F, G, A, B: 音階 表 。
(例) 1! " " 追加。
#: 半音上 。直前 音階 半音上 。
(例) 1! " # " 追加。
E.7 音楽 139

♭ (%): 半音下 。直前 音階 半音下 。


(例) 1! " ♭" 追加。
↑, ^ : 上 。 以降 音階 1 上 。
(例) 1 「"ドレミファソラシ^ドレミ"」 追加 。最後 「"ドレミ"」 上
音階 。
1! " ^ " 追加。
↓ , _: 下 。 以降 音階 1 下 。
(例) 1 「"ド_シラソファミレド"」 追加 。最後 「"ド"」以降 下 音階

1! " _ " 追加。
・: 休符
(例) 1 ! " ・ ・ " 追加。
∼ (-): 長音。前 音 1 拍延 。
(例) 1! " ∼" 追加。
. : 長音。前 音 半拍延 。
(例) 1! " ." 追加。
&,1,2,4,8,16: 長 指定 。" 4 8 4&8" 書 、 4 分音符、 8 分音符、 付点 4 分
音符 。
(例) 1! " 4 8 4&8" 追加。
{...}: 三連符。3 個 音 2 拍 演奏 。全体 長 指定 。
(例) 1 ! "{ }8" 追加。

• 和音 表 。"CCD∼" 文字列 記述 。
• 以下 「作る」以外 例 、「コード1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「コード1」 名前 作 。
1= ! 作 。
(例)「コード1」 名前 「"CCD"」 音符 作 。
1= ! "CCD" 作 。
設定 : 楽器 設定 。
(例) 1 「オルガン」 楽器 設定 。
1 !(楽器! " " 作 )設定。
追加 : 音符 追加 。音符 文字列 指定 。
(例) 1 「"CCD∼"」 音符 追加 。
1 ! "CCD∼" 追加。
(例) 2 1 音符 追加 。
2 !( 1)追加。
無音 : 休符 追加 。
(例) 2 4 拍 休符 1 追加 。
2 ! 4 無音( 1)追加。
140 付録 E 命令一覧

繰 返 : 繰 返 返 。
(例) 2 1 2 回繰 返 追加 。
2= 2 !( 1 ! 2 繰 返 )追加。
音上 : 音階 n 音上 。
(例) 1 音程 下 。
2= 1 ! −12 音上 。
演奏 : 演奏 。
(例) 1 演奏 。
1 ! 演奏。
待 : 演奏 終 待 。
(例) 1 演奏 終 待 。
1! 待 。
: 追加 消 。
(例) 1 消 。
1! 。

• 示 文字列 、次 表記 使 。

A , B , C , D , E , F , G: 表 。
(例) 1 ! "CCG" 追加。
m, 7: 修飾 。 作 使 。
(例) 1 ! "CCmC7Cm7" 追加。
#: 半音上 。直前 音階 半音上 。
(例) 1 ! "C # CD" 追加。
♭ (%): 半音下 。直前 音階 半音下 。
(例) 1 ! "CCD ♭" 追加。
↑, ^ : 上 。 以降 音階 1 上 。
(例) 1 「"C^CD"」 追加 。最後 「"CD"」 上 音階 。
1 ! "C^CD" 追加。
↓ , _: 下 。 以降 音階 1 下 。
(例) 1 「"C_CD"」 追加 。最後 「"CD"」 下 音階 。
1 ! "C_CD" 追加。p
・: 休符
(例) 1 ! "C・C・D" 追加。
∼ (-): 長音。前 音 1 拍延 。
(例) 1 ! "CCD∼" 追加。
.: 長音。前 音 半拍延 。
(例) 1 ! "CCD." 追加。
&,1,2,4,8,16: 長 指定 。"C4D8E4&8" 書 、C 4 分音符、D 8 分音符、E 付点 4 分音符

(例) 1 ! "C4D8E4&8" 追加。
{...}: 三連符。3 個 音 2 拍 演奏 。全体 長 指定
(例) 1 ! "{CDE}8" 追加。
E.7 音楽 141

• 楽器 演奏 表 。" " 、分 文字列 表現 。


• 楽器 設定 、 演奏 。単独 演奏 、
他 楽器 同時 演奏 。
• 以下 「作る」以外 例 、
「ドラム1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「ドラム1」 名前 作 。
1= ! 作 。
追加 : 音符 追加 。音符 文字列 指定
(例) 1 「"ドツタツ"」 音符 追加 。
1! " " 追加。
(例) 1 1 音符 追加 。
2 !( 1)追加。
無音 : 休符 追加 。
(例) 2 4 拍 休符 追加 。
1 ! 4 無音。
繰 返 : 繰 返 返 。
(例) 2 1 2 回繰 返 音符 追加 。
2= 2 !( 1 ! 2 繰 返 )追加。
演奏 : 演奏 。
(例) 1 演奏 。
1 ! 演奏。
待 : 演奏 終 待 。
(例) 1 演奏 終 待 。
1! 待 。
: 追加 消 。
(例) 1 音符 消 。
1! 。
楽器設定 : 音符 楽器 対応 設定 。楽器 楽器名 文字列 楽器番号 指定 。複数 楽器
設定 。
(例) 1 「"ド"」 「"手拍子"」 楽器 設定 。
1 ! " " "手拍子" 楽器設定。
(例) 1 「"ド"」 「36」番 楽器 設定 。
1 ! " " 36 楽器設定。
(例) 1 「"ドタツクチパ"」 、 「35, 38, 42, 44, 46, 49」番 楽器 設定 。
1! " " 35 38 42 44 46 49 楽器設定。

• 示 文字列 、次 表記 使 。楽器 割当 「楽器設定」 変更 。


(例) ! 作 " ・" 追加 演奏。
, ( ): 半拍 表 。
, ( ): 半拍 表 。
, ( ): ( ) 半拍 表 。
142 付録 E 命令一覧

, ( ): ( ) 半拍 表 。
, ( ): ( ) 半拍 表 。
, ( ): 半拍 表 。
( ): 長音。前 拍 半拍長 。
・: 休符。1 拍休 。
&,1,2,4,8,16: 長 示 。" 4 8 4&8" 書 、最初 4 分音符、次
8 分音符、最後 付点 4 分音符 。
{...}: 三連符。3 個 音 2 拍 演奏 。全体 長 指定 。
• 「楽器設定」 使 楽器名 楽器番号 、次 使 。
番号 名前 番号 名前 番号 名前
35 2 51 1 67
36 1 52 68
37 53 69
38 1 54 70
39 手拍子 55 71
40 2 56 72
41 2 57 2 73
42 58 74
43 1 59 2 75
44 60 76
45 2 61 77
46 62 78
47 1 63 79
48 2 64 80
49 1 65 81
50 1 66

楽器

• 演奏 楽器 。
• 以下 「作る」以外 例 、
「ピアノ1」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「ピアノ1」 名前 楽器 作 。
1 =楽器! " " 作 。
設定 : 演奏 設定 。
(例)「ピアノ1」 「メロディ1」 設定 。
1 !( 1)設定。
(例)「ピアノ1」 「コード1」 設定 。
1 !( 1)設定。
演奏 : 楽器 演奏 。
(例)「ピアノ1」 演奏 。
1 ! 演奏。
待 : 演奏 終 待 。
(例)「ピアノ1」 演奏 終 待 。
1! 待 。
音量 : 音 大 設定 。値 0∼127 、標準 大 95 。
(例)「ピアノ1」 音 大 「127」 設定 。
E.7 音楽 143

1 ! 127 大 。

• 楽器名 楽器番号 、次 使 。

番号 名前 番号 名前 番号 名前
1 44 87
2 45 88
3 46 89
4 47 90
5 1 48 91
6 2 49 92
7 50 93
8 51 1 94
9 52 2 95
10 53 96
11 54 97
12 55 98
13 56 99
14 57 100
15 58 101
16 59 102
17 60 103
18 61 104
19 62 105
20 63 1 106
21 64 2 107 三味線
22 65 108 琴
23 66 109
24 67 110
25 68 111
26 69 112
27 70 113
28 71 114
29 72 115
30 73 116
31 74 117 太鼓
32 75 118
33 76 119
34 77 120
35 78 尺八 121
36 79 122
37 1 80 123
38 2 81 124
39 1 82 125
40 2 83 126
41 84 127
42 85 128
43 86
144 付録 E 命令一覧

• 複数 楽器 / / 演奏 。
• 以下 「作る」以外 例 、
「マイバンド」 作 例 実行 。

作 : 自分 複製 新 作 。
(例)「マイバンド」 名前 作 。
= ! 作 。
追加 : 演奏 楽器/ / / 設定 。
(例)「マイバンド」 「ピアノ1」 楽器 追加 。
!( 1)追加。
演奏 : 演奏 。
(例)「マイバンド」 演奏 。
! 演奏。
待 : 演奏 終 待 。
(例)「マイバンド」 演奏 終 待 。
! 待 。
: (楽器/ / / ) 取 消 。
(例)「マイバンド」 追加 楽器/ / / 取 消 。
! 。
: 演奏 速度 指定 。標準 88 。
(例)「マイバンド」 演奏 速度 「100」 設定 。
! 100 。
145

索引

!, 3, 77, 90 ipaddress, 124 明 , 12, 132


!=, 92, 107, 115, 117 IP , 50 値, 137
≠, 115, 117 値? , 112, 136
*, 92, 107, 115 Java, v 余 , 115
×, 107, 115 javavendor, 124 現 , 128, 131, 134
+, 92, 107, 108, 115, 117 javaversion, 124 歩 , 3, 126
-, 92, 107, 115, 139, 140
∼, 139, 140 lang, 124 , 27, 109, 118
., 139, 140 LEFT, 22, 137 位置, 10, 11, 14, 127, 130, 133
・, 139, 140 ln, 116 位置 消 , 99, 121
/, 92, 107, 115 localhost, 50 移動 , 11, 14, 96, 127, 130, 133
÷, 107, 115 log, 116 色, 12, 109, 131
:, 90 変数, 103
<, 92, 107, 115, 117 Macintosh, iv, 133 版, iii
<=, 92, 107, 115, 117 Macintosh 版, v , 89
≦, 115, 117 memory, 124
=, 3, 89 MIDI 音源, 36 上書 , 99, 121
==, 92, 107, 115, 117 mod, 115
>, 92, 107, 115, 117 MYU , 71 絵具, 12, 132
>=, 92, 107, 115, 117 MYU 構造化命令, 69 選 , 122
≧, 115, 117 MYU , 69, 115 円, 129
#, 138, 140 円周率, 115
♭, 139, 140 NOT, 109, 118 演奏, 36, 138, 140–142, 144
%, 92, 107, 115, 139, 140
&, 139, 140 OR, 109, 118 大 , 14, 133
_, 139, 140 osname, 124 , 139, 140
^, 139, 140 osversion, 124 音上 , 138, 140
↑, 139, 140 , 2, 89
↓, 139, 140 π , 115 指向言語, 89
2 軸制御, 69 PI, 115 , 112, 123
3 軸制御, 69 PIC, 69 親子関係, 101
4 分音符, 139, 140, 142 pow, 116 , 40
8 分音符, 139, 140, 142 , 71, 72
random, 116 音階, 138
abs, 107, 116 RIGHT, 22, 137 版, iii
acos, 116 round, 107, 116 音量, 142
add, 115
AND, 109, 118 server, 65 改行, 104
asin, 116 sin, 107, 116 回数, 18, 96, 119
atan, 116 sqrt, 107, 116 外部 , 69
startup.ini, 125 書 , 51, 99, 112, 113, 121, 123, 125,
ceil, 116 sub, 115 134–136
cos, 107, 116 拡大 , 128, 130
CPU, 88 tan, 107, 116 拡張 BNF, 104
掛 , 115
displayHeight, 124 undef, 57, 113, 122 , 4, 30, 91
displayWidth, 124 UP, 26, 137 楽器, 40, 142
div, 115 user, 124 楽器設定, 141
DOWN, 26, 137 角形, 129
version, 124 加法混色, 12, 132
versionstr, 124 画面, 124, 131
exp, 116
画面 座標, 126
Web , iv 間隔, 18, 96, 119
floor, 116 Windows, iv
Windows 版, v 偽, 109, 118
GUI 部品, 10, 14, 111 黄色, 12, 109, 131
青, 12, 109, 131 消 , 24, 128, 130, 134
hostname, 124 赤, 12, 109, 131 休符, 139, 140
146 索引

曲 構造, 38 足 , 115 , 5, 6, 39, 44, 75, 76, 92, 106, 118


, 69 , 2, 101
空白, 3, 7, 8, 104 縦 位置? , 129 , 89
暗 , 12, 132 縦向 , 137 文, 2, 90
, 122, 135, 136, 138, 140, 141, 144 , iv 分割, 117
繰 返 , 6, 17, 38, 73 文法 ,8
繰 返 脱出, 72, 73, 75 , 52
繰 返 , 72, 75, 93, 118, 138, 140, 141 注釈, 106 , 127
黒, 12, 109, 131 中心 戻 , 127 編集画面, iv, 2
変数, 102 中断, 119, 120 変身 , 23, 128
中置記法, 91, 115 変数, 3, 38, 89
消 , 121, 123 長音, 139, 140, 142 , 26, 127
結合, 122
減法混色, 12, 132 追加, 36, 138, 139, 141, 144 方眼紙, 26, 131
次 行, 133 , 10, 14, 17, 37, 90, 111, 134
後退, 72 作 , 2, 3, 11, 14, 101, 111, 112, 114, 119, 本当, 109, 118
, 36, 139 120, 123, 126, 129, 131, 134–136,
& , iv 138, 139, 141, 142, 144 , 140
, 86, 106 混 , 132
, 89 停止, 72, 75 待 , 18, 19, 98, 120, 138, 140–142, 144
名, 50 , 114, 123
, 8, 86 右回 , 3, 11, 72, 127, 130
, 50, 125 電子音, 75 水色, 12, 109, 131
三原色, 12 , 144 未定義, 57, 101, 113, 122
三連符, 139, 140, 142 緑, 12, 109, 131
同期, 19
時間, 18, 96, 119, 120 動作, 14, 111, 126, 129, 134–136 無音, 39, 138, 139, 141
識別子, 105 時計, 17 向 , 127
字句, 104 閉 , 127 向 ? , 129, 131
, 124 & , iv 無限 , 73
実行, 18, 92, 94–96, 117, 119, 120 , 36, 43, 141 紫, 12, 109, 131
実行画面, iv 言語, 89
実行時 ,8 Web , iv 命令, 2, 6
実行脱出, 75 , 109, 118 , 97
実行 , iv, 2
, 3, 6, 14, 90
終了 , 124 長 ? , 117
送信, 90
条件式, 39 名前, 3, 89, 105
, 69
衝突, 24, 26, 126, 129 , 95, 119
, 36, 138
, 22, 134, 136, 137 何番目? , 112, 136
, 36
白, 12, 109, 131 何文字目? , 117
真, 109, 118
文字消 , 137
真偽値, 109, 118 入力 , 72, 75, 76
文字 , 133
進数, 116
文字色, 14, 134
塗 , 11, 14, 130, 131, 133
文字出 , 137
数値, 105, 107, 112, 115
間, 75, 94, 119 文字列, 90, 105, 108, 112, 117
図形, 10, 110, 126, 129
戻 , 126
図形 作 , 10, 128
, 125 , 27, 109, 118
配列, 44, 99, 112, 120 定義命令, 77, 79
, 69
, 112, 136 , 71, 72
, 19, 97 跳 返 , 26, 126 要素数? , 99, 121
幅? , 131, 133 横 位置? , 129
接続, 51, 125 , 3, 39, 90 横向 , 137
設定, 40, 138, 139, 142 , 12, 132 読 , 51, 99, 121, 123–125, 134–136
前進, 72 , 72
選択 , 37, 112, 136 半音, 138, 140 , 111, 135
線 色, 128 反対, 109, 118 乱数, 23, 26, 40, 107, 116
線 太 , 25, 60, 128 , 36, 141, 144 乱数初期化, 116
, 109, 118 半透明 , 132
全部書 , 124 半拍, 141 , 112, 135
旋律, 36 , 52, 56, 111, 135
, 36 , 75, 76
, 95, 119 光, 12, 132
挿入, 121 引 , 115 , 15, 101, 122
束縛, 102 左回 , 3, 11, 72, 127, 130
実行, 100, 122 連結, 117
, 32, 37, 111, 135
, 2, 3, 109, 110, 126 含 ? , 108, 117 変数, 92, 103
,2 付点 4 分音符, 139, 140, 142 論理積, 118
代入, 89 部分, 108, 117 論理否定, 118
, 96, 119 , 88 論理和, 118
, 17 言語, 88
逐次実行, 31 言語処理系, 89 和音, 139
高 ? , 131, 133 , 88 割 , 115
147
【著者紹介】
兼宗 進
1963 年東京生まれ。87 年千葉大学工学部電子工学科卒業、89 年筑波大学
大学院理工学研究科修士課程修了。企業勤務ののち、2004 年筑波大学大学
院ビジネス科学研究科博士課程修了、博士 ( システムズ・マネジメント ) 。
2004 年より一橋大学総合情報処理センター准教授。
主な研究対象分野はコンピューター教育。教育用プログラミング言語「ドリ
トル」の開発も手がける。

久野 靖
1956 年生まれ。81 年東京工業大学理工学研究科情報科学専攻修士課程修了。
84 年同博士課程単位取得退学。同年同大学理学部情報科学科助手。89 年筑
波大学講師。助教授を経て、2000 年より筑波大学大学院ビジネス科学研究
科教授。理学博士 ( 東京工業大学 )。
主な研究分野はプログラミング言語、ユーザインタフェース、情報教育。著
書に「言語プロセッサ」「UNIX の基礎概念」「入門 JavaScript」などがある。

ドリトルで学ぶプログラミング 
ーグラフィックス、音楽、ネットワーク、ロボット制御ー
2008 年 9 月 20 日 初版第 1 刷 発行

著 者 兼宗 進、久野 靖
発行人 原 久太郎
発行所 株式会社イーテキスト研究所
〒113-0033 東京都文京区本郷 5-1-16
Tel 03-3815-3037 Fax 03-3818-1219
http://www.etext.jp
印刷所 株式会社加藤文明社

ISBN 978-4-904013-02-1

装丁 林 健造

You might also like