Jasmine Teaでデザイナーが初めてのプログラミング学習

この記事は、 [Jasmine Tea アドベントカレンダー 2023 ](https://qiita.com/advent-calendar/2023/jasminetea)の第17日目です。

[Jasmine Tea](https://jasminetea.app/) (ジャスミンティー) にデザイナーとして開発に参加しているSisioです。
プログラム経験がないほぼないデザイナーが、Jasmine Teaではじめてのプログラミング学習に挑戦しようと思います！

この記事は、「Jasmine ってなに？どんなことができるの」と思っているプログラミング初心者さんや「プログラミングを始めてみたいけど、何からはじめたら良いかわからない」という方に向けて書いていこうと思います。

早速Jasmine Teaを始めていきましょう。

## Jasmine Teaについて

まずは、[Jasmine Tea](https://jasminetea.app/) のことを説明させてください。
Jasmine Teaはプログラミングの楽しさを多くの人に知ってもらうために作られたプログラミング言語です。WEB上でプログラミング環境を実現していて、極端に言えばネットに接続されていればどこでも勉強ができます。

:::note info
インターネットに接続されているPCまたはiPadが必要です
現在公開されている機能は全て無料で使用でき、年齢制限もなく誰でも自由に使えます。
:::

初心者用のプログラミング学習と聞くと、ビジュアルプログラミング言語で有名な[「Scratch」](https://scratch.mit.edu/)というものがあります。画面上にあるブロックをつなぎ合わせてプログラムを作っていきます。視覚的にわかりやすいため、プログラミングに苦手意識を持っている方でもとっつき易くプログラミング入門には良い方法です。

![スクリーンショット 2023-12-16 23.43.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/6a7ce25e-7c21-f19d-eaae-f14de2fb1834.png)

ただ、「Scratch」のようなビジュアルプログラミングは、実際にプロが使っているようなテキストプログラミングとは、見た目から大きく違っており、本格的なプログラミングに進む際スムーズな移行は難しいというデメリットがあります。
テキストプログラミング言語とは互換性がなく、一般的なプログラミング言語の勉強は、一から学習する必要があります。また、大人にとっての最初のプログラミング学習としては、ビジュアルプログラムは難易度が低すぎるかもしれません。

### Jasmine Teaはプログラミング初心者の学習用に開発されたテキストプログラミング言語

冒頭に記載したように、Jasmine Teaはプログラミング初心者の学習用に開発されたテキストプログラミング言語です。インターネットが繋がるパソコンがあればいつでもプログラミングがはじめられます！

一般的に社会でよく使用されているプログラミング言語から学ぶのは理想的ではありますが、学習を始める前の環境構築、事前準備が大変で始める前に挫折してしまったり、1文字でも間違えればエラーが発生するため、エラーの原因を見つけられずに学習が止まってしまうことも多いです。また標準の状態では、楽しめるような要素がないため、アニメーションやゲームなどで、楽しみながら学ぶのは難しいでしょう。

Jasmine Teaは既存言語の課題を解決し、プログラミング初心者が、テキストプログラミング言語で、楽しみながら基礎からしっかりと学べるように設計されています。スプライト機能を用い、アニメーションやゲーム制作を通じての学習も可能です。
デバッグ（エラーやバグを見つけて修正するプロセス）などのスキル習得も可能です。

![スクリーンショット 2023-12-17 6.17.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/d9a46d00-d01b-4448-c0c4-06ffa740b426.png)


Jasmine Teaで基礎的なプログラミングを学んだ後には、本格的なプログラミングへの移行を想定しているため[他言語への移行ガイド](https://jasminetea.app/docs/migration/index) も用意されています。

https://jasminetea.app/docs/migration/index

### Jasmine Teaでまずは何をする？

Jasmine Teaの学習の進め方は自由で、決まりはありません。
あなたが楽しそうだと思ったところから始めてみてください！
今回、私は下記のような画面をJasmine Teaで作ってみます。

![スクリーンショット 2023-12-17 7.27.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/36ca49da-2e9e-d85b-0861-77cf8b4c5973.png)



## 実際にJasmine Teaを触ってみよう

[Jasmine Tea](https://jasminetea.app/) のサイトにアクセスして「ためしてみる」をクリックしてください。

![スクリーンショット_2023-12-17_6_40_54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/9a55901c-a087-62f0-39ce-1c07554c91a2.png)

クリックするとスタジオ画面が開きます！

![スクリーンショット 2023-12-17 6.52.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/340a4c4d-9e56-c566-a4bc-9283ae84999a.png)

今回は「ゲーム制作」の「【準備体操】キャラクターを動かせるようになろう」を参考にしながら、簡単なプログラミングを書いてみます。

## やることの全体像
**雪原でたくさんのキャラが配置されている絵をJasmine Teaで作る**

1. オリジナルの背景を作って、背景をスタジオで表示する
2. 表示した背景にスプライトで作ったキャラクターをたくさん表示する

たったこれだけですが、人によって全然ちがう絵ができるとおもいます。
個性的なイラストをつくってみてください！

### 背景を作って配置する

![スクリーンショット_2023-12-17_7_05_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/6254763c-e654-89a8-b38a-35b9db6f6070.png)

エディターの背景ボタンをクリックしてください。

![スクリーンショット_2023-12-17_7_09_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/5587bcda-8d08-78e2-b134-cfdfb22b69a3.png)

次にプラスボタンをおして０番の背景を追加します。
最初から何かが入っている人はそのまま0番を使用してください。
※①参照

背景をいじっていくためには、②をいじっていく必要があります。
なにもないところから作っても良いのですが、テンプレートも用意されているので自由に好きな背景を作ってみてください。

私はテンプレートで雪山を選択し、いじっていくことにしました。
![スクリーンショット_2023-12-17_7_16_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/0da4ce37-139c-feb3-7fdd-84503818bd20.png)

背景色をミントグリーンに変更し、他のオブジェクトを消しゴムで消したり、パーツを配置したりして自分のオリジナル背景をつくりました。
![スクリーンショット 2023-12-17 7.30.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/9059377b-ba58-9303-4c96-82f4573905dc.png)

Jasmine Teaはデフォルトで背景やイラストが用意されているので、簡単にかわいいイメージを作ることができます。

では、作った背景をさっそく表示してみましょう。

![スクリーンショット_2023-12-17_7_34_58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/dc8dec1c-c34b-0d22-f4b2-961cf6e0fbee.png)

エディターに「background 命令」を書き、実行を押してください。
```
background 0
```

https://jasminetea.app/docs/references/command-background

これでオリジナルの背景が表示されたと思います。
オリジナルの画像が表示がされない場合は、自分の設定した数字やエディターの文字が間違っていないか確認してくださいね。

### 背景にキャラクターをたくさん表示する

次にキャラクターを用意します。

![スクリーンショット_2023-12-17_7_49_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/df4d5eed-15c3-b7f2-8cd3-faf04b79ff8f.png)

エディターのスプライトボタンをクリックしてください。
ここでは表示したいキャラクター分、スプライトを用意します。
難しいことは考えずに右から左へドラッグしていきます。

![スクリーンショット 2023-12-17 7.51.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/f3384393-d00b-11dc-ca4d-79c874ee35db.png)

私はスプライト10までしっかりキャラクターで埋めてみました。

まずはキャラクターを一体だけ表示させてみましょう。
エディターに「show 命令」を書いていきます。
先ほど書いた「background 命令」の下に、下記のプログラミングをかいてみてください。
```
show 0,(300,150)
```
https://jasminetea.app/docs/references/command-show

![スクリーンショット_2023-12-17_7_59_37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/6dd6f011-c59f-15eb-71e6-02ba848710c1.png)

:::note warn
この時、「background 命令」を消してしまうと、背景が消えてしまうのでご注意ください！
:::

「show 命令」を追加して実行を押すと、オリジナルの背景の上にキャラクターが表示されたでしょうか。

今のままだとキャラクターの位置が微妙ですよね？
数値をいじって適切な位置にキャラクターを移動しましょう。

この時に便利なのは実行画面の下にみえるめもりです。
めもりからグラフィックスを表示させると、キャラクターを移動したい場所が分かりやすくなりますので使ってみてくださいね。

![スクリーンショット 2023-12-17 8.07.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/c307b40b-78d6-8702-b84c-35db146c293e.png)

では表示されているキャラクターを移動させましょう。
```
show 0,(260,260)
```
先ほどの数値をいじってみました。
スプライト0に設定しているキャラクターをX軸（横）260、Y軸（縦）260に設定して実行すると、先ほどは空中にいたキャラクターが床に設定している部分に表示されました。

![スクリーンショット_2023-12-17_8_19_49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/1247d345-6e8a-2b21-f90c-48d6ee20a602.png)

表示させたいスプライト分（キャラクター）、これらを繰り返しましょう。

![スクリーンショット 2023-12-17 8.40.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/681e42be-f3a8-b605-22dd-5d32bc7115e6.png)

めもりを消すと、キャラクターがたくさん並んだ絵ができています！

ここからアニメーションをつけたり、もっと色々なプログラミングをすることもできます。
今回は簡単に背景作りとキャラクターの配置をして、絵を作ってみました。
超入門編ではありますがいかがでしたでしょう？

Jasmine Teaではこのように簡単にプログラムで絵を描くことができます。
皆さんも自分オリジナルの絵をつくってみてください。

![スクリーンショット 2023-12-17 7.27.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/caddb44a-2c5d-c229-dc2a-acd4cf31d71c.png)

![スクリーンショット 2023-12-17 9.03.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/2d658e6d-9bb0-eced-6448-e4b4c9bb68ad.png)

![スクリーンショット 2023-12-17 9.14.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178028/c86762d6-deee-af9a-2922-ae4a489b2ae8.png)