# 炎の型

## [炎の型工房に戻る](http://firefirestyle.net/)or [Gitbook@kyorohiroに戻る](https://www.gitbook.com/@kyorohiro)

[By kyorohiro](http://kyorohiro.github.io/)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17TRQ6TONjiJOGIV%2Fcover.png?generation=1524026094049334\&alt=media)

## About

#### 内容

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15LCqnYvNVonaFCd%2Fabout.png?generation=1524026086340498\&alt=media)

本書では、Scratchを利用して、様々なゲームを作成していきます。 世界初のビデオゲームである「Tennise for two」、世界初のシューティングゲームである「Spacewar!」。アーケードでビデオゲームの地位を確立した「Pong」などのチュートリアルが収録されています。

### 注意

見れないページがある場合は、以下を参照いてください!!

<https://kyorohiro.github.io/firefirebook/index.html>

#### ことはじめ

本文書は、CoderDojo八王子にて進行を務めるにあたり、Kyorohiroがまとめたものです。

2015/08/16 の時点で、プログラム道場向けの日本語のプログラムのチュートリアルが少ない状態にあります。これらを、補強する目的として、チュートリアルの作成と公開をする事にしました。 どんどん追加していきます。 <https://www.gitbook.com/book/kyorohiro/firestyle/details>\
&#x20;<br>

#### LICENSES

<http://creativecommons.org/licenses/by/4.0/>

この文書のライセンスはCC0で配布しています。だいだいの権利を放棄しています。

まるっとコピーしても良いです。改変して配布しても良いですし。有料で利用してもらっても良いです。これらの事がkyorohiroの断りなくできます。

#### Table

* [Tennis For Two <難易度 中上>](/tennis_of_two)
  * [プロジェクトを作る](/tennis_of_two/create_project)
  * [ボールを追加する](/tennis_of_two/create_ball)
  * [自由落下](/tennis_of_two/free_fall)
  * [跳ねる](/tennis_of_two/bouncing_ball)
  * [左右に移動](/tennis_of_two/right_left)
  * [ボールを打つ](/tennis_of_two/shot_ball)
  * [Coatを作成する](/tennis_of_two/create_court)
  * [完成](/tennis_of_two/goal)
* [Spacewar!<難易度 上下>](/spacewar)&#x20;
  * [プロジェクトを作成する](/spacewar/create_project)
  * [太陽を作る](/spacewar/create_sun)
  * [ロケットと重力を作る](/spacewar/create_rocket)
  * [旋回機能を作る](/spacewar/create_spin)
  * [推進機能を作る](/spacewar/create_thrust)
  * [機雷発射機能を作る](/spacewar/create_fire)
  * [的を作る](/spacewar/createtarget)
  * [完成](/spacewar/goal)
* [Pong <難易度 中>](/pong)
  * [プロジェクトを作る](/pong/create_project)
  * [ラケットを作る](/pong/create_racket)
  * [ラケットを上下に移動させる](/pong/readme02)
  * [コースを追加](/pong/create_cource)
  * [ボールを追加](/pong/create_ball)
  * [ボールを移動させる](/pong/readme2)
  * [ボールが跳ね返る機能をついか](/pong/bouncing)
  * [勝ち負けを判定する](/pong/win_lose)
  * [打つ向きを変える](/pong/direction)
  * [完成!!](/pong/goal)
* [Tiny TETRIS<難易度 上上>](/tetris)
  * [Table](/tetris/table)&#x20;
  * [プロジェクトを作る](/tetris/create_project)
  * [ネコを削除する](/tetris/remove_neko)
  * [フィールドを作成する](/tetris/create_board)
  * [フィールドの状態を記述する](/tetris/create_board_state)
  * [フィールドに枠を表示する](/tetris/create_frame)
  * [テトロミノを表示する](/tetris/create_tetromino)
  * [テトロミノの種類を増やす](/tetris/create_tetriminos)
  * [テトロミノの衝突判定](/tetris/collision)
  * [下に移動する](/tetris/down)
  * [左右に移動する](/tetris/move_left)
  * [回転させる](/tetris/rotate_right)
  * [クリアする](/tetris/clear)
  * [テトロミノを落下させる](/tetris/fall_tetromino)
  * [完成!!](/tetris/goal)
* [Dojo:InkRunner <難易度 下上>](/ink_runner)&#x20;
  * [プロジェクトを作る](/ink_runner/create_project)
  * [xxxって何だろう?](/ink_runner/what_is_inkrunner)
  * [右に移動する](/ink_runner/move_character)
  * [左に移動する](/ink_runner/move_left)
  * [上下に移動する](/ink_runner/up_down)
  * [対戦相手を作る(1)](/ink_runner/fighting_game)
  * [対戦相手を作る(2)](/ink_runner/fighting_game_2)
  * [対戦相手を作る(3)](/ink_runner/fighting_game_3)
  * [完成!!](/ink_runner/goal)
  * [おまけ: Timer(1)](/ink_runner/bonus)
  * [おまけ: Timer(2)](/ink_runner/timer_2)
  * [おまけ: 判定](/ink_runner/judgement)
* [Practice:Gravity<難易度 下中>](/gravity)
  * [プロジェクトを作ろう](/gravity/create_project)
  * [地球を作る](/gravity/createsun)
  * [地球の位置とサイズを調整する](/gravity/readme2)
  * [月の大きさを調整する](/gravity/readme3)
  * [速度に応じて移動する](/gravity/create_speed)
  * [引力に応じて移動する](/gravity/createattraction)
  * [軌道を記録する](/gravity/readme2-1)
  * [完成!!](/gravity/goal)
  * \[おまけ:向きを計算してみる]
  * \[おまけ:距離を計算してみる]
* [Dojo:おにごっこ<難易度 下中>](/tag)
  * [プロジェクトを作ろう](/tag/create_project)
  * [右に逃げる](/tag/run_chara)
  * [左に逃げる](/tag/readme2)
  * [上下に逃げる](/tag/readme3)
  * [鬼を作る](/tag/oni)
  * [鬼が移動する](/tag/readme2-1)
  * [捕まった時の動作](/tag/tag)
  * [完成!!](/tag/goal)
* [Practice:ポリゴン<難易度 中上>](/polygon)
  * [プロジェクトを作る](/polygon/create_project)&#x20;
  * [ネコの表示を小さくする](/polygon/reduce_size)
  * [三角形を描く](/polygon/draw_polygon)
  * [Matrixを定義する](/polygon/matrix)
  * [Matrixの掛け算](/polygon/product)
  * [Z軸に対して回転](/polygon/rotatez)
  * [X軸に対して回転](/polygon/rotatex)
  * [Y軸に対して回転](/polygon/rotatey)
  * [完成!!](/polygon/goal)
  * [おまけ:Cubeを描く](/polygon/cube)
  * [おまけ:裏と表](/polygon/hiddensurface)
* [作業テーブル:パズドラッぽいの<難易度 上中>](/pazzdora)
  * [Table](/pazzdora/table)&#x20;
  * [完成!!](/pazzdora/goal)

## 入門者向け

炎の型は難易度が高めなので、 Scratchが初めての方向けに、Scratch を用いた プログラムの入門記事を書きました。

こたらも、どうぞ。

**火の型 Scratch 2.0 でプログラム入門**

<https://www.gitbook.com/book/kyorohiro/firestyle/details> ![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19Bfjd07JpyzWqMF%2FFireStyle_000_00_003.png?generation=1524026102264218\&alt=media)


# Tennis For Two <難易度 中上>

「Tennis for two」は世界(せかい)で初(はじ)めて、 一般(いっぱん)の人(ひと)向(む)けに作成(さくせい)された ビデオゲームと言(い)われています。 このゲームは、1958年(ねん)に公開(こうかい)されました。

アメリカの物理学者(ぶつりがくしゃ)である、William Higinbotham(ウィリアム・ヒギンボーサム)によって作成(さくせい)されました。Brookhaven National Laboratory(ブルックヘブンこくりつ国立研究所(こくりつけんきゅうじょ))の来訪者(らいほうしゃ)向(む)けに作成(さくせい)されたものです。

オシロスコープとアナログ回路(カイロ)を用(もち)いて作成(さくせい)されました。 デジタルなプログラムで作成(さくせい)されなかったのは、当時(とうじ)のデジタルコンピュータには、パンチカードでプログラムを書(か)き、プリンターで結果(けっか)を出力(しゅつりょく)していました。当時(とうじ)のデジタルコンピュータは、ビデオゲームを動(うご)かすような能力(のうりょく)は持(も)っていなかったからです。

## Tennis for two

<https://youtu.be/u6mu5B-YZU8>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-1Df6XNKgVQSiyt%2Ftennis_for_two_001a.png?generation=1524026054016173\&alt=media)

オシロスコープにテニスコートが表示されており。コントローラを操作(そうさ)してボールを打(う)つことができた。

コントローラには、二つの操作機器(そうさきき)がついていて、図(ず)のAの部分(ぶぶん)を回(まわ)して角度(かくど)をきめて、図(ず)のBの部分(ぶぶん)を押(お)すことでボールを弾(はじ)くことができた。

このゲームでは勝敗(しょうはい)の判定(はんてい)はコンピュータは行(おこな)いません。ゲームをプレーした人(ひと)が判定(はんてい)します。

## Scratchで作成(さくせい)してみよう

<https://scratch.mit.edu/projects/77983448/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-1slw_wZpbxUvm_%2Fscratch_tennis_for_two_02a.png?generation=1524026054004325\&alt=media)

次(つぎ)の章(しょう)から、作成(さくせい)していきます。マウスで角度(かくど)を調節(ちょうせい)して、Spaceキーでボールを打(う)ちます。一人用(ひとりよう)です。

## 用語(ようご)

* オシロスコープ

  電位差(でんいさ)を2次元(じげん)グラフに表示(ひょうじ)する装置(そうち)

## ref

* <https://www.bnl.gov/about/history/firstvideo.php>
* <http://www.cbc.ca/news/technology/video-games-turn-50-1.703624>
* <https://ja.wikipedia.org/wiki/Tennis_for_Two>
* <http://gamersbox.net/pages/history_of_video_game/>
* <http://www.nicovideo.jp/watch/sm10824956>


# プロジェクトを作る

はじめにプロジェクトを作成(さくせい)しましょう。

## (1) Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15xAKtRlLogpw0Uy%2Fbase001_make.png?generation=1524026099457602\&alt=media)

## (2) 「作る」または、「やってみる」を選択(せんたく)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15xLu1PI2sEEHkGv%2Fbase001_make_002.png?generation=1524026098468950\&alt=media)

ゲームに開発画面(かいはつがめん)が表示(ひょうじ)されます。


# ボールを追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11P8Nn6CSY3QFhpf%2Fabout_s.png?generation=1524026068039131\&alt=media)

Tennis for Two は、ボールを打(う)ち合(あ)うゲームです。

まずは、ボールを追加(ついか)してみましょう。

## (1) ボールを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11PuSeJJ-3fCrdmz%2Fcreate_ball_001b.png?generation=1524026061231892\&alt=media)

### (1-1) 左下(ひだりした)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11QNYWSbJUgNYIai%2Fcreate_ball_002a.png?generation=1524026069979274\&alt=media)

### (1-2)「もの」をクリック

### (1-3)「Ball」をクリック

### (1-4) 右下(みぎした)のOKをクリック

## (2) Sprite1 を削除(さくじょ)する

猫(ねこ)のSprite(スプライト)は使(つか)わないので削除(さくじょ)しましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11RnxeQNjlMuyd60%2Fcreate_ball_003a.png?generation=1524026069976190\&alt=media)

### (2-1) Sprite1の上にマウスカーソルを合わせる

### (2-2) 右(みぎ)クリックする

### (2-3) メニューから削除(さくじょ)を選(えら)ぶ

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11SUUg60QsLh-0jU%2Fcreate_ball_004a.png?generation=1524026070089911\&alt=media)

## (3) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!


# 自由落下

## 自由落下(じゆうらっか)させる

<https://scratch.mit.edu/projects/78216824/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19Cf5MGCKKjqa7Ha%2Fabout_s.png?generation=1524026108613990\&alt=media)

自由落下(じゆうらっか)のスクリプトを追加(ついか)してみましょう。

### (1) ボールにスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19CtucliyU5fZIcm%2Ffree_fall_001a.png?generation=1524026108946782\&alt=media)

#### (1-1) 左下(ひだりした)のBallをクリックする

#### (1-2) 右上(みぎのうえ)のスクリプトタブをクリック

#### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19DQA3vjHJfYfkl0%2Ffree_fall_script.png?generation=1524026109115818\&alt=media)

**※ 「Yの速度(そくど)」変数を作るときは、「このSpriteのみ」にチェックを入れてください**

### (2) 確認してみよう

<https://scratch.mit.edu/projects/78216824/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19E0ctUIRT1dhERK%2Fcreateball_scratch_001a.png?generation=1524026108637846\&alt=media)

#### (2-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。ボールが落下します。

### (3) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

## 補足:自由落下

### 物体は引き付け合う

手から石を離すと、地面に落ちる。この現象は万有引力によるものとされています。万有引力とは、物体にはお互いに引き付けあう性質を持つというものです。

万有引力で引き付け合う物体は、速度が上昇しながら近づいていきます。

### 古典物理での記述はこんな感じ

物体Aと物体Bが引き合う力は、古典物理学でき以下のような表現する事ができます。

```
F = (G × M × m) / (r × r)
F : 万有引力の大きさ
G : 定数
M : Aの重さ
m : Bの重さ
r : AとBの距離
```

### 重力が発生する理由

この仮説を立てたニュートンもこの力が発生している理由を、上手く説明できませんでした。ニュートンは今では存在しないものとされているエーテルの流れによるものと考えていました。

現代では、アインシュタインの相対性理論によると、時空の歪みが重力を発生させると考えられています。

ちなみに、地球の地表での重力は 9.807 m/s² ということが解っています。 物体の落下するスピードが毎秒9.807m/sづつ増加することを意味します。

* 参考までに

  <https://ja.wikipedia.org/wiki/重力を説明する古典力学的理論>


# 跳ねる

<https://scratch.mit.edu/projects/78270956/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM117ymWeh_nafAv7Z%2Fabout_s.png?generation=1524026069812544\&alt=media)

大地(だいち)を追加(ついか)して、 地面(じめん)に衝突(しょうとつ)したボールが跳(は)ねるようにしよう!!

#### (1) 背景(はいけい)に地面(じめん)を描(か)く

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM118fFQOIynER7om_%2Fbouncing_001a.png?generation=1524026069289233\&alt=media)

**(1-1) 左下(ひだりした)の「ステージ1背景」をクリックする**

**(1-2) 右上(みぎうえ)の背景(はいけい)タブをクリックする**

**(1-3) 上図(うえのず)のように地面(じめん)を書(か)く。単色(たんしょく)で描(か)いてください**

#### (2) 衝突(しょうとつ)したボールが跳(は)ねるスクリプトを追加(ついか)する

**(2-1) 左下(ひだりした)のBallをクリックする**

**(2-2) 右上(みぎのうえ)のスクリプトタブをクリック**

**(2-3) 上記(かき)スクリプトを追加(ついか)してください**

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM119lldZ70UcPdiad%2Fbouncing_script_002.png?generation=1524026068866820\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つくる)るときは、「このSpriteのみ」にチェックを入れてください**

#### (3) 確認(かくにん)してみる

<https://scratch.mit.edu/projects/78270956/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11B7Jar_Ar92kUEl%2Fbouncing_scratch_001.png?generation=1524026068815385\&alt=media)

**(3-1) 右上(みぎうえ)の緑色(みどり)の旗(はた)をクリックする。地面(じめん)に衝突(しょうとつ)すると跳(は)ね返(か)ることを確認(かくにん)する。**

### (3) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

## 補足:弾性力

サッカーボール、テニスボールなどは、地面に衝突すると跳ねます。不思議な現象です。なぜボールが跳ねるのかを、一律に説明する事は難しいです。しかし、古典物理学では、この現象を記述する事に成功しています。

#### ボールによって跳ねやすさは異なります。

ボールによって跳ね安さは異なります。野球ボールを地面に落とすよりも、スーパーボールの地面に落とした方がより高く跳ねます。古典物理学では、このボールの跳ねやすさを弾性力として定義しました。

跳ねやすいボールの弾性は高く、跳ねにくてボールの弾性は低いのです。

#### 強く投げると大きく跳ねる

スーパーボールをなどを、地面に向けて落とすと、少しだけ弾みます。逆に、地面に向かって強く投げると、大きく跳ね返ります。

#### ルール

このように、跳ねる度合いはどのくらい強くボールを投げたかに依存します。弾性力とこの投げる強さの関係は、実験結果から以下のようになる事が解っています。

```
次の瞬間の速度 = 衝突した時の速度 × 弾性力 × -1
```

## 補足 : 今回のプログラムのズル

以下の部分は物理現象を無視しています。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11EtsxXuIS244I-e%2Fbouncing_script_002a.png?generation=1524026068703104\&alt=media)

このコードを追加したのは、ボールが地面に食い込んでしまった時の状態に対応するために追加しました。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11FaAVsfj93W6eyL%2Fbouncingball_001f.png?generation=1524026068353280\&alt=media)

ボールが地面にめり込んでしまう状態が発生します。これは現実ではおきません。 そこで、ボールが衝突した瞬間に少しだけボールを上に移動するようにしました。


# 左右に移動

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-k3AlN5qxa6nBjT%2Fabout_s.png?generation=1524026067487211\&alt=media)

今(いま)までに作成(さくせい)したプログラムが、上下(じょうげ)の移動(いどう)だけしかできませんでした。

左右(さゆう)にも移動(いどう)できるようにしましょう!!

## (1) 左右(さゆう)へも移動(いどう)できるようにする

### (1-1) 左下(ひだりした)のBallをクリックする

### (1-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-kWFh0xKXtvIUda%2Fright_left_script_001.png?generation=1524026063958760\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作るときは、「このSpriteのみ」にチェックを入れてください** **※ 「Xの速度(そくど)」変数(へんすう)を作るときは、「このSpriteのみ」にチェックを入れてください**

## (2) 確認(かくにん)する

<https://scratch.mit.edu/projects/78304898/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-luAX8Czpcnyxhc%2Fright_left_scratch.png?generation=1524026069204665\&alt=media)

### (2-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。地面(じめん)に衝突(しょうとつ)すると跳(は)ね返(かえ)ることを確認(かくにん)する。

## (3) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!


# ボールを打つ

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19_QlrufEGlJYTZC%2Fabout_s.png?generation=1524026107645180\&alt=media)

### (1) ラケットでボールを打(う)てるようにする

#### (1-1) 左下(ひだりした)のBallをクリックする

#### (1-2) 右上(みぎのうえ)のスクリプトタブをクリック

#### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19_dZ3m3k-TZ9gYb%2Fshot_script_001.png?generation=1524026110700748\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

### (2) 確認(かくにん)する

<https://scratch.mit.edu/projects/78309820/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19aPG8-_qFoB0-6V%2Fright_left_scratch.png?generation=1524026101696929\&alt=media)

#### (2-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

#### (2-2) Spaceボタンを押(お)すと、マウスカーソルで指定(してい)した方向(ほうこう)にボールが飛(と)んでいくのを確認(かくにん)する。

## (3) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!


# Coatを作成する

<https://scratch.mit.edu/projects/78314736/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15v0Y1rk54zB8Ry5%2Fabout_s.png?generation=1524026079049020\&alt=media)

コートを作成(さくせい)します。

## (1) 背景(はいけい)にコートを描(か)く

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15vYL09HceNaH9ib%2Fcoat_001a.png?generation=1524026098899688\&alt=media)

### (1-1) 左下(ひだりした)の「ステージ1背景」をクリックする

### (1-2) 右上(みぎうえ)の背景(はいけい)タブをクリックする

### (1-3) 上図(じょうず)のように絵(え)を描(か)く。3色(じょく)で描(か)いてください

## (2) 衝突(しょうとつ)したボールが跳(は)ねるスクリプトを追加(ついか)する

### (2-1) 左下(ひだりした)のBallをクリックする

### (2-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (2-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15w7g_zMJE2GI7wZ%2Fcoat_script_001a.png?generation=1524026079136695\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (3) 確認する

<https://scratch.mit.edu/projects/78314736/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15xapiNIbe4V92rD%2Fcourt_scratch_001.png?generation=1524026106991175\&alt=media)

### (3-1) 右上の緑色の旗をクリックする。

### (3-2) Spaceボタンを押すと、マウスカーソルで指定した方向にボールが飛んでいくのを確認する。

### (3-3) コートに触れると跳ね返ることを確認する

## (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-nARYV39XQDYUwd%2Fgood.png?generation=1524026067604887\&alt=media)

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!


# 完成

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12nWfBTPe6wOOjFb%2Ffire.png?generation=1524026065919418\&alt=media)

おめでとうございます。 この本(ほん)での Tennis for Two の作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すすめて)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# Spacewar!<難易度 上下>

Spacewarは世界初のシューティングとして知られています。1962年に、MITの学生であった、Steve Russell(スティーブ ラッセル)らによって開発されました。

PDP1という、１0万～20万ドル(現在の価格で1億～2億円)で販売されていた、コンピュータの性能のデモンストレーションをするために作成されました。

<https://youtu.be/Rmvb4Hktv7U> <http://spacewar.oversigma.com/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15LCqnYvNVonaFCd%2Fabout.png?generation=1524026086340498\&alt=media)

Spacewarは、太陽系を舞台にした対戦ゲームです。中央にある太陽から受ける重力を考慮しながら、相手を撃破します。太陽に衝突、または、光子魚雷によって相手機を破壊することができます。

光子魚雷の発射、機体の旋回、機体の推進をすることができます。

## Scratchで再現しよう

<https://scratch.mit.edu/projects/78173242/>

次の章より、太陽から受ける重力を題材にしたゲームを作成していきます。


# プロジェクトを作成する

はじめにプロジェクトを作成(さくせい)しましょう。

## (1) Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DO__PxEfg4haTWg%2Fbase001_make.png?generation=1524026109836008\&alt=media)

## (2) 「作る」または、「やってみる」を選択(せんたく)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DOoffHpWvVcBdG_%2Fbase001_make_002.png?generation=1524026109447537\&alt=media)

ゲームに開発画面(かいはつがめん)が表示(ひょうじ)されます。


# 太陽を作る

<https://scratch.mit.edu/projects/78594872/>

## (1) ボールを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12oX8riYh-KK1ywr%2Ff1_001a.png?generation=1524026071253364\&alt=media)

### (1-1) 左下(ひだりした)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12ogLx6ol3L0BLKM%2Ff1_002a.png?generation=1524026071379265\&alt=media)

### (1-2)「もの」をクリック

### (1-3)「Ball」をクリック

### (1-4) 右下(みぎした)のOKをクリック

## (2) Sprite1 を削除(さくじょ)する

猫(ねこ)のSprite(スプライト)は使(つか)わないので削除(さくじょ)しましょう。&#x20;

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12p3AMhFyUsX-JoY%2Ff1_003a.png?generation=1524026070651829\&alt=media)

### (2-1) Sprite1の上(うえ)にマウスカーソルを合(あ)わせる

### (2-2) 右(みぎ)クリックする

### (2-3) メニューから削除(さくじょ)を選(えら)ぶ

## (3) 太陽(たいよう)を中央(ちゅうお)に固定(こてい)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12q1QxQJarKDBuhe%2Ff1_004a.png?generation=1524026071378914\&alt=media)

### (3-1) 左下(ひだりした)のBallをクリックする

### (3-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (3-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12qrX_Tg2663Yl4y%2Ff1_005a.png?generation=1524026071954741\&alt=media)

## (4) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78594872/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12rSBCHUfgnNyOSA%2Fcreate_sun_scratch_001.png?generation=1524026071848823\&alt=media)

### (4-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。ボールが中央(ちゅうおう)に表示(ひょうじ)されます


# ロケットと重力を作る

<https://scratch.mit.edu/projects/78596462/>

## (1) ロケットを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1IBEYyK2xeoGPMcF%2Ff2_001a.png?generation=1524026130414969\&alt=media)

### (1-1) 左下(ひだりした)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ICBrUH5N5lWTeJU%2Ff2_002a.png?generation=1524026130452380\&alt=media)

### (1-2)「もの」をクリック

### (1-3)「Arrow」をクリック

### (1-4) 右下(みぎした)のOKをクリック

## (2)重力(じゅうりょく)を追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ID3VpUfMi9qiIHQ%2Ff2_003a.png?generation=1524026130313632\&alt=media)

### (2-1) 左下(ひだりした)のArrowをクリックする

### (2-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (2-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1IEOpKI7F3APnt4v%2Ff2_004a.png?generation=1524026130336533\&alt=media)

&#x20;**※ 「そくどX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「そくどY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「じゅうりょく」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (3) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78596462/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1IH4EKq-WFcGSI-M%2Fgravity_scratch_001.png?generation=1524026130191721\&alt=media)

### (3-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。ロケットが中央(ちゅうおう)のボールに引(ひ)き込(こ)まれます


# 旋回機能を作る

<https://scratch.mit.edu/projects/78600004/>

## (1) 旋回(せんかい)するスクリプトを追加(ついか)する

### (1-1) 左下(ひだりした)のArrowをクリックする

### (1-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16TF84q-D-isr4Al%2Ff3_004a.png?generation=1524026080961672\&alt=media)

**※ 「そくどX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「そくどY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「じゅうりょく」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (2) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78600004/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16U8M3QBKA0rb0-k%2Fspin_scratch_001.png?generation=1524026080934679\&alt=media)

### (2-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。

### (2-2) 左キーを押したら左に旋回すること

### (2-3) 右キーを押したら右に旋回すること


# 推進機能を作る

<https://scratch.mit.edu/projects/78600562/>

## (1)推進機能(すいしんきのう)を追加(ついか)する

### (1-1) 左下(ひだりした)のArrowをクリックする

### (1-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16cxh9ZeUvowDfwZ%2Ff4_004a.png?generation=1524026101923335\&alt=media)

&#x20;**※ 「そくどX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「そくどY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「じゅうりょく」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (2) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78600562/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16dpUfAIjupsOru3%2Fgravity_scratch_001.png?generation=1524026100895048\&alt=media)

### (2-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。

### (2-2) Spaceキーを押(お)すと、ロケットが前進(ぜんしん)することを確認(かくにん)してください


# 機雷発射機能を作る

<https://scratch.mit.edu/projects/78601124/#player>

## (1) 機雷(きらい)を追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ym14ku6zRcsT6e-%2Ff5_001a.png?generation=1524026062828163\&alt=media)

### (1-1) 左下(ひだり)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ym_Z8mXFCIkI3a1%2Ff5_002a.png?generation=1524026061175581\&alt=media)

### (1-2)「もの」をクリック

### (1-3)「Button5」をクリック

### (1-4) 右下(みぎした)のOKをクリック

## (2) 魚雷(ぎょらい)を発射(はっしゃ)するスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0yn_c6fTWc_N_ZtV%2Ff5_003a.png?generation=1524026062906484\&alt=media)

### (2-1) 左下(ひだりした)のButton5をクリックする

### (2-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (2-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0yooPA1k2eHVFvKG%2Ff5_004a.png?generation=1524026063295162\&alt=media)

**※ 「そくどX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「そくどY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「じゅうりょく」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (3) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78601124/#player>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ysqLx8uPPhS4Iuq%2Fshot_scratch_001.png?generation=1524026063249626\&alt=media)

### (3-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。

### (3-2) aキーを押(お)すと機雷(きらい)が発射(はっしゃ)されることを確認(かくにん)してください


# 的を作る

<https://scratch.mit.edu/projects/78602454/>

## (1) 的(まと)を追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DZLC5h35Mqb81d0%2Ff6_001a.png?generation=1524026110957262\&alt=media)

### (1-1) 左下(ひだりした)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DZgwqLyWFr7d47A%2Ff6_002a.png?generation=1524026112180902\&alt=media)

### (1-2)「もの」をクリック

### (1-3)「Balloon」をクリック

### (1-4) 右下(みぎした)のOKをクリック

## (2) 的(まと)を表示(ひょうじ)するスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1D_RpGphsa9KW2ho%2Ff6_003a.png?generation=1524026111276187\&alt=media)

### (2-1) 左下(ひだりした)のBalloonをクリックする

### (2-2) 右上(みぎのうえ)のスクリプトタブをクリック

### (2-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1D_x0T7ys8_N7Lry%2Ff6_004a.png?generation=1524026111106864\&alt=media)

**※ 「そくどX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「そくどY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「じゅうりょく」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりX」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「きょりY」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (3) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78602454/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DcJeoXUatbIF5Le%2Ftarget_scratch_001.png?generation=1524026110845948\&alt=media)

### (3-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください。

### (3-2) aキーを押(お)すと機雷(きらい)が発射(はっしゃ)されることを確認(かくにん)してください

### (3-3) 魚雷(ぎょらい)が的(まと)に当たると、的(まと)が消(き)えることを確認(かくにん)してください


# 完成

おめでとうございます。 この本(ほん)での Spacewar! の作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すすめて)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# Pong <難易度 中>

<http://www.ponggame.org>

Pongは一般向(いっぱんむ)けのTVゲームという分野(ぶんや)が、誕生(たんじょう)する、きっかけになったゲームです。 1972年(ねん)11月(がつ)にアタリ社(しゃ)で開発(かいはつ)されました。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18SrNU32n1crcfK2%2Fabout.png?generation=1524026089290111\&alt=media)

Pongは対戦(たいせん)ゲームです。左右(さゆう)に配置(はいち)されたラケットを、上下(じょうげ)に移動(いどう)させて、ボールを打(う)ち返(かえ)すゲームです。

相手(あいて)にラケットで打(う)ち返(かえ)すことを失敗(しっぱい)させると、得点(とくてん)が入(はい)ります。

先(さき)に15点(てん)を先取(せんしゅ)したほうが勝(か)ちとなります。

## Scratchで作成(さくせい)してみよう

<https://scratch.mit.edu/projects/77999912/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18TWsfJIH6LcxxDy%2Fabout_scratch_002a.png?generation=1524026089325170\&alt=media)

ボールが青色(あおいろ)の部分(ぶぶん)に衝突(しょうとつ)すると、右側(みぎがわ)に得点(とくてん)が入(はい)ります。ボールが赤色(あかいろ)の部分(ぶぶん)に衝突(しょうとつ)すると、左側(ひだり)に得点(とくてん)が入(はい)ります。

上(うえ)キー、下(した)キーを押(お)すと、灰色(はいいろ)のラケットが上下(じょうげ)に移動(いどう)します。

Aキー、Zキーを押(お)すと、黒色(くろいろ)にラケットが上下(じょうげ)に移動(いどう)します。

ボールにラケットが衝突(しょうとつ)すると跳(は)ね返(かえ)ります。


# プロジェクトを作る

いつも通り、プロジェクトを作成(さくせい)するところから、始(はじ)めてみましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14uEybAM50Cc1C3q%2Fbase001_make_002.png?generation=1524026076313807\&alt=media)

この画面(がめん)を表示(ひょうじ)できていますでしょうか。

「...」

「だいたい出来(でき)てますね」

「...」

では、一緒(いっしょ)にこの画面(がめん)を表示(ひょうじ)するまでをやってみましょう!!

## \[1] Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14v6eHqsaqmbhcrC%2Fbase001_make.png?generation=1524026074803858\&alt=media)

## \[2] 「作る」または、「やってみる」クリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14vZaRph9dK4s9ac%2Fbase001_make_002.png?generation=1524026074771924\&alt=media)

ゲーム開発画面(かいはつがめん)が表示(ひょうじ)されます。


# ラケットを作る

<https://scratch.mit.edu/projects/78407350/>

では、Pongを作っていきます。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ALQaQF5BQNc_o1G%2Fracket.png?generation=1524026110484108\&alt=media)

まずは、この上下(上下)に動(うご)く赤色(あかいろ)と青色(あおいろ)のラケットを作成(さくせい)してみましょう。

## (1) 青(あお)のラケットを作成(さくせい)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ALmHuhid4SAPojp%2Fcreate_racket_001.png?generation=1524026111212324\&alt=media)

### (1-1) 左下(ひだりした)にある鉛筆(えんぴつ)マークをクリックして、Spriteを追加(ついか)する

### (1-2) 画面中央(がめんちゅうおう)に青色(あおいろ)の長方形(ちょうほうけい)をかく

## (2) 赤(あか)のラケットを作成(さくせい)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AMGB8srQD63RMnK%2Fcreate_racket_001a.png?generation=1524026097236160\&alt=media)

### (2-1) 左下(ひだりした)にある鉛筆(えんぴつ)マークをクリックして、Spriteを追加(ついか)する

### (2-2) 画面中央(がめんちゅうおう)に赤色(あかいろ)の長方形(ちょうほうけい)をかく

## (3) Sprite1 を削除(さくじょ)する

はい、ラケットが作成(さくせい)できました。猫(ねこ)のSprite(スプライト)は使(つか)わないので削除(さくじょ)しましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ANLwPYdKD4UNpMA%2Fcreate_racket_002a.png?generation=1524026108165624\&alt=media)

### (3-1) Sprite1の上にマウスカーソルを合わせる

### (3-2) 右(みぎ)クリックする

### (3-3) メニューから削除(さくじょ)を選(えら)ぶ

## (4) 確認(かくにん)する!!

### (4-1) 画面(がめん)に赤(あか)と青(あお)のラケットが表示(ひょうじ)されていれば成功(せいこう)です。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AOeNn-KOBPLZvCd%2Fcreate_racket_002c.png?generation=1524026114601218\&alt=media)

## (5) Good!!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# ラケットを上下に移動させる

<https://scratch.mit.edu/projects/78407350/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19aP1cmWiqircLHV%2Fracket2.png?generation=1524026109680066\&alt=media)

はい、ラケットを作(つく)ることができました。しかし、まだ何(なに)も動作(どうさ)しません。

「上(うえ)キーを押(お)したら上(うえ)に移動(いどう)する」「下(した)キーを押(お)したら下(した)に移動(いどう)する」といった機能(きのう)を追加(ついか)してみましょう。

## (1)赤色(あかいろ)ラケットにスクリプトを追加(ついか)する

上下(じょうげ)に移動(いどう)するスクリプトを追加(ついか)しましょう

### (1-1) 左下(ひだりした)のラケットをクリックする

### (1-2) 右上(みぎうえ)のスクリプトタブをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19bFf52iUSYI6p-j%2Fcreate_racket_004a.png?generation=1524026110507610\&alt=media)

### (1-3) 下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19bdqOPF6_KSnXN1%2Fracket_script_001a.png?generation=1524026104291834\&alt=media)

## (2) 青色(あおいろ)ラケットにスクリプトを追加(ついか)する

赤色(あかいろ)ラケットにスクリプトを追加(ついか)したように、青色(あおいろ)にラケットにスクリプト画面(がめん)を開(ひら)いて、下記(かき)スクリプトを追加(ついか)してください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19cJoQRhsfrOL7fO%2Fracket_script_002a.png?generation=1524026103576089\&alt=media)

## (3) 確認してみよう

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19dQgEh3UnzsraO3%2Fcreate_racket_005a.png?generation=1524026096060058\&alt=media)

<https://scratch.mit.edu/projects/78407350/>

#### (3-1) 右上(むぎうえ)の緑色(みどりいろ)の旗(はた)をクリックしてください

#### (3-2) 上(うえ)キーを押(お)すと赤色(あかいろ)のラケットが上(うえ)に移動(いどう)します

#### (3-3) 下(した)キーを押(お)すと赤色(あかいろ)のラケットが下(した)に移動(いどう)します

#### (3-4) Aキーを押(お)すと青色(あおいろ)のラケットが上(うえ)に移動(いどう)します

#### (3-5) Zキーを押(お)すと青色(あおいろ)のラケットが下(した)に移動(いどう)します

## (4) Good !!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!&#x20;

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# コースを追加

<https://scratch.mit.edu/projects/78418540/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM115UMhnbKP42oH09%2Fabout.png?generation=1524026067404304\&alt=media)

ラケットが追加(ついか)できました。次(つぎ)はコースを作成(さくせい)いてみましょう。

## (1) 背景(はいけい)に色(いろ)を塗(ぬ)る

今回(こんかい)、作成(さくせい)するコースでは、背景色(はいけいしょく)に意味(いみ)を持(も)たせています。

左(ひだり)、右(みぎ)、上(うえ)、下(した)、ラケットには、すべて異(こと)なる色(いろ)を利用(りよう)してください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1162CBadADbS9DPe%2Fbackground_001a.png?generation=1524026067673210\&alt=media)

### (1-1) 左下(ひだりした)の「ステージ1背景」をクリック

### (1-2) 右上(みぎうえ)の背景(はいけい)タブをクリック

### (1-3) お絵(え)かきツールで、上記(じょうき)の画像(がぞう)のように色(いろ)を塗(ぬ)ってください。

## (2) Good!!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# ボールを追加

<https://scratch.mit.edu/projects/78444962/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-drnuYFpvRFBO4G%2Fabout.png?generation=1524026066796553\&alt=media)

次(つぎ)は、ボールを追加(ついか)してみましょう。

### (1) ボールSpriteを追加(ついか)します

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-eM5se3_NTj-2yQ%2Fball_001a.png?generation=1524026066575628\&alt=media)

#### (1-1) 左下(ひだりした)の鉛筆(えんぴつ)アイコンとクリック

#### (1-2) 右上(みぎうえ)の「コスチュームタグ」をクリック

#### (1-3) お絵(え)かきツールで、上図(じょうず)のように、中心(ちゅうしん)にボールを書(か)いてください

## (2) Good!!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# ボールを移動させる

<https://scratch.mit.edu/projects/78444962/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11fzQPQfK8jGM1jq%2Fabout2.png?generation=1524026061678831\&alt=media)

次(つぎ)は、ボールを移動(いどう)できるようにしましょう。

### (1) ボールが右(みぎ)に移動(いどう)するスクリプトを追加(ついか)

#### (1-1) ボールスクリプト画面(がぞう)を表示(ひょうじ)する

**(1-1-1) 左下(ひだりした)のボールクリック**

**(1-1-2) 右上(みぎうえ)のスクリプトタブをクリック**

#### (1-2) 下記(かき)スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11gUyL7MOQLcDl6M%2Fball_script_001a.png?generation=1524026061764958\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

### (2) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78444962/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11hp1HALYUuytKEc%2Fcreate_ball_scratch.png?generation=1524026061919362\&alt=media)

上手(うま)く書(か)けたか確認(かくにん)してみましょう

#### (2-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックすると、ボールが右(みぎ)に移動(いどう)します。

## (3) Good!!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# ボールが跳ね返る機能をついか

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15rAUrpYeJmfy4MB%2Fabout.png?generation=1524026110289174\&alt=media)

ボールが跳(は)ね返(かえ)る機能(きのう)を追加(ついか)してみましょう。

## (1) ラケットに当(あ)たるとボールが跳(は)ね返(か)る機能(きのう)をついか

### (1-1) ボールSpriteに以下(いか)のスクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15sGIrCZvOtQ-fRp%2Fball_script_002b.png?generation=1524026115936793\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (2) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78420962/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15theQSH_bJqMYgu%2Fbouncing_scratch_001.png?generation=1524026114606994\&alt=media)

### (2-1) 右上(みぎうえ)の緑色(みどり)の旗(はた)をクリックすると、ボールがラケットで跳(は)ね返(かえ)って左右(さゆう)に移動(いどう)します

## (3) Good!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)

## (4) 壁(かべ)に衝突(しょうとつ)するとボールが跳(は)ね返(かえ)る機能(きのう)をついか

#### (4-1) ボールSpriteに以下(いか)のスクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15wPIYlln1_OPo3-%2Fracket_script_003a.png?generation=1524026114438266\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

## (5) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78430612/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15yMJrieZNN4lJ_K%2Fbouncing_scratch_001.png?generation=1524026117362406\&alt=media)

#### (5-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックすると、ボールがラケットボールに跳(は)ね返(かえ)って上下(じょうげ)左右(さゆう)に移動(いどう)します

## (6) Good!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# 勝ち負けを判定する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12feYdNmEM0KESY6%2Fabout.png?generation=1524026070625635\&alt=media)

勝(か)ち負(ま)けを判定(はんてい)できるようにしましょう。

## (1) 勝(か)ち負(ま)けを判定(はんてい)するスクリプトを追加(ついか)

### (1-1) ボールSpriteに以下(いか)のスクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12gAo0PBai-E5XE_%2Fball_script_004b.png?generation=1524026069956065\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「赤の得点」変数(へんすう)を作(つく)るときは、「すべてのSpriteよう」にチェックを入れてください**

**※ 「青の得点」変数(へんすう)を作(つく)るときは、「すべてのSpriteよう」にチェックを入れてください**

## (2) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/78435366/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12hAJZ7oLRjsOBea%2Fscore_scratch_001a.png?generation=1524026070051378\&alt=media)

### (2-1) ボールが左右に壁にぶつかると、得点表示が更新されます。

## (3) Good!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# 打つ向きを変える

<https://scratch.mit.edu/projects/78437120/#player>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM199iKNBGkPa-QbnT%2Fabout.png?generation=1524026108888404\&alt=media)

上下(じょうげ)に移動(いどう)する操作(そうさ)に応(おう)じて、ボールが跳(は)ね返(かえ)る向(む)きを調整(ちょうせい)する機能(きのう)を追加(ついか)します

### (1) 青色(あおいろ)のラケットに、移動(いどうした)したタイミングに応(おう)じて打(う)つ向(む)きを決(き)める

#### (1-1) 青色(あおいろ)のラケットに下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19AIA0uF2N3M3zom%2Fracket_script_004a.png?generation=1524026109719438\&alt=media)

**※ 「打(う)つ向(む)き」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

### (2) 赤色(あかいろ)のラケットに、移動(いどう)したタイミングに応(おう)じて打(う)つ向(む)きを決(き)める

#### (2-1) 赤色(あかいろ)のラケットに、下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19BfKaBXrPd_sgA_%2Fracket_script_005a.png?generation=1524026108379497\&alt=media)

**※ 「打(う)つ向(む)き」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入(い)れてください**

### (3) ラケット記録(きろく)したをもとに、ボールが跳(は)ね返(かえ)る向(む)きを決(き)める

#### (3-1) ボールに下記(かき)スクリプトを追加(ついか)してください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19D1jMmeXK9NlS5Q%2Fball_script_005a.png?generation=1524026109890289\&alt=media)

**※ 「Yの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「Xの速度(そくど)」変数(へんすう)を作(つく)るときは、「このSpriteのみ」にチェックを入れてください**

**※ 「赤の得点」変数(へんすう)を作(つく)るときは、「すべてのSpriteよう」にチェックを入れてください**

**※ 「青の得点」変数(へんすう)を作(つく)るときは、「すべてのSpriteよう」にチェックを入れてください**

### (4) 確認(かくにん)しよう

<https://scratch.mit.edu/projects/78437120/#player>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19Fmv2pl6rQtXDoB%2Fscore_scratch_001a.png?generation=1524026109528247\&alt=media)

#### (4-1) ボールがラケットに当(あ)たる瞬間(しゅんかん)にラケットを移動(いどう)すると移動(いどう)した向(む)きに、ボールが移動(いどう)すること

## (5) Good!

良(よ)くできました。次(つぎ)のステップに進(すすみ)みましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-fhNobHTi1Bd5O4%2Fgood.png?generation=1524026055412748\&alt=media)


# 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-E9UdE6IC4kxxNg%2Ffire.png?generation=1524026054509495\&alt=media)

おめでとうございます。 この本(ほん)でのPongの作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すすめて)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# Tiny TETRIS<難易度 上上>

テトリスは落ち物パズルゲームの元祖です。ソビエト社会主義共和国連邦科学アカデミーで働いでいた科学者アレクセイ・パジトノフによって作成されました。

テトリスは通常のプログラム言語的な処理で書くと素直にかけるのですが、Scratchで書くのはかなり大変です。

本書での最難関のプログラミングとなります。気長にトライしてみてください。

## TETRIS

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16sDg4fJAMo9QvCO%2Fboard_4.png?generation=1524026092711132\&alt=media)

テトリスは上からTetriminoという、四つの四角形の組み合わさったブロックが上から降ってくるゲームです。

この、テトロミノを横方向に隙間なく並べると、ブロックを消すことができ、同時に消した面積が大きいほど高得点を得ることができるゲームです。

## Scratchで再現してみよう

<https://scratch.mit.edu/projects/84309456/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16sUPD2Il-drVZLl%2Ftetris_scratch.png?generation=1524026092830910\&alt=media)

左キーを押すと、Tetriminoが左に移動します。 右キーを押すと、Tetriminoが右に移動します。 下キーを押すと、Tetriminoが下に移動します。 Spaceキーを押すと、Tetriminoが回転します。

## REF

<https://ja.wikipedia.org/wiki/テトリス>

<https://en.wikipedia.org/wiki/Tetris> <https://scratch.mit.edu/projects/84309456/>


# Table

できそうなところから、順(じゅん)に少(すこ)しずつ機能(きのう)追加(ついか)していきましょう。 何度(なんども)も作(つく)りなおす事(こと)になると思(おも)います。 徐々(じょじょ)に理解(りかい)を深(ふか)めながら、ゴールを目指(めざ)しましょう。

## (1) プロジェクトを作る

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_project/index.html>

## (2) ネコを削除する

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/remove_neko/index.html>

## (3) フィールドを作成する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18oGiGqv2OSb55AH%2Ff135e91b-d6b3-49f5-07c0-4b85e47fba00.png?generation=1524026106935246\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_board/index.html>

## (4) フィールドに状態を持たせる。枠とか空とかテトロミノとか

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18ojuIBvTFhQ-NnF%2F175d1767-baa6-7b80-3f57-4ea04d8e9029.png?generation=1524026107307927\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_board_state/index.html>

## (5) フィールドに枠を表示する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18pMgMD93xUFJ9Op%2F13c378d1-6ef2-a9be-715c-f871f0db7ef5.png?generation=1524026107174492\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_frame/index.html>

## (6) テトリスを表示する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18qG2lH6f1l-bBwE%2F86e80fd9-1b9a-7834-05f0-6020420e18b5.png?generation=1524026107807910\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_tetromino/index.html>

## (7) (6)以外のテトロミノを表示する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18rDqQzOjxc78qc6%2F6e37df41-5959-860d-c7fc-c1d0487fa8e3.png?generation=1524026108711895\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/create_tetriminos/index.html>

## (8) テトロミノの衝突判定

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18slTahmakbnT9Ji%2Fa4a759cf-cb81-d0fc-5ad5-0812ca179cf2.png?generation=1524026108188018\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/collision/index.html>

## (9) 下に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18u85D2aw_ZPKGJA%2F0295b742-adc5-ddca-7d57-3c6c51983922.png?generation=1524026109394487\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/down/index.html>

## (10) 左右に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18vAEcPMenjNyXZy%2Ff888f995-f2e1-f09a-087d-dac07070e88a.png?generation=1524026107484550\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/move_left/index.html>

## (11) 回転させる

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18w8HwXn7BsBf1GN%2F0113e266-bd3c-1070-d6cb-ec855084df02.png?generation=1524026106668706\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/rotate_right/index.html>

## (12) 揃った列をクリアする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18x8amO-4qrisQg7%2Fa9ff5f9f-5fa3-6d5e-3976-d1e4139e1907.png?generation=1524026105023809\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/clear/index.html>

## (13) 落下させる

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18yDIg3uhXPM0UN5%2Ff76234d0-c7ec-0b17-3ee2-0547ad9da08f.png?generation=1524026106914897\&alt=media)

<https://kyorohiro.gitbooks.io/doc_scratch/content/tetris/fall_tetromino/index.html>

## (14) 完成です。

あとは、点数をつけたり、してみてください。


# プロジェクトを作る

はじめにプロジェクトを作成(さくせい)しましょう。

## \[1] Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16dNsqSEZkJG102l%2Fbase001_make.png?generation=1524026089733055\&alt=media)

## \[2] 「作る」または、「やってみる」を選択(せんたく)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16dayT4alEDd8H1V%2Fbase001_make_002.png?generation=1524026090047587\&alt=media)

ゲーム開発画面(かいはつがめん)が表示されます。


# ネコを削除する

## (1) Sprite1 を削除(さくじょ)する

猫(ねこ)のSprite(スプライト)は使(つか)わないので削除(さくじょ)しましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15UUozpoRb_pI7pb%2Fa001.png?generation=1524026114933793\&alt=media)

### (1-1) Sprite1の上(うえ)にマウスカーソルを合(あ)わせる

### (1-2) 右(みぎ)クリックする

### (1-3) メニューから削除(さくじょ)を選(えら)ぶ


# フィールドを作成する

<https://scratch.mit.edu/projects/79809006/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E_95HG_dhaJpN8Z%2Fboard.png?generation=1524026115659852\&alt=media)

ゲーム画面を作成します。テトリスのゲームフィールドは四角形の集まりです。 まずは、このフィールドを作成してみましょう。

.

.

.

## (1) 小さな四角形を中央に描く

このチュートリアルでは、三色の四角形を利用します。

* 枠が表示される場合
* テトロミノが存在する場合
* 何も存在しない場合

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Eae7bSHXn_cgzm1%2Fb001.png?generation=1524026115674167\&alt=media)

### (1-1) 左下のペンマークを選択する

### (1-2) 中央に四角形を書く

### (1-3) 複製を作成する

#### (1-3-1) 中央のコスチューム1にマウスカーソルを合わせる

#### (1-3-2) 右クリックする

#### (1-3-3) 複製を選ぶ

#### (1-3-4) 色を変える

### (1-4) 複製を作成する

#### (1-4-1) 中央のコスチューム1にマウスカーソルを合わせる

#### (1-4-2) 右クリックする

#### (1-4-3) 複製を選ぶ

#### (1-4-4) 色を変える

.

.

.

## (2) スクリプトを追加する

この四角形を並べて、フィールドを作成します。この処理はスクリプトで書きます。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Ech6mi38z3YecFN%2Fb002.png?generation=1524026115640378\&alt=media)

### (2-1) スクリプトタブをクリックする。

### (2-2) 以下のスクリプトを追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1EdYajaGzDvBp_cJ%2Fscript.png?generation=1524026115585995\&alt=media)

※ 「四角形の大きさ」と、「y座標のドミノの数」は描いた四角形の大きさによって事なります。画面内にきれいに表示できるように調整してください。

※ ブロックを作成するときは、「画面を再描画せずに実行する」にチェックを入れてください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Ee365iJxL11PBOJ%2Fblock_option.png?generation=1524026115770982\&alt=media)

※ 変数を作るときは、"x"と"y" のみ、「このスプライトのみ」にチェックを入れてください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1EenAGoqnn_-hLtV%2Fdata_option.png?generation=1524026115689191\&alt=media)

.

.

.

## (3)確認してみよう

<https://scratch.mit.edu/projects/79809006/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Eg7fipOccNwL6Ak%2Ftest.png?generation=1524026115762263\&alt=media)

#### (3-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

#### (3-2) フィールドが表示されれば成功です。ドミノの色は気にしなくても良いです。


# フィールドの状態を記述する

<https://scratch.mit.edu/projects/83255528>

作成したでフィールドの四角形に色を塗れるようにします。

まずは、作成フィールドに番号を番号をふります。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM191Qy6QoVhv4u9b8%2Ffiled_id.png?generation=1524026110243843\&alt=media)

## (1) Listにフィールドの状態を記録する

「フィールドの状態リスト」を作りに、降った番号に「枠あり」、「空」、「それ以外」の値を指定できるようにします。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM191fHBFG3_LNT0Ly%2Fscript_create_state.png?generation=1524026108731850\&alt=media)

ここでは、「空」を指定しています。

## (2) Listから値を取得と設定をする

フィールドの状態をXY座標を指定して設定できるようにします。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM192-iqaLkToUWp8c%2Fscript_get_state_id.png?generation=1524026107524941\&alt=media)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM192HiyKbKzgY9cok%2Fscript_get_state_value.png?generation=1524026106832940\&alt=media)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM192mJkmZVy-cm-8K%2Fscript_set_state_value.png?generation=1524026108986579\&alt=media)

## (3) 記録した状態に応じて、色を変える。

フィールドの状態に応じて四角形の色を変更できるようにします。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM193CcnHLpP39CFui%2Fscript_paint_domino.png?generation=1524026107873812\&alt=media)

## (4) 確認する

フィールドに値を設定できるようになったか確認してみしょう。

<https://scratch.mit.edu/projects/83255528>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM193t7hixTVj-yK5W%2Ftest.png?generation=1524026108150879\&alt=media)

### (4-1) 以下のスクリプトを追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM194c-mSuFn4Qkq7r%2Fscript_main.png?generation=1524026106445984\&alt=media)

### (4-2) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (4-3) フィールド上の一つの四角形が茶色になっていれば成功です。


# フィールドに枠を表示する

<https://scratch.mit.edu/projects/83795354/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19tNCQdmbSOzfpii%2Fboard_2.png?generation=1524026104107505\&alt=media)

何もないフィールドは味気がないので、次は枠を表示してみましょう。

## (1) 枠を追加するスクリプト

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19tVc-_BoOwyqhOo%2Fscript_create_frame.png?generation=1524026105709582\&alt=media)

## (2) 枠を書いてみる

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19te-qnFfqvlcF2A%2Fscript_create_main.png?generation=1524026104705282\&alt=media)

## (3) 確認してみる

<https://scratch.mit.edu/projects/83795354/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM19tvN3qEBNLvCskR%2Ftest.png?generation=1524026104736030\&alt=media)

### (3-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (3-2) フィールドに枠が表示されれば成功です


# テトロミノを表示する

<https://scratch.mit.edu/projects/83259480/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15lkHnEf5x_Qm8To%2Ftetrimino.png?generation=1524026087761751\&alt=media)

次は、テトロミノを表示してみよう。 テトロミノは7種類あります。 今回はテトリスを表示してみたいと思います。

## (1) テトロミノを作成する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15lxuQIt2xVWn0Wx%2Fs_t.png?generation=1524026086951433\&alt=media)

### (2) テトロミノを表示する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15m8fdqeWH_F-YXN%2Fs_t_v.png?generation=1524026087806859\&alt=media)

## (3) 確認する

<https://scratch.mit.edu/projects/83259480/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15mUr6Lkyis6TWl1%2Ftest.png?generation=1524026087598405\&alt=media)

#### (3-1) 以下のスクリプトを追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15mufNbmwS8tO8O9%2Fs_t_m.png?generation=1524026088154727\&alt=media)

#### (3-2) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

#### (3-3) フィールドにテトリスブロックが表示されていれば成功です


# テトロミノの種類を増やす

<https://scratch.mit.edu/projects/84070026/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18dFsl8OuvAX5BYt%2Ftetrimino.png?generation=1524026099682491\&alt=media)

他の6個のテトロミノを表示してみましょう。

## (1) スクリプトを追加

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18dgfyVW_K4NSZyS%2Ft001.png?generation=1524026099433556\&alt=media)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18dn068IOQjK42Ee%2Ft002.png?generation=1524026106458628\&alt=media)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18dvOHWMaeNmR0cr%2Ft003.png?generation=1524026108071908\&alt=media)

## (2) 確認する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18e6pRzCp0XU4-y2%2Ftest.png?generation=1524026106254625\&alt=media)

### (2-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (2-2) フィールドに七つのテトロミノが表示されればOKです。


# テトロミノの衝突判定

<https://scratch.mit.edu/projects/84080228/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ydo_a9ObVR6hmV1%2Fboard_2.png?generation=1524026059868649\&alt=media)

テトロミノの衝突判定機能を作りましょう。

## (1) 衝突判定のスクリプト

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ydznfTErNTDwxyg%2Fs_c.png?generation=1524026059608969\&alt=media)

## (2) 確認する

<https://scratch.mit.edu/projects/84080228/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0yeI0tHkODy2p1te%2Ftest.png?generation=1524026060083094\&alt=media)

### (2-1) スクリプトを追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0yeq951nkDWaZXFQ%2Fs_m.png?generation=1524026061103901\&alt=media)

### (2-2) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (2-3) 1 と 0が交互に表示されること


# 下に移動する

<https://scratch.mit.edu/projects/84190998/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-KStTMbbVcaVrGq%2Fboard_2.png?generation=1524026066344678\&alt=media)

下に移動する機能を追加します。他のテトロミノや枠に衝突すると、 新しいテトロミノが上から降ってきます。

## (1) テトムロミノを生成時に、テトロミノの位置設定する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-KiNm5vxRPsWWGp%2Fs_01.png?generation=1524026064904517\&alt=media)

## (2) 下に移動する。もしも衝突するようならば、テトロミノを生成する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-L2sttgNojT75z6%2Fs_02.png?generation=1524026055296174\&alt=media)

## (3) 下キーを押したら、下に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-LXwNTSbXRRkkn7%2Fs_03.png?generation=1524026066298770\&alt=media)

## 確認する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1-LyJl0fqUu96HoH%2Ftest.png?generation=1524026065564986\&alt=media)

### (3-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (3-2) 下キーを押すとテトロミノが下に移動すること

### (3-3) テトロミノがブロックに触れると、新たなブロックが上から降ってくること


# 左右に移動する

<https://scratch.mit.edu/projects/84206260/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Frqb1Wnqc-UyIG8%2Fboard_2.png?generation=1524026120120602\&alt=media)

次は左右に移動する機能を追加してみましょう。他のテトロミノや枠に衝突すると移動に失敗します。

## (1) 右に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1FsMNfloKbJPMLEC%2Fs_01.png?generation=1524026120097107\&alt=media)

## (2) 左に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Ft12YTucEUXz607%2Fs_02.png?generation=1524026120024355\&alt=media)

## (3) 左キーが押されたら左に、右キーが押されたら右に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Ftq6WwrQezSzy0X%2Fs_03.png?generation=1524026120164491\&alt=media)

## (4) 確認する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1FuJSlhMHfZckk_e%2Ftest.png?generation=1524026120174512\&alt=media)

### (4-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (4-2) 左キーを押すとテトロミノが左に移動すること

### (4-3) 右キーを押すとテトロミノが右に移動すること


# 回転させる

<https://scratch.mit.edu/projects/84211804/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dts8skuUV8KSmwG%2Fboard_2.png?generation=1524026111971686\&alt=media)

次はテトロミノを回転させてみましょう。もしも回転後に衝突するようならば、回転は失敗します。

## (1) 回転する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DucDAYXT-70-KDD%2Fs_01.png?generation=1524026112181318\&alt=media)

90度回転するには、以下の式で計算できます。

```
回転後のy = -回転前のx
回転後のx = 回転前のy;
```

-90度回転する場合は、以下です。

```
回転後のy = 回転前のx
回転後のx = -回転前のy;
```

## (2) Spaceキーを押すと回転する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DvpAJIogff2HqIR%2Fs_02.png?generation=1524026111952647\&alt=media)

## (3) 確認する

<https://scratch.mit.edu/projects/84211804/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DwQt9PFqmLPAZ2h%2Ftest.png?generation=1524026112005686\&alt=media)

### (3-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (3-2) Spaceキーを押すとテトロミノが回転すること


# クリアする

<https://scratch.mit.edu/projects/84217246/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zNUf33AFF9N6sTl%2Fboard_4.png?generation=1524026062776032\&alt=media)

列が揃ったからプロックが消えます。この機能を追加しましょう。

## (1) 指定した列がクリアできるか確認

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zNpjti2Q5gWugFI%2Fs_01.png?generation=1524026062861645\&alt=media)

## (2) 指定した列をクリアする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zOHCjdxjpYAe_5y%2Fs_02.png?generation=1524026063806331\&alt=media)

## (3) すべての列がクリアできるか確認する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zOocPI4KQUDQjLX%2Fs_03.png?generation=1524026064394411\&alt=media)

## (4) 新たにテトロミノを作成するタイミングでプロックをクリアする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zPP4B0Y8-FcA7aP%2Fs_04.png?generation=1524026065812740\&alt=media)

## (5) 確認する

<https://scratch.mit.edu/projects/84217246/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zQNlRCEO2ltdrap%2Ftest.png?generation=1524026053451705\&alt=media)

### (5-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (5-2) ドミノがそろうと、クリアされること


# テトロミノを落下させる

<https://scratch.mit.edu/projects/84308056/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DOxKQvA3I6TAhQx%2Fboard_2.png?generation=1524026109451669\&alt=media)

自由落下の機能を追加します。

## (1) 一定時間経過すると下に移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DP6857w2Kg_q18o%2Fs_01.png?generation=1524026111010929\&alt=media)

## (2) 確認する

<https://scratch.mit.edu/projects/84308056/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DPLE0FXd-70HbcZ%2Ftest.png?generation=1524026109639685\&alt=media)

### (2-1) 右上(みぎうえ)の緑色(みどりいろ)の旗(はた)をクリックする。

### (2-2) ドミノが自由落下すること


# 完成!!

おめでとうございます。 この本(ほん)でのInkRunnerの作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すすめて)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# Dojo:InkRunner <難易度 下上>

CoderDojo 八王子 にて、集(あつ)まったメンバーでセッションをしながら作成(さくせい)したものです。

1時間(じかん)程度(ていど)のセッションで、Kyorohiroが進行(しんこう)を努(つとめ)めさせていただきました。

イカっぽいキャラクター達(たち)がインクを塗(ぬ)りあって陣取(じんとり)りゲームをScratchで再現(さいげん)してみようというお題(だい)で知恵(ちえ)を出(だ)し(あ)合い、それっぽいゲームが出来上(できあ)がりました。

## インクランナー

<https://scratch.mit.edu/projects/78792936/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zNLH2erg_HpycwW%2Fabout_scratch.png?generation=1524026063779906\&alt=media)

旗(はた)ボタンを押(お)すとゲームが開始(かいし)します。NekoとGigaを操作(そうさ)してインクを塗(ぬ)りあい自分(じぶん)のテリトリーを広(ひろ)げるゲームです。 30秒(びょう)経過(けいか)すると、Batがインクの塗(ぬ)られた領域(りょういき)を計算(けいさん)してスコアを表示(ひょうじ)してくれます。


# プロジェクトを作る

はじめにプロジェクトを作成(さくせい)しましょう。

## (1) Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zccM3jXvDSAQ01H%2Fbase001_make.png?generation=1524026064775500\&alt=media)

## (2) 「作る」または、「やってみる」を選択(せんたく)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0zctoXSO9Ctlwn6p%2Fbase001_make_002.png?generation=1524026065015162\&alt=media)

ゲームに開発画面(かいはつがめん)が表示(ひょうじ)されます。


# xxxって何だろう?

K:「スプラトゥーンって、どんなゲーム?」

K:「誰(だれ)か教(おし)えて」

A:「シューチングゲーム」

K:「やば、シューチングゲームだったっけ」「実(じつ)はやったことないんだよね」

K:「インクを塗(ぬ)りあうゲームでもあるんだよね？あってる？」

A: 「そうそう、陣取(じんと)りゲームなの」

## インクをScratchで再現(さいげん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DbGVFmGFBJ-xR2O%2Fdraw_line.png?generation=1524026111029808\&alt=media)

このコードを追加(ついか)して、Scratchで線(せん)を引(ひ)くことができます。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dbf-jZN1sts1Mir%2Fdraw_line_002.png?generation=1524026111164168\&alt=media)

とすると、線(せん)が太(ふと)くなります。インクっぽく見(み)えないかな？

................

.......

....

## コードを追加する

まずは、このコードを書いてみようか!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dcn7VfIm8B-SJul%2Fdraw_line_003a.png?generation=1524026111141803\&alt=media)

このネコのキャラクターをクリックして。右上のスクリプトTabをクリックすると、スクリプトが追加できます。

まずは、このコードを追加してみましょう。

### 間違いを発見

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DdyWwiLnzGqx9XJ%2Fdraw_line_004.png?generation=1524026111084260\&alt=media)

K : 「ごめんなさい、このコードには間違いがあります。今のままだとゲームを開始するたびに、ペンの太さが大きくなってしまいます。」

K :「ペンの濃さを50にする」に変えてください

## 動作確認

できたら、動作確認してみましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DeZmCRDxhqWEHKa%2Fdraw_line_005.png?generation=1524026111100537\&alt=media)

左上の緑色の旗をクリックしてください。キャラクターが右に動くことがわかるでしょうか。 みなさんの描いたコードもきたい通りに動作していますか?


# 右に移動する

K : 「次にどんな機能を追加しようか!」 K : 「どうしたら、ゲームっぽうなるかな?」 A : 「インクを画面に塗りたい」 K : 「じゃ、キャラクターを、操作してみようか!!」

## 右(みぎ)に移動(いどう)する機能(きのう)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10Bw-RTrm_B8tvE-%2Fmove_002a.png?generation=1524026065126092\&alt=media)

では、このスクリプトを追加(ついか)してみましょう。右(みぎ)キーを押(お)すと、右(みぎ)に移動(いどう)します。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10C5jnh5ItVfilRO%2Fmove_001a.png?generation=1524026064590256\&alt=media)

&#x20;ネコのキャラクターをクリックして、右上(みぎうえ)のスクリプトタブをクリックすると、スクリプト画面(がめん)が表示(ひょうじ)されます。

そこに、このスクリプトを追加(ついか)してみてください。 「10回繰り返す」の部分(ぶぶん)を、「ずっと」に変(か)えたので注意(ちゅうい)してください。

## 動作確認(どうさかくにん)

では、上手(うま)く書(か)けたか確認(かくにん)してみましょう。「右(みぎ)キー」を押(お)したら、右(みぎ)に移動(いどう)すること確認(かくにん)してください。

<https://scratch.mit.edu/projects/79058386/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10Ckl58pXUsdyfpJ%2Fmove_003a.png?generation=1524026055518853\&alt=media)

(1) 右上(みぎうえ)の緑(みどり)の旗(はた)をクリックしてください。

(2) そのあとで、右(みぎ)キーを押(お)してください。

(3) キャラクターが右(みぎ)に移動(いどう)したならば、良(よ)い感(かん)じです。


# 左に移動する

次は、左にに移動するスクリプトを追加します。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14jn6Kbc6EPUg6NR%2Fmove_004a.png?generation=1524026073813906\&alt=media)

右向きの時は、足し算をしていたところが、引き算になります。

## 確認してみよう

スクリプトを追加で来たら、上手くできたか確認してみましょう。

<https://scratch.mit.edu/projects/79028510/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14kCZKs3SHGKCtYU%2Fmove_003a.png?generation=1524026073886501\&alt=media)

先ほどと同じように、右上の緑の旗をクリックしてください。 そのあとで、左キーを押してください。 キャラクターが左に移動することを確認してください。


# 上下に移動する

次(つぎ)は、上下(じょうげ)に移動(いどう)させてみましょう。これで、画面上(がめんじょう)を自由(じゆう)に動(うご)まわることが出来(でき)るようになります。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11vcLthFwAEuX6y0%2Fup_down_001a.png?generation=1524026062163248\&alt=media)

こんな感(かんじ)じです。左右(さゆう)への移動(いどう)はX座標(ざひょう)でした、上下(じょうげ)の移動(いどう)はY座標(ざひょう)を変更(へんこう)します。

## 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/79073124/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11vs45Rs29kbpxke%2Fmove_003a.png?generation=1524026071561614\&alt=media)

上手(うまく)く書(か)けたか確認(かくにん)してみましょう。思(おも)った通(とお)りに動作(どうさ)していますか?

ゲームを作(つく)るときは、このように、こまめに動作確認(どうさかくにん)しながら、完成(かんせい)させていきます。


# 対戦相手を作る(1)

これで、画面上(がめんじょう)の好(す)きなところにインクを塗(ぬ)ることができるようになりました。

K : 次(つぎ)は何(なに)をしようか?

A : ... 対戦(たいせん)ゲームにしたい

## キャラクターを追加(ついか)する

対戦(たいせん)ゲームなので、対戦相手(たいせんあいて)が必要(ひつよう)です。追加(ついか)してみましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17Xkyc9qlCPLO3iw%2Fup_down_001b.png?generation=1524026105477016\&alt=media)

左下(ひだりした)のキャラクターアイコンをクリックして、Spriteを追加(ついか)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17XwrSI0ARtTL8nS%2Fup_down_002a.png?generation=1524026108522907\&alt=media)

好(す)きなキャラクターを追加(ついか)して下さい。 私(わたし)は、Gigaを追加(ついか)します。

(1) ファンタジーを選択(せんたく) (2) Gigaを選択(せんたく) (3) OKを選択(せんたく)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17Y90XchzMlpCdU1%2Fmatch_003a.png?generation=1524026085893101\&alt=media)

追加(ついか)できました。

## ネコと同(おな)じように動作(どうさ)するようにする

新(あた)しく追加(ついか)したキャラにも、ネコと同(おな)じようなコードを追加(ついか)するのですが、もう一度(いちど)同(おな)じコードを書(か)くのは面倒(めんどう)なので、ネコのスクリプトを再利用(さいりよう)します。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17YpkwBCQfL_pcXl%2Fmatch_005b.png?generation=1524026106079774\&alt=media)

ネコをクリックした後(あと)、右上(みぎうえ)のスクリプトタブをクリックする。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17ZAZ1DGOku5MKsE%2Fmatch_006b.png?generation=1524026095998579\&alt=media)

&#x20;にマウスカーソルを合(あ)わせて、右(みぎ)クリックします。

メニューリストの中(なか)の「複製」を選択(せんたく)してください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17_JohNP7VR7fNNI%2Fmatch_007a.png?generation=1524026111646469\&alt=media)

そして、新(あたら)しく追加(ついか)したキャラクターの上(うえ)で、もう一度(いりど)クリックしてください。 スクリプトがコピーされます。

## 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17aPBdHqNFPx6Lby%2Fmatch_008a.png?generation=1524026109214310\&alt=media)

新(あたら)しく追加(ついか)したキャラクターをクリック 右上(みぎうえ)のスクリプトタブをクリック

ネコ用(よう)に作成(さくせい)したスクリプトが存在(そんざい)していれば成功(せいこう)です。

## 動作確認する

<https://scratch.mit.edu/projects/79077708/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17bUOFGmArVQ-5V6%2Fmatch_009a.png?generation=1524026113035607\&alt=media)

動作確認(どうさかくにん)してみましょう。上下左右(じょうげさゆう)キーに応(おう)じてキャラクターが移動(いどう)します。

今(いま)の状態(じょうたい)だと、どちらのキャラクターも同(おな)じ向(む)きいどうしてしまいます。 次(つぎ)の章(しょう)で対応(たいおう)します。


# 対戦相手を作る(2)

新(あたら)しく追加(ついか)したキャラクターのキー割当(わりあて)を変更(へんこう)しましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15DKRaM34Cly3wLX%2Fmatch2_001a.png?generation=1524026085629230\&alt=media)

(1) 新しく追加したキャラをクリックいて、スクリプト画面を開く。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15DTvgULLUVEDaj9%2Fmatch2_002b.png?generation=1524026085881372\&alt=media)

上記(じょうき)のようにキー配置(はいち)を変更(へんこう)してみましょう。

キー配置(はいち)は、変(か)えても良(よ)いとおもいます。 お好(この)みで配置(はいち)してください。

## 動作確認(どうさかくにん)してみよう

<https://scratch.mit.edu/projects/79077708/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15DunItw2tlNvP_J%2Fmatch_009a.png?generation=1524026075894559\&alt=media)

Sキー, Fキー, Eキー, Dキー を押(お)すと新(あたら)しく追加(ついか)したキャラクターが上下左右(じょうげさゆう)に動作(どうさ)することを確認(かくにん)してください。


# 対戦相手を作る(3)

## インクの色(いろ)を変(か)える

インクの色(いろ)を変(か)えて、陣取(じんと)りゲームをできるようにしましょう。

### ネコのペンの色(いろ)を青(あお)にする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17rSmx8OFshY4488%2Fmatch_005b.png?generation=1524026086972488\&alt=media)

左下(ひだりした)のネコのキャラクターを選択して、スクリプト画面を開いてください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17rZAAr7PT1vTXwU%2Fmatch3_001a.png?generation=1524026086776079\&alt=media)

上記のようなスクリプトを追加してください。

### Gigaのペンの色(いろ)を赤(あか)にする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17rjyFoOBJzycgUf%2Fmatch3_006a.png?generation=1524026096633898\&alt=media)

左下(ひだりした)のGigaのキャラクタ ーを選択して、スクリプト画面を開いてください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17s6ioFNMvbs5u0l%2Fmatch3_002a.png?generation=1524026086810641\&alt=media)

上記のようなスクリプトを追加してください。

## 確認してみよう

<https://scratch.mit.edu/projects/79097520/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17sWroAWmYZXj8Q_%2Fmatch3_003a.png?generation=1524026106818271\&alt=media)

それぞれキャラクター動(うご)かしてみよう。そして、キャラクターごとに異(こと)なるインクが使用(しよう)されていることを確認(かくにん)してください。


# 完成!!

おめでとうございます。 この本(ほん)でのInkRunnerの作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すすめて)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# おまけ: Timer(1)

### タイマー機能(きのう)を追加(ついか)

#### 蝙蝠(こうもり)を追加する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AAb9ijNyH-3HEWP%2Fb_001a.png?generation=1524026112008385\&alt=media)

&#x20;左下のキャラクターアイコンと選択

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AAjYycO6VZfR90D%2Fb_002a.png?generation=1524026123904023\&alt=media)

動物から、Batを選択して、OKボタンをおす。

#### スクリプトを追加

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AB8l5ltv5ONu_2f%2Fb_003a.png?generation=1524026110406245\&alt=media)

蝙蝠(こうもり)を選択して、スクリプト画面を表示する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ABLQZEAFp1m_MiD%2Fb_004a.png?generation=1524026106640762\&alt=media)

時間(じかん)を読(よ)み上(あ)げるスクリプトを追加(ついか)する。

## 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/79101966/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1ABmcy4DQXrEdAUQ%2Fb_005a.png?generation=1524026108611927\&alt=media)

緑色(みどりいろ)の旗(はた)ボタンをクリックして、ゲームを開始(かいし)すると、蝙蝠(こうもり)が経過(けいか)した時間(じかん)を詠唱(えいしょう)すること。


# おまけ: Timer(2)

## 蝙蝠(こうもり)にスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1267t_7lfvnVJ610%2Fc_001a.png?generation=1524026071257218\&alt=media)

「しゅうりょう」の変数(へんすう)は、「すべてのスプライト用」にチェックを付(つ)けて作成(さくせい)してくださ。

## ネコにスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM126GnuzkSDsyvUoz%2Fc_002a.png?generation=1524026072354183\&alt=media)

## Gigaにスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM126Rr_C7-ptu72XW%2Fc_003a.png?generation=1524026068608326\&alt=media)

## 確認(かくにん)する

<https://scratch.mit.edu/projects/79109154/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM126o8yathHupA2AA%2Fb_005a.png?generation=1524026071722566\&alt=media)

30秒(びょう)経過(けいか)するとキー操作(そうさ)でキャラクターが移動(いどう)しなくなることを確認(かくにん)してください。


# おまけ: 判定

## 判定機能(はんていきのう)の追加(ついか)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM154H3Cg3SKyNaXZR%2Fd_001b.png?generation=1524026112652574\&alt=media)

&#x20;「Gigaのとくてん」、「ネコのとくてん」の変数(へんすう)は、「すべてのスプライト用」にチェックを付(つ)けて作成(さくせい)してくださ。

## 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/79111582/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM154eK1pjTo6Nxsy7%2Fd_002a.png?generation=1524026075653212\&alt=media)

30秒(びょう)経過(けいか)すると、インクが塗(ぬ)られた領域(りょういき)が大きいほど大(おお)きな点数(てんすう)が与(あた)えられることを確認(かくにん)してください。


# Practice:Gravity<難易度 下中>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AHONXnVeGvaALK0%2Fintro.png?generation=1524026107357178\&alt=media)

万有引力(ばんゆういんりょく)を利用(りよう)したゲームを作成(さくせい) できるようになってみましょう。

物体(ぶったい)どうしは、お互(たが)いに引(ひ)き付(つ)けあう力(ちから)を持(も)っています。大(おお)きくて重(おも)い物体(ぶったい)ほどその力(ちから)は強(つよ)いです。

とても微弱(びじゃく)な力(ちから)のため、太陽(たいよう)だとか、地球(ちきゅう)といったとてつもなく大(おおきな)きな物体(ぶったい)でしか観測(かんそく)することができません。

### 地球(ちきゅう)は人(ひと)や物(もの)を地面(じめん)に引(ひ)っ張(ぱ)ります

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AHevSUd6xOEekGq%2Fabout001.png?generation=1524026111238872\&alt=media)

### 地球(ちきゅう)は月(つき)を引(ひ)っ張(ぱ)っています。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AINkT-iioBsHl5s%2Fabout002.png?generation=1524026122039899\&alt=media)

## Scratchで再現(さいげん)してみましょう

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AIma_3FMa8So3Ew%2Fabout.png?generation=1524026109637959\&alt=media)

<https://scratch.mit.edu/projects/84535698/>


# プロジェクトを作ろう

いつも通り、プロジェクトを作成(さくせい)するところから、始(はじ)めてみましょう!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12t-QhvLBMXAGQsd%2Fbase001_make_002.png?generation=1524026072720915\&alt=media)

この画面(がめん)を表示(ひょうじ)できていますでしょうか。

では、一緒(いっしょ)にこの画面(がめん)を表示(ひょうじ)するまでをやってみましょう!!

## \[1] Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12tS9n-9s6ICSPjq%2Fbase001_make.png?generation=1524026066475095\&alt=media)

## \[2] 「作る」または、「やってみる」クリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12tokvU7_fmRcfzG%2Fbase001_make_002.png?generation=1524026072703352\&alt=media)

ゲーム開発画面(かいはつがめん)が表示(ひょうじ)されます。


# 地球を作る

まずは地球(ちきゅう)を追加(ついか)してみます。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DNl69qGDEF5ol7n%2Fabout.png?generation=1524026109349955\&alt=media)

## (1) ボールを追加(ついか)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DNwqXOz0auypubP%2Fc001.png?generation=1524026109336483\&alt=media)

### (1-1) 左下(ひだりした)のキャラクターアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DO6uIb_w03wclGS%2Fc002.png?generation=1524026109544035\&alt=media)

### (1-2) ボールを選択(せんたく)する

### (1-3) 右下(みぎした)のOKボタンを押(お)す

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DOLsBXKvNZn_yCw%2Fc003.png?generation=1524026109225786\&alt=media)

### (1-4) ボールが追加(ついか)されました!!


# 地球の位置とサイズを調整する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1639b0NBEG-T4oFL%2Fabout2.png?generation=1524026110748269\&alt=media)

地球(ちきゅう)を表示(ひょうじ)する位置(いち)を調整(ちょうせい)しましょう。 今回(こんかい)は中央(ちゅうおう)に配置(はいち)することにします。

## (1) スクリプト画面(がめん)を開(ひら)く

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM163PrVTeZj4nDzy0%2Fc004.png?generation=1524026108242307\&alt=media)

### (1-1) ボールをクリック

### (1-2) スクリプトタブをクリック

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM163tr6d4aV3oMSiZ%2Fs005.png?generation=1524026107062025\&alt=media)

## (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM164XO9d-_I1xZuMi%2Fcon02.png?generation=1524026110390465\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックすると、ボールが画面(がめん)の中央(ちゅうおう)に表示(ひょうじ)されること。


# 月の大きさを調整する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DyimO59mFnNtkOp%2Fabout3.png?generation=1524026112585542\&alt=media)

次(つぎ)は、月(つき)の大(おお)きさと位置(いち)を調整(ちょうせい)してみましょう。

## (1) スクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DzEljE7jLX-cv8i%2Fc006.png?generation=1524026112270226\&alt=media)

### (1-1) Sprite1をクリックする

### (1-2) スクリプトタブをクリックする

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E-CPvCEukwUBZ1_%2Fs007.png?generation=1524026112541159\&alt=media)

## (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E-eRaGxOl0nSxyF%2Fcon03.png?generation=1524026112191205\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックすると、小(ちい)さく表示(ひょうじ)されること。


# 速度に応じて移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17fivejcrXizA4yL%2Fabout.png?generation=1524026086234530\&alt=media)

速度(そくど)に応(おう)じて、キャラクターが移動(いどう)する機能(きのう)を追加(ついか)してみましょう。

## (1) スクリプト画面(がめん)を開(ひら)く

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17fvPcgsf_XATi4Q%2Fd001.png?generation=1524026111088181\&alt=media)

### (1-1) Sprite1をクリックする。

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17gOyqkJ2NJkO5Zi%2Fs002.png?generation=1524026114306256\&alt=media)

## 注意(ちゅうい)!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17gcdI3ZgFpdBpDf%2Fs002_opt01.png?generation=1524026111363855\&alt=media)

変数(へんすう)を作(つく)る時(とき)は、このスプライトのみを選択(せんたく)してください。

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87340452/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17h3xldhF2X8jHhf%2Fcon01.png?generation=1524026113368306\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックすると、Sprite1が右(みぎ)に移動(いどう)すること。


# 引力に応じて移動する

<https://scratch.mit.edu/projects/87341609/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10u3IvXmOiCuQjbu%2Fabout.png?generation=1524026058824718\&alt=media)

引力(いんりょく)を追加(ついか)してみましょう

## (1) スクリプト画面(がめん)を表示する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10ug7iz69Ja8Wn6-%2Fe001.png?generation=1524026066756960\&alt=media)

### (1-1) Sprite1をクリック

### (1-2) スクリプトタブをクリック

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10vWtytCHwQK8MFQ%2Fs002.png?generation=1524026066239426\&alt=media)

### 注意(ちゅうい)、変数(へんすう)を追加(ついか)する時(とき)は、"このスプライトのみ"にチェックを入れてください

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10wKjRSo7MCOoWXG%2Fs002_opt01.png?generation=1524026065551933\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87341609/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10x9DTEI-MJNT72j%2Fcon1.png?generation=1524026066220015\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックすると、地球(ちきゅう)の周(まわ)りを月(つき)が周(まわ)ること


# 軌道を記録する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11dEkhbMZMxSpI5p%2Fabout2.png?generation=1524026069932717\&alt=media)

月(つき)が通(とお)った軌跡(きせい)を表示(ひょうじ)してみましょう。

<https://scratch.mit.edu/projects/87343886/>

## (1) スクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11dRNqysvqre0Db6%2Ff001.png?generation=1524026071267108\&alt=media)

### (1-1) Sprite1をクリック

### (1-2) スクリプトタブをクリック

## (2) スクリプトを追加(ついか)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11dqHL_5zK98UKqY%2Fsf002.png?generation=1524026070526841\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87343886/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11eYeawv_Kk-kqpQ%2Fcon2.png?generation=1524026070562024\&alt=media)

### (3-1) Sprite1が通(とお)った後(あと)に線(せん)が引(ひ)かれること。


# 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18KeKuSrgIaUD0Oh%2Ffire.png?generation=1524026088646560\&alt=media)

おめでとうございます。 この本(ほん)でのGravityの作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すす)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# \[おまけ:向きを計算してみる]


# \[おまけ:距離を計算してみる]


# Dojo:おにごっこ<難易度 下中>

## おにごっこ

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AOxbzKEGarc2NkL%2Fabout.png?generation=1524026115282458\&alt=media)

おにごっこをテーマにして、ゲームを作(つく)ってみましょう。

おにごっことは何(なん)でしょうか。どのようなゲームでしょうか。

* 鬼(おに)から逃(に)げるゲーム
* 走(はし)る
* かわす

あなたが考える「おにごっこ」を2Dゲームとして、再現(さいげん)してみましょう!!

## 見本(みほん)

<https://scratch.mit.edu/projects/87798109/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AQ5BhxBunTT7z1P%2Fsample.png?generation=1524026108895123\&alt=media)


# プロジェクトを作ろう

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17XeCT5ROBqI6vMu%2Fbase001_make_002.png?generation=1524026095362741\&alt=media)

この画面(がめん)でプログラムを作成(さくせい)していきます。

この画面(がめん)は開(ひら)けていますか?

では、一緒(いっしょ)にこの画面(がめん)を表示(ひょうじ)するところから はじめてみましょう。

## \[1] Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17Xz98kayAXirrHc%2Fbase001_make.png?generation=1524026085999366\&alt=media)

## \[2] 「作る」または、「やってみる」クリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17YNwJmczGG6IYdB%2Fbase001_make_002.png?generation=1524026112855857\&alt=media)

ゲーム開発画面(かいはつがめん)が表示(ひょうじ)されます。

## \[3] Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 右に逃げる

鬼(おに)から逃(に)げる機能(きのう)を作成(さくせい)してみましょう。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E6QFRMmSoUZGa8Y%2Fabout.png?generation=1524026113231294\&alt=media)

まずは、右(みぎ)キーを押(お)したら、右(みぎ)に移動(いどう)する機能(きのう)を追加(ついか)してみます。

## (1) Sprite1のスクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E6yDbPEPUob6gp6%2Fc001.png?generation=1524026113147254\&alt=media)

### (1-1) 左下(ひだりした)のSprite1をクリックする

### (1-2) スクリプトタブをクリックする

## (2) スクリプトを追加(ついか)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1E7fvO4VEH2hVjoj%2Fs001.png?generation=1524026112971380\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/84550290/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AAAjslt2RDtK9YO%2Fcon01.png?generation=1524026110168486\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックする

### (3-2) 右(みぎ)キーを押(お)すと右(みぎ)に移動(いどう)すること

## (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう


# 左に逃げる

次(つぎ)は、左(ひだり)キーを押(お)したら、左(ひだり)に移動(いどう)する機能(きのう)を追加(ついか)してみます。

## (1) Sprite1のスクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1HICr0ppEi1wJpbr%2Fd001.png?generation=1524026126349745\&alt=media)

### (1-1) 左下(ひだりした)のSprite1をクリックする

### (1-2) スクリプトタブをクリックする

## (2) スクリプトを追加(ついか)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1HJUQVmWVNgS1CcL%2Fsd001.png?generation=1524026126315900\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87777882/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AAAjslt2RDtK9YO%2Fcon01.png?generation=1524026110168486\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックする

### (3-2) 左(ひだり)キーを押(お)すと左(ひだり)に移動(いどう)すること

## (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう


# 上下に逃げる

次(つぎ)は、上下(じょうげ)キーを押(お)したら、上下(じょうげ)に 移動(いどう)する機能(きのう)を追加(ついか)してみます。

## (1) Sprite1のスクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1A8cJNwhUbHNGEDR%2Fe001.png?generation=1524026096970009\&alt=media)

### (1-1) 左下(ひだりした)のSprite1をクリックする

### (1-2) スクリプトタブをクリックする

## (2) スクリプトを追加(ついか)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1A93NwAgZ-XaRC5s%2Fse001.png?generation=1524026106736947\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87779132/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AAAjslt2RDtK9YO%2Fcon01.png?generation=1524026110168486\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックする

### (3-2) 上(うえ)キーを押(お)すと上(うえ)に移動(いどう)すること

### (3-3) 下(した)キーを押(お)すと下(した)に移動(いどう)すること

## (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう


# 鬼を作る

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1861SIvH7-c55-Ir%2Fabout.png?generation=1524026098009249\&alt=media)

鬼(おに)を追加(ついか)してみましょう。

## (1) Spriteを追加()ついかする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM186C-yhpFH29QcLh%2Fg001.png?generation=1524026097719733\&alt=media)

### (1-1) 左下(ひだりした)のキャラクタアイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM186TXPfyMb9VVgU7%2Fg002.png?generation=1524026107276917\&alt=media)

### (1-2) お好(この)みの画像(がぞう)を選択(せんたく)して、OKボタンを押(お)してください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM186sxGhKDKWJDhkF%2Fg003.png?generation=1524026097748526\&alt=media)

## (2) Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 鬼が移動する

鬼(おに)に、追(お)いかける機能(きのう)を追加(ついか)してみましょう。

## (1) スクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1172Y0o-Q25G1BJc%2Fh001.png?generation=1524026066814547\&alt=media)

### (1-1) 左下(ひだりした)のキャラクタアイコンをクリックする

### (1-2) スクリプトタブをクリックする

## スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM117ssn7JXbcH8Et2%2Fgs001.png?generation=1524026067796173\&alt=media)

## (2) 確認(かくにん)する

<https://scratch.mit.edu/projects/87785015/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM118vpiY2ZwChR-vV%2Fcon01.png?generation=1524026066769996\&alt=media)

### (2-1) 右上(みぎうえ)の旗(はた)をクリックする

### (2-2) 追加(ついか)した鬼(おに)が画面(がめん)を動(うご)き回(まわ)ること

## (3) Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 捕まった時の動作

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11f4D-7mC0pmcn2h%2Fabout.png?generation=1524026070704870\&alt=media)

## (1) Sprite1のスクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11faIlxqlqwoXmB8%2Fv01.png?generation=1524026071061144\&alt=media)

### (1-1) Sprite1をクリック

### (1-2) スクリプトタブをクリック

## (2) Sprite1にスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11gS3EQNo6O1N3k4%2Fvs01.png?generation=1524026068601473\&alt=media)

## (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11gx4A123O-4O_Hi%2Fcon01.png?generation=1524026071157265\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)をクリックする

### (3-2) 鬼(おに)とぶつかるとSprite1が"アウチ!!"ということ

## (4) Good!!

<https://scratch.mit.edu/projects/87788048/#player>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11AX22oLEfSgY5jH%2Fgood.png?generation=1524026067338507\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AHD7eqjemYzFU4B%2Ffire.png?generation=1524026111057792\&alt=media)

おめでとうございます。 この本(ほん)での"おにごっこ"の作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すす)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# Practice:ポリゴン<難易度 中上>

## ポリゴン

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ycdZ6-lpxo0q-s8%2Fabout.png?generation=1524026060893959\&alt=media)

次(つぎ)のお題(だい)はポリゴンです。 3Dを利用(りよう)したプログラムを書(か)いて見(み)ましょう。

## Scratchでの見本(みほん)

<https://scratch.mit.edu/projects/87832173/#player>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ydQEGSdGfQbDpKS%2Fsample.png?generation=1524026060151700\&alt=media)

<https://scratch.mit.edu/projects/88155875/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM0ydxCit9YnMku5qC%2Fsample2.png?generation=1524026062674423\&alt=media)


# プロジェクトを作る

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12KMPqipCAIwOhfQ%2Fbase001_make_002.png?generation=1524026064151363\&alt=media)

この画面(がめん)でプログラムを作成(さくせい)していきます。

この画面(がめん)は開(ひら)けていますか?

では、一緒(いっしょ)にこの画面(がめん)を表示(ひょうじ)するところから はじめてみましょう。

## \[1] Scratchのページにアクセスする

<https://scratch.mit.edu/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12K0585gOwE6IbrE%2Fbase001_make.png?generation=1524026068962890\&alt=media)

## \[2] 「作る」または、「やってみる」クリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM12KMPqipCAIwOhfQ%2Fbase001_make_002.png?generation=1524026064151363\&alt=media)

ゲーム開発画面(かいはつがめん)が表示(ひょうじ)されます。

## \[3] Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# ネコの表示を小さくする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10pctfhivXUrfSnG%2Fabout.png?generation=1524026065706238\&alt=media)

初期(しょき)Spriteのサイズを小(ちい)さくします。ネコが主張(しゅちょう)しないように、見(み)た目(め)を小(ちい)さくしましょう。

## (1) Sprite1のスクリプト画面(がめん)を開(ひら)く

#### (1-1) 左下(ひだりした)のSprite1をクリックする

#### (1-2) スクリプトタブをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10qHOWHHeH1PZMgX%2Fb001.png?generation=1524026065666126\&alt=media)

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10qmYYbs5vozZaYW%2Fbs001.png?generation=1524026066803592\&alt=media)

### (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10rT791ryPA9S-RG%2Fbc001.png?generation=1524026066679457\&alt=media)

#### (3-1) 右上(みぎうえ)の緑(みどり)の旗(はた)をクリックする

#### (3-2) ネコが小(ちい)さく表示(ひょうじ)されること

### (4) Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 三角形を描く

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11Eur4ln4vVBfTDI%2Fabout.png?generation=1524026068704873\&alt=media)

3Dは三角形(さんかっけい)の集(あつ)まりで表現(ひょうげん)します。この三角形(さんかっけい)のことをポリゴンと呼(よ)んでいます。

ポリゴンを表示(ひょうじ)してみましょう。

## (1) スクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11FGeZFUZFyOt8vt%2Fc001.png?generation=1524026067820575\&alt=media)

## (2) スクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11H19sdIC1b43H2o%2Fcs01.png?generation=1524026068333106\&alt=media)

## (2 注意) ブロックを追加(ついか)する時(とき)に、「画面を再描画せずに実行する」にチェックを入(い)れてください。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11HOC0dtuQDxnZum%2Fcs02.png?generation=1524026067865093\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/87995338/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM11Hvq7jStYjjyVK6%2Fcc01.png?generation=1524026067990642\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)アイコンをクリックする

### (3-2) 三角形(さんかっけい)が表示(ひょうじ)されること

## (4) Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# Matrixを定義する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DTNX_W9GkPQvPBX%2Fabout.png?generation=1524026110910144\&alt=media)

3Dでは、数学的(すうがくてき)な表現(ひょうげん)が多用(たよう)されます。そのひとつがMatrixです。日本語(にほんご)では行列(ぎょうれつ)といいます。2012年までは高校(こうこう)でならっていました。いまは、理系(りけに)の大学(だいがく)で習(なら)います。

しかし、3Dを扱(あつか)うならは必須(ひっす)の知識(ちしき)です。そして、理系(りけい)の大学生(だいがくせい)が習(なら)う数学(すうがく)ですが、使(つか)うだけなら簡単(かんだん)です。

トライしまみましょう。

## (A) Matixとは数(かず)の集(あつ)まり

Matrix にも色々(いろいろ)な種類(しゅるい)がありますが、3Dで扱(あつか)うのは、上記(じょうき)のような、横幅(よこはば)が4、縦幅(たてはば)が4のMatrixです。

※ から には数字(すうじ)が入ります。

例(たと)えば、以下(いか)のように書(か)けます。

あとで解説(かいせつ)しますが、この上(うえ)の行列(ぎょうれつ)は単位行列(たんいぎょうれつ)という、特殊(とくしゅ)なのものです。

今回(こんかい)のサンプルでは、Matrixを作成(さくせい)する時(とき)には、初期値(しょきち)として、単位行列(たんいぎょうれつ)を設定(せってい)するようにしています。

## (B) これを、Scratchで表現(ひょうげん)してみましょう。

### (1) Scripte画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DWULsBQzCNbQGY1%2Ff01.png?generation=1524026110945067\&alt=media)

#### (1-1) 左下(ひだりした)のSprite1をクリックする

#### (1-2) スクリプトタブをクリックする

### (2) Scriptを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DXm9w44E7_OGf6X%2Ffs01.png?generation=1524026110824327\&alt=media)

#### (2-注意)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DYWhcO_7rnbWJ-n%2Ffs01_opt1.png?generation=1524026110641884\&alt=media)

※ このSpriteのみにチェックを入(い)れました。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DZ0X_n7_5Quz10f%2Ffs01_opt2.png?generation=1524026110650923\&alt=media)

※ 「画面を再描画せずに実行する」にチェックを入(い)れてください

### (3) 確認(かくにん)する

今回(こんかい)の変更(へんこう)では、振(ふ)る舞(ま)いが変(か)わらないので、コードを目(め)で見(み)てチェックしましょう。

#### (3-1) 「Matrixを初期化する」定義(ていぎ)が、あること

#### (3-2) 「16回(かい)」値(あたい)を追加(ついか)していること

#### (3-3) 値(あたい)を追加(ついか)する前(まえ)に すべてのデーターを削除(さくじょ)していること

#### (3-4) {1,0,0,0} {0,1,0,0} {0,0,1,0} {0,0,0,1} と順(じゅん)に値(あたい)が追加(ついか)されていること

### (4) Good !

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# Matrixの掛け算

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17A17pdtOZzAuz0n%2Fabout.png?generation=1524026102394000\&alt=media)

<https://scratch.mit.edu/projects/88081061/>

Matrixにも、足(た)し算(ざん)、引(ひ)き算(ざん)、掛(か)け算(ざん)などがあります。

掛(か)け算(ざん)について学(まな)びましょう。

## 掛(か)け算(ざん)

$$ \left( \begin{array}{ccc} &#x78;*{next} \ y*{next} \ z\_{next} \ 1 \ \end{array} \right) = \left(\begin{array}{ccc} \ 行列\ \ \end{array} \right) \left( \begin{array}{ccc} x \ y \ z \ 1 \ \end{array} \right)

掛(か)け算(ざん)のルールはこんな感(かん)じです。これを、Scratchで実装(じっそう)してみましょう。

## (B) Scratchで実装(じっそう)してみる

### (1) スクリプト画面(がめん)を表示(ひょうじ)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17BqMzM6Z_-rvlgn%2Ff01.png?generation=1524026103035749\&alt=media)

#### (1-1) 左下(ひだりした)のSprite1をクリックする

#### (1-2) スクリプトタブをクリックする

### (2) 掛(か)け算(ざん)するスクリブトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17CNg_rdJVRYjYZ7%2Ffs001.png?generation=1524026093465628\&alt=media)

### (3) ポリゴンを表示(ひょうじ)するスクリブトを修正(しゅうせい)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17CxVH2x7iJ0oyUy%2Ffs002.png?generation=1524026092856402\&alt=media)

### (4) 確認(かくにん)してみよう

<https://scratch.mit.edu/projects/88081061/>

#### (4-1) 旗(はた)がクリックされた時(とき)のスクリプトを変更(へんこう)する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17DiI_DhSCslpVGq%2Ffs003.png?generation=1524026103041399\&alt=media)

#### (4-2) 右上(みぎうえ)の旗(はた)アイコンをクリックする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17EGXpYeRlcuao__%2Ffc001.png?generation=1524026103610859\&alt=media)

#### (4-3) 三角形(さんかっけい)が表示(ひょうじ)されること

### (5) Good!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# Z軸に対して回転

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM14tQ7FOyJ8RjjPOr%2Fabout.png?generation=1524026109866868\&alt=media)

見(み)た目(め)が変(か)わらないのはここまで。ポリゴンを回転(かいてん)させて見(み)ましょう。

## Matrixどうしの掛(か)け算(ざん)

以下(いか)の用(よう)に定義(ていぎ)されています

$$\ &#x4D;*{11} = a*{11} \times &#x62;*{11} + a*{12} \times &#x62;*{21} + a*{13} \times &#x62;*{31} + a*{14} \times &#x62;*{41}\ M*{21} = &#x61;*{21} \times b*{11} + &#x61;*{22} \times b*{21} + &#x61;*{23} \times b*{31} + &#x61;*{24} \times b*{41}\ &#x4D;*{31} = a*{31} \times &#x62;*{11} + a*{32} \times &#x62;*{21} + a*{33} \times &#x62;*{31} + a*{34} \times &#x62;*{41}\ M*{41} = &#x61;*{41} \times b*{11} + &#x61;*{42} \times b*{21} + &#x61;*{43} \times b*{31} + &#x61;*{44} \times b*{41}\\

$$\ &#x4D;*{13} = a*{11} \times &#x62;*{13} + a*{12} \times &#x62;*{23} + a*{13} \times &#x62;*{33} + a*{14} \times &#x62;*{43}\ M*{23} = &#x61;*{21} \times b*{13} + &#x61;*{22} \times b*{23} + &#x61;*{23} \times b*{33} + &#x61;*{24} \times b*{43}\ &#x4D;*{33} = a*{31} \times &#x62;*{13} + a*{32} \times &#x62;*{23} + a*{33} \times &#x62;*{33} + a*{34} \times &#x62;*{43}\ M*{43} = &#x61;*{41} \times b*{13} + &#x61;*{42} \times b*{23} + &#x61;*{43} \times b*{33} + &#x61;*{44} \times b*{43}\\

## Z軸(じく)で回転(かいてん)した後(あと)の値(あたい)

計算(けいさん)してみます。

$$\ &#x4D;*{11} = a*{11} \times \cos\theta + &#x61;*{12} \times \sin\theta \ M*{21} = &#x61;*{21} \times \cos\theta + a*{22} \times \sin\theta \ &#x4D;*{31} = a*{31} \times \cos\theta + &#x61;*{32} \times \sin\theta \ M*{41} = &#x61;*{41} \times \cos\theta + a*{42} \times \sin\theta \\

## Scratchで実装(じっそう)してみよう

### (1) スクリプト画面(がめん)を表示(ひょうじ)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15CsLq5Ji8q47L8m%2Fg01.png?generation=1524026105885204\&alt=media)

#### (1-1) 左下(ひだりした)のSprite1をクリック

#### (1-2) スクリプトタブをクリック

### (2) 回転(かいてん)スクリプトを追加(ついか)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15EHswKimUXjKJqs%2Fgs01.png?generation=1524026076534677\&alt=media)

### (2-注)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15FC7kzrkrhKRJBf%2Fgs01_opt1.png?generation=1524026076405661\&alt=media)

#### 変数(へんすう)を作成(さくせい)するときは、「このスプライトのみ」にチェックを入(い)れること

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15FuWi4Cha0uALiR%2Fgs01_opt2.png?generation=1524026111545607\&alt=media)

#### ブロックを作成(さくせい)するときは、「画面を再描画せずに実行する」チェックを入(い)れること

### (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15H4sEi22gLRpzMZ%2Fgs02.png?generation=1524026115579028\&alt=media)

#### (3-1) 旗(はた)がクリックされた時(とき)の、コードを変更(へんこう)する

\
&#x20;\
&#x20;<https://scratch.mit.edu/projects/88091699/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15IHXMFOkY3DEnKj%2Fgc01.png?generation=1524026114173629\&alt=media)

#### (3-2) 右上(みぎうえ)の旗(はた)をクリック

#### (3-3) 三角形(さんかっけい)が回転(かいてん)すること

### (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# X軸に対して回転

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dg0AQ7L7eDWQNJl%2Fabout.png?generation=1524026112071159\&alt=media)

## 回転(かいてん)した後(あと)の値(あたい)

$$\ &#x4D;*{12} = a*{12} \times \cos\theta + &#x61;*{13} \times \sin\theta \ M*{22} = &#x61;*{22} \times \cos\theta + a*{23} \times \sin\theta \ &#x4D;*{32} = a*{32} \times \cos\theta + &#x61;*{33} \times \sin\theta \ M*{42} = &#x61;*{42} \times \cos\theta + a*{43} \times \sin\theta \\

## Scratchで実装(じっそう)してみよう

### (1) スクリプト画面(がめん)を表示(ひょうじ)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DmqJMjVH3S3CygP%2Fh001.png?generation=1524026112126030\&alt=media)

#### (1-1) 左下(ひだりした)のSprite1をクリック

#### (1-2) スクリプトタブをクリック

### (2) 回転(かいてん)スクリプトを追加(ついか)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DneoWrZi9EIfdAJ%2Fhs01.png?generation=1524026112154905\&alt=media)

### (2-注)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DoKtOTTOuWM6j9y%2Fhs01_opt1.png?generation=1524026112136685\&alt=media)

#### ブロックを作成(さくせい)するときは、「画面を再描画せずに実行する」チェックを入(い)れること

### (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DpAhxUzqM316q5Z%2Fhs02.png?generation=1524026111956869\&alt=media)

#### (3-1) 旗(はた)がクリックされた時(とき)の、コードを変更(へんこう)する

\
&#x20;\
&#x20;<https://scratch.mit.edu/projects/88146325/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dq9HjiKdDHrHYFD%2Fhc01.png?generation=1524026112031311\&alt=media)

#### (3-2) 右上(みぎうえ)の旗(はた)をクリック

#### (3-3) 三角形(さんかっけい)が回転(かいてん)すること

### (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# Y軸に対して回転

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17LFxC8aRlEHZxnm%2Fabout.png?generation=1524026105708045\&alt=media)

## 回転(かいてん)した後(あと)の値(あたい)

$$\ &#x4D;*{11} = a*{11} \times \cos\theta + &#x61;*{13} \times \sin\theta \ M*{21} = &#x61;*{21} \times \cos\theta + a*{23} \times \sin\theta \ &#x4D;*{31} = a*{31} \times \cos\theta + &#x61;*{33} \times \sin\theta \ M*{41} = &#x61;*{41} \times \cos\theta + a*{43} \times \sin\theta \\

## Scratchで実装(じっそう)してみよう

### (1) スクリプト画面(がめん)を表示(ひょうじ)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17O_uERjzWcwWEna%2Fk001.png?generation=1524026109550284\&alt=media)

#### (1-1) 左下(ひだりした)のSprite1をクリック

#### (1-2) スクリプトタブをクリック

### (2) 回転(かいてん)スクリプトを追加(ついか)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17PE_eC7o_MHmXBu%2Fks01.png?generation=1524026105661889\&alt=media)

### (2-注)

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17PdqdxnH6SuJqPp%2Fks01_opt1.png?generation=1524026109484246\&alt=media)

#### ブロックを作成(さくせい)するときは、「画面を再描画せずに実行する」チェックを入(い)れること

### (3) 確認(かくにん)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17QNGk6OJ_0OgW_l%2Fks02.png?generation=1524026085124797\&alt=media)

#### (3-1) 旗(はた)がクリックされた時(とき)の、コードを変更(へんこう)する

\
&#x20;\
&#x20;<https://scratch.mit.edu/projects/88153625/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM17QxSG2U59TrJu3d%2Fkc01.png?generation=1524026085183131\&alt=media)

#### (3-2) 右上(みぎうえ)の旗(はた)をクリック

#### (3-3) 三角形(さんかっけい)が回転(かいてん)すること

### (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16cBynCNRZ04hklX%2Ffire.png?generation=1524026090688750\&alt=media)

おめでとうございます。 この本(ほん)での"Polygon"の作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すす)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# おまけ:Cubeを描く

ポリゴンが描(か)けるようになりました。代表的(だいひょうてき)な3Dオブジェクトを描(か)いてみましょう。

今回(こんかい)はCubeを表示(ひょうじ)してみます。

<https://scratch.mit.edu/projects/88199921/>

## (1) Cubeを表示(ひょうじ)するスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DlLIvXOO4Mk7Tns%2Fys01.png?generation=1524026111685267\&alt=media)

## (2) 旗(はた)がクリックされたとき、Cubeを表示(ひょうじ)するようにする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1Dm9OvYM-T-RHfoN%2Fys02.png?generation=1524026111569438\&alt=media)

## (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/88199921/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1DmobBAcEYgXFIXQ%2Fyc01.png?generation=1524026111531473\&alt=media)

### (3-1) 右上(みぎうえ)の旗(はた)アイコンをクリックする

### (3-2) Cubeが表示(ひょうじ)されること

## (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# おまけ:裏と表

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15qFZ9WTQ8mGPFxX%2Fexp001.png?generation=1524026110615480\&alt=media)

Cubeを表示(ひょうじ)すると、Aのように表示(ひょうじ)されたと思(おも)います。 Bのように、裏側(うらがわ)が透(す)けないように表示(ひょうじ)するにはどうすれば良(よ)いでしょうか。

色々(いろいろ)な方法(ほうほう)があります。ここでは法線(ほうせん)を利用(りよう)する方法(ほうほう)を紹介(しょうかい)します。

### Polygonは裏(うら)と表(おもて)を持(も)っている。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15qXizep-2l5EYtg%2Fexp02a.png?generation=1524026110882673\&alt=media)

Ploygonには、裏(うら)と表(おもて)があります。表面(おもてめん)は画面(がめん)に表示(ひょうじ)されますが、裏面(うらめん)は画面(がめん)に表示(ひょうじ)されません。

上図(じょうず)のように、反時計回(はんとけいまわ)りが表(おもて)。 時計周(とけいまわ)りが裏(うら)です。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15qmlwKa6r24Q0ek%2Fexp02b.png?generation=1524026111988398\&alt=media)

面倒(めんどう)ですね。Polygonで図形(づけい)を書(か)くときは、常(つね)に意識(いしき)しないといけません。

気(き)を抜(ぬ)くと、上(うえ)のように透(す)けてしまします。

### (1) 上手(うま)く使(つか)えば、裏側(うらがわ)が透(す)けない立方体(りっぽうたい)をかける。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15rTqeOHBOI5S1a9%2Fexp002.png?generation=1524026109565186\&alt=media)

上図(じょうず)のAのように、渦(うず)が「反時計回り」に見(み)えているものが、180度(ど)回転(かいてん)すると、上図(じょうず)のCのように「時計回りに」に見(み)えます。つまり、180度(ど)回転(かいてん)すると表示(ひょうじ)されなくなります。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15rzTVc6nNVzIDfQ%2Fexp02c.png?generation=1524026109260986\&alt=media)

例(たと)えば、上図(じょうず)のようにすると、いくら回転(かいてん)しても裏側(うらがわ)が透(す)けて見(み)えないCubeを書(か)くことができます。

### 右回(みぎまわ)りか、左回(ひだりまわ)りかの判定方法(はんていほうほう)

右回(みぎまわ)りか、左回(ひだりまわ)りかの判定(はんてい)をする機能(きのう)をついかする必要(ひつよう)があります。

この判定(はんてい)には、以下(いか)の数式(すうしき)が使(つか)われること多(おお)いです。

, ,  の三点を通る三角形の場合 $$v = \left(&#x78;*{2}-x*{1}\right) \times \left(&#x79;*{3}-y*{2}\right)

* \left(&#x79;*{2}-y*{1}\right)\times\left(&#x78;*{3}-x*{2}\right)

  $$

で、 が、0よりも大(おおきい)きい場合(ばあい)は「表(おもて)」、小(ちいい)さい場合(ばあい)は「裏(うら)」と判断(はんだん)できます。

## (B) Scratchで実装(じっそう)する

### (1) 裏表(うらおもて)を判定(はんてい)するスクリプトを追加(ついか)する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15x-1ebkDPf7LBzI%2Fzs01.png?generation=1524026110022505\&alt=media)

### (2) ポリゴンを描画時(びょうがじ)に、裏表判定(うらおもてはんてい)を使用(しよう)するようにする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15y4x10r8wkDNufE%2Fzs02.png?generation=1524026099576512\&alt=media)

### (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/88197759/>

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM15zDu_Aagq8QTdXi%2Fzc01.png?generation=1524026111360341\&alt=media)

#### (3-1) 右上(みぎうえ)の旗(はた)アイコンをクリックすると、Cubeが回転(かいてん)すること

#### (3-2) 裏側(うらがわ)が透(す)けて見(み)えないこと。

### (4) Good!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM10sJw_6R0gkIIv-5%2Fgood.png?generation=1524026067582436\&alt=media)

よくできました。次(つぎ)のステップに進(すす)みましょう。


# 作業テーブル:パズドラッぽいの<難易度 上中>

## パズドラっぽいの

パズドラのパズルゲームの部分を作っていきましょう。

パズル&ドラゴンズ は、ガンホー・オンライン・エンターテイメント株式会社から配信されているパズルRPGゲームです。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AGkdra6qbPxAbmK%2Fabout.png?generation=1524026106715213\&alt=media)

6x5 ないし 6x6 のマスに、ドロップが配置されていて、このドロップを縦横に3つ揃えると、 ドロップが消滅します。このドロップを効率よく消すパズルケームです。

ドロップが消滅した分だけモンスターへダメージを与える事ができ、 ゲームを進める事ができます。

<https://ja.wikipedia.org/wiki/パズル%26ドラゴンズ>

## Scratchで再現してみよう

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1AHPVaP0_1Q6TWVf%2Fscratch_sample.png?generation=1524026114708681\&alt=media)

プロトタイプは以下

<https://scratch.mit.edu/projects/89631068/>

完成品は以下

<https://scratch.mit.edu/projects/91358081/>

マウスでプロックをドラッグ&デロップする事で、ドロップの位置を変更する事ができます。 縦 or 横に3つ同じ色が揃うと、揃ったブロックが消えます。 消したプロックの数だけ得点が入ります


# Table

すぐに実装できそうなところから、順に少しずつ機能追加していきます。 何度も作りなおす事になると思います。 徐々に理解を深めながら、ゴールを目指しましょう。

## ドロップを描画する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18cEKS0s3BHb9LnS%2Fc1.png?generation=1524026091005580\&alt=media)

<https://scratch.mit.edu/projects/91284919/>

ゲームで使用するドロップを描画する機能を追加します。

## ドロップを生成する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18caNKV1bWglTqVA%2Fc2.png?generation=1524026100985533\&alt=media)

<https://scratch.mit.edu/projects/91290061/>

今回つくるゲームでは、36個のドロップを使用します。 これらのドロップは6x6テーブルに表示されます。 ここでは、これらのドロップを、Listで管理する機能を追加します。

## Tableを描画する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18d6nE9eQtJPfKHl%2Fc3.png?generation=1524026106209541\&alt=media)

<https://scratch.mit.edu/projects/91341934/> 生成したドロップを表示してみましょう。

## ドロップを選択できるようにする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18e4vdewG1-4UjAV%2Fc4.png?generation=1524026105766247\&alt=media)

<https://scratch.mit.edu/projects/91343315/>

マウスが押された時のドロップの位置を記録してみる。

## ドロップを移動する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18ev4FInrvVEcfH8%2Fc5.png?generation=1524026109793910\&alt=media)

<https://scratch.mit.edu/projects/91347588/>

ドロップを移動すると、ドロップが入れ替わるようにします。

## X軸方向に揃ったら、ドロップをクリアする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18g0iok6hrHvs8Bo%2Fc6.png?generation=1524026100394381\&alt=media)

<https://scratch.mit.edu/projects/91349418/>

## Y軸方向に揃ったら、ドロップをクリアする

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18hOMlG-NoyebY6h%2Fc7.png?generation=1524026107925361\&alt=media)

<https://scratch.mit.edu/projects/91353699/#player>

## クリアした後、Tableを正規化する。

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18is9JKEj0lnC64i%2Fc8.png?generation=1524026100517843\&alt=media)

<https://scratch.mit.edu/projects/91354269/>

## クリアされたプロックを再設定する

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18kWsIe9_jPQKLZe%2Fc9.png?generation=1524026106394901\&alt=media)

<https://scratch.mit.edu/projects/91357595/>

## 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM18mIGa1PgyETLtQ8%2Fca.png?generation=1524026108171793\&alt=media)

<https://scratch.mit.edu/projects/91358081/>


# 完成!!

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM16de4IcZ40BxZk6R%2Ffire.png?generation=1524026090916097\&alt=media)

おめでとうございます。 この本(ほん)での"パズドラっぽいの"の作成(さくせい)はこれで完了(かんりょう)です。 ここまで読(よ)み進(すす)めてくれて有難(ありがと)うございました。

しかし、ゲームとしての完成度(かんせいど)はまだまだです。 あなたのアイデアを追加(ついか)して、もっと楽(たの)しいゲームにしていきましょう。


# 基礎鍛錬のゴール

この章では、モンスターとの対戦ゲームを作成します。&#x20;

![](https://217444697-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAM0M7JOUD-V4IWDH5E%2F-LAM0vitizJ8VD79iODH%2F-LAM1A8l6FVbly_OnRhX%2Fbase001.png?generation=1524026109039201\&alt=media)

モンスターが投げるボールをよけながら、ビームをあてるゲームです。 このゲームの作成を通して、「数学」、「物理学」について学習していきましょう。

このゲームは以下のサイトで遊ぶことができます。 <https://scratch.mit.edu/projects/75433800/>

* 算数/数学
  * 足し算
  * 引き算
  * x座標とy座標
  * 0から200までの数字
  * 0から-200までの数字
* 物理学
  * 加速度
* プログラム
  * While文
  * if文
  * 変数
  * イベント文
  * 衝突判定
* [基礎鍛錬のゴール](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/About.md)
  * \[基礎鍛錬(きそたんれん) 移動の型]
    * [開発画面を表示する](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/CreateProject.md)
    * [右(みぎ)に移動(いどう)](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/MoveRight.md)
    * [左(ひだり)に移動(いどう)](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/MoveLeft.md)
    * [上(うえ)に移動(いどう)](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/MoveUp.md)
    * [下(した)に移動(いどう)](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/MoveDown.md)
    * 座興って何だろう
      * [座標って何だろう:X座標が左右で、Y座標が上下](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/GridChart.md)
      * [座標って何だろう:足し算で上、右に移動、引き算で下、左に移動](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/GridChart02.md)
      * [座標って何だろう:演習問題](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/GridChart03.md)
    * アニメーションをつける
      * [歩く](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b001/Walk.md)
  * \[基礎鍛錬(きそたんれん) 動作の型]
    * [魔法を放つ](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b002/Magic.md)
    * [跳ねる](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b002/Jump.md)
    * \[加速度について]
  * \[基礎鍛錬(きそたんれん) モンスター]
    * [ドラゴンを召喚](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b003/Monster.md)
  * \[基礎鍛錬(きそたんれん)ダメージ]
    * [攻撃を与える](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b004/MonsterDamage.md)
  * \[基礎鍛錬(きそたんれん)シーン]
    * [シーン](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b005/Scene.md)
  * \[基礎鍛錬(きそたんれん)音楽]
    * [バックグラウンドミュージック](https://github.com/kyorohiro/doc_scratch/tree/b2b187e2a693341a9a1927b80df2fe16058a458c/test/b001/test/b006/Music.md) &#x20;


