IchigoJam BASIC プログラム


IchigoJam BASIC のプログラムです。ご活用下さい。

一覧の下にあるタイトルの下は対応ファームウェアです。

新プリント基盤 IchigoJam U や ai.Jam など aitendo 発売の IchigoJam 互換機、IchigoJam EX も使用可能です。

ファームウェアのバージョンに合わせてご利用下さい。

 

まずは入力して実際に動作を確認していただき、その後いろいろ改造してみて下さい。

もちろんパソコンから転送するのも良いでしょう。周辺機器/パソコンと接続 に手順を記載しています。

また、BASIC の経験がある人は、自分なりにプログラムを組んでみるのも良いでしょう。

 

プログラムの頭に配布や改造に関するライセンス表記を行っています。詳細はこのページの下に記載しています。

IchigoJam の動作デモ、お店展示用デモなどでのご利用も(営利目的も含めて)構いません。(YouTube の動画も含めます)

紙面掲載も問題ありません。改良する場合は作者記載と URL の明示があれば構いません。一度ご連絡いただけると助かります。お問い合わせ


ファームウェアバージョンの違いによる動作

IchigoJam では次のバージョンで特に大きな変更が発生しています。

  • IchigoJam BASIC 0.9.8 RC(正式版 IchigoJam BASIC 1.0.0)からキャラクターが変化しています。
  • IchigoJam BASIC 0.9.9 RC(正式版 Ichigojam BASIC 1.0.0)から画面サイズが変更されています。
  • IchigoJam BASIC 1.2 beta(正式版 IchigoJam BASIC 1.2.0)から一部キャラクターが変化しています。

IchigoJam BASIC 0.9.8 向けは変更箇所を主に記載しています。

Ichigojam BASIC 0.9.9 以降向けは専用にプログラムを掲載しています。(変更箇所が少ない場合は変更箇所を記載)

一部のバージョンでは正常に動作しない場合がありますので、

ファームウェアが更新されている場合は最新に更新して下さい。

IchigoJam BASIC 1.0 beta〜1.2.3 は IchigoJam BASIC 0.9.9〜 向けのプログラムが問題なく動作する事を確認しています。

(IchigoJam BASIC 1.2 で変更されているキャラクターコードは使用していません)

ただし、バージョンアップと共に処理速度が速くなっているため、速すぎる場合は WAIT 値を増やすなどして下さい。


シリアル接続のモニタで使用する場合

シリアル接続を行った IchigoJam を操作できるアプリで
ビデオ出力に近い表示を再現できるモニタ機能を備えるアプリがでてきています。

(詳細は パソコンと接続 で紹介しています)

 

そこで、モニタ機能で正常に動作できるプログラムには

「モニタ対応」の記載を加えています。

他のプログラムも表示は可能な場合がありますが、

モニタ機能の線画が追いつかず、まともに動作できない場合は記載を外しています。

IJKB の実行で表示がおかしくなる場合は「カーソル表示」を押してみて下さい。

(カーソルを表示している場合は CHR$(0) を無視する仕様になっています)

 

なお、ターミナルソフト(IchigoJam BASIC 1.1 以降の UART 1)でも動作可能なプログラムは

「モニタ/シリアル対応」と記載しています。

ただしカナ表示を含むプログラムは、IchigoJam 向けアプリ または

文字コード Shift_JIS で表示できるターミナルプログラムでの動作が必要です。


IchigoJam web での動作

一部のプログラムは、

IchigoJam web で直接実行する事が可能になっています。

IchigoJam web は IchigoJam と動作速度が異なるため、

IchigoJam web の表示が IchigoJam 実機とは異なる感じで

表示される場合があります。

 

プログラムの上に「IchigoJam web で実行」の

黒いボタンを入れてあります。

速度の違いで動作に問題があるプログラム、

文字コードの違いにより、
カナを使用しているプログラムは対応していません。

ボタンをクリックすると、IchigoJam web で

プログラムが入り、RUN が実行された状態になります。

これにより、IchigoJam へ転送させず、
すぐに実行結果を得る(遊ぶ)事が可能です。

コメントは不要なので外してあります。

また一部のプログラムは速度の違いで WAIT を外すなど、

IchigoJam web で正常に動作するよう修正してあります。


IchigoJam PC での動作

EEPROM を必要とする プログラム一覧・ローダー を除くプログラムは
IchigoJam PC でも動作可能です。

多くのプログラムはそのまま動作可能のため、対応有無は記載していません。

  • IchigoJam PC は
    IchigoJam BASIC 1.1 をベースに開発されているため、
    IchigoJam BASIC 1.1 対応のプログラムを入力して下さい。
  • L チカ はキーボードの LED(に該当する表示)で動作します。
  • IchigoJam のうた は音が出るパソコン(の状態)が必要です。

IchigoJam BASIC RPi での動作

掲載しているプログラムは IchigoJam BASIC RPi でも動作可能です。
一部途中のバージョンで対応されたコマンドがあるため、
一覧には IchigoJam BASIC RPi の対応バージョンを記載しています。

 

IchigoJam BASIC 1.2.3 以降がベースになっているため、
特に記載がない場合 IchigoJam BASIC 1.2 対応のプログラムを実行して下さい。

IchigoJam BIG(後記)向けプログラムは
IchigoJam BASIC 1.2b17RPi・IchigoJam BASIC 1.2.5RPi 以降で動作可能です。

 

IchigoJam BASIC RPi での動作は次の場合があります。

  • プログラムをそのまま実行可能
  • 数行加えて正常に実行可能
  • IchigoJam BASIC RPi 対応のプログラムを公開

加えているのはいずれも WAIT 命令で、そのままでははやすぎる動作を調整しています。


IchigoJam BIG・VIDEO 3 での動作

IchigoJam BASIC 1.2.0 で公開されている IchigoJam BIG、

1.2 beta 34-5 より同等の表示を実現する VIDEO 3 で動作可能なプログラムは

一覧に「BIG 対応」を記載しています。2 倍の大きさで表示されます。
VIDEO 3 をダイレクト、またはプログラムに付加して実行して下さい。

元のサイズヘ戻す場合は VIDEO 1 です。F8 キーに割り当てられています。

 

プログラムは次のいずれかになります。 

  • オリジナルのプログラムでそのまま実行できる場合
    特に記載はありません。オリジナルそのままです。
  • プログラムを修正して実行できる場合
    本文文中に記載を行っています。
  • 専用プログラムで実行できる場合
    「IchigoJam BIG 版」の見出しで別途プログラムを掲載しています。

2018年3月21日より、1.2 beta 34 以降で実行した場合は自動的に VIDEO 3 を実行し、拡大表示になります。

IchigoJam BASIC RPi の非対応バージョンでは意図しない動作になります。


MixJuice によるプログラムのダウンロード

このページで公開しているプログラムは

こどもネットワークボード MixJuice を用いてダウンロードする事ができます。

 

Wi-Fi の接続(MJ APC コマンド)を行った後、
各ページに公開されている MJ GET コマンドを実行すると、

プログラムが IchigoJam にダウンロードされます。

大文字・小文字は記載とおりにして下さい。

 

(2018年2月、MixJuice での参照に問題があったため、URL を変えています) 

次のコマンドで説明を表示します。
GET の代わりに https(SSL)を使用する GETS でも動作可能です。

 

?"MJ GET ijprg.bitballoon.com/

?"MJ GET IJPRG.BITBALLOON.COM/ (MixJuice 1.0.5〜)

 

次のコマンドでプログラム名の一覧を表示します。

 

?"MJ GET ijprg.bitballoon.com/PROGRAM

?"MJ GET IJPRG.BITBALLOON.COM/PROGRAM (MixJuice 1.0.5〜)

 

上記コマンドを除く各プログラムでは、

コマンド実行直後 NEW コマンドを実行しています。

現在 IchigoJam に読み込んでいるプログラムが削除されるので、ご注意下さい。


各プログラムは個別ページにしてあります。


キャラクターコード一覧

IchigoJam BASIC 全バージョン対応

IchigoJam BASIC RPi 全バージョン対応

一部モニタ/シリアル対応


L チカ

IchigoJam BASIC 全バージョン対応

IchigoJam BASIC RPi 全バージョン対応


ランダム画面

IchigoJam BASIC 0.7.5〜

IchigoJam BASIC RPi 全バージョン対応

一部モニタ対応



ポン風

IchigoJam BASIC 0.7.5〜

IchigoJam BASIC RPi 全バージョン対応

モニタ対応


落ちる〜

IchigoJam BASIC 0.7.6〜

IchigoJam BASIC RPi 全バージョン対応


GIVE UP!

IchigoJam BASIC 0.7.6〜

IchigoJam BASIC RPi 全バージョン対応



うえ・した

IchigoJam BASIC 0.7.6〜

IchigoJam BASIC RPi 全バージョン対応


IchigoJam ロゴ

IchigoJam BASIC 0.7.6〜

IchigoJam BASIC RPi 全バージョン対応

モニタ対応


ジャンケンポン!

IchigoJam BASIC 0.8.0〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応



数当て

IchigoJam BASIC 0.8.0〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応


カレンダー

IchigoJam BASIC 0.8.0〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応


3分タイマー

IchigoJam BASIC 0.8.1〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応



shot!

IchigoJam BASIC 0.8.1〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応


迷路

IchigoJam BASIC 0.8.6〜

IchigoJam BASIC RPi 全バージョン対応

モニタ対応


3分タイマー 電卓文字風版

IchigoJam BASIC 0.8.6〜 (推奨 1.0.0〜)

IchigoJam BASIC RPi 全バージョン対応

モニタ対応



いわゆるスカッシュ

IchigoJam BASIC 0.8.9〜

IchigoJam BASIC RPi 全バージョン対応


ブロック崩し 改良版 original by MASAHARU

IchigoJam BASIC 0.8.9〜

IchigoJam BASIC RPi 全バージョン対応


IchigoJam のうた

IchigoJam BASIC 0.9.0〜

IchigoJam BASIC 1.2b17RPi〜

要 圧電サウンダ



反射神経テスト

IchigoJam BASIC 0.9.0〜

IchigoJam BASIC RPi 全バージョン対応


キータイピング練習

IchigoJam BASIC 0.9.4〜

IchigoJam BASIC RPi 全バージョン対応

モニタ対応


15パズル

IchigoJam BASIC 0.9.5〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応・モニタ/シリアル対応



バナー (電光掲示板)

IchigoJam BASIC 0.9.7〜

IchigoJam BASIC RPi 全バージョン対応


バルーントリップ

IchigoJam BASIC 0.9.7〜

IchigoJam RPi 全バージョン対応


IchigoJam BASIC 0.9.8 RC2〜 (推奨 0.9.9 RC1〜)

IchigoJam BASIC RPi 全バージョン対応
モニタ対応



風船

IchigoJam BASIC 0.9.8 RC3〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応


花火

IchigoJam BASIC 0.9.9 RC1〜 (推奨 1.0.0〜)

IchigoJam BASIC RPi 全バージョン対応


キャラクター拡大表示

IchigoJam BASIC 0.9.9 RC6〜

IchigoJam BASIC RPi 全バージョン対応
IchigoJam BIG 対応・モニタ対応



拡大文字

IchigoJam BASIC 0.9.9 RC6〜

IchigoJam BASIC RPi 全バージョン対応


キャラクターエディタ

IchigoJam BASIC 0.9.9 RC6〜

IchigoJam BASIC RPi 全バージョン対応

IchigoJam BIG 対応


風船 version 2

IchigoJam BASIC 0.9.9 RC6〜

IchigoJam BASIC RPi 全バージョン対応



プログラム一覧・ローダー

IchigoJam BASIC 1.0.0 beta3〜

一部 IchigoJam BASIC 1.2b16 RPi〜
IchigoJam BIG 対応・モニタ/シリアル対応


ls IchigoLatte プログラム EEPROM 一覧表示

IchigoJam BASIC 1.0.0 beta3〜

IchigoJam BASIC 1.2b16RPI〜
モニタ/シリアル対応


キャラクターをうごかす

IchigoJam BASIC 1.0.0 beta9〜

IchigoJam BASIC RPi 全バージョン対応



スキー

IchigoJam BASIC 1.0.0 beta9〜

IchigoJam BASIC RPi 全バージョン対応
モニタ対応


IchigoJam 4 周年

IchigoJam BASIC 1.2.2~ / 1.2 beta 35~
IchigoJam BASIC 1.2b17RPi~



IchigoJam-FAN 公開版との違い

多くは Facebook グループ IchigoJam-FAN でも公開していますが、プログラムが異なる場合があります。

このページ(GitHub Gist)で公開しているプログラムが後に最適化されたバージョンですが、動きは一緒です。

最近まで定められていた Facebook のルール上、本名「志賀 慶一」でやりとりしています。

 

IchigoJam-FAN | Facebook グループ


こちらで公開するプログラムはこのページ(GitHub Gist)とは異なり、ライセンスを明示していませんが、
( Facebook の規約・ポリシーがある事、グループとしてライセンス明示した場合はそれに合わせます)

基本的に自由に使用し、改良していただいて構わないという方針は一緒です。


注意

手入力する時の注意

PRINT 文(? 文)の後ろに

セミコロン( ;  下にヒゲがついている)を

多用しているプログラムがあります。

スクロールして正常に表示されていない場合は、

この ; を忘れているか、

コロン( : ヒゲがついていない)にしているでしょう。

; も忘れずに入力して下さい。

 

IchigoJam-FAN で手入力している人から

何名かこれで問題を起こしていた報告があります。

シリアル転送する時の注意

シリアル接続している場合は(必要なら SAVE で保存して)

NEW でプログラムを消去した後、

プログラムをそのまま送信して素早く入れる事ができます。

IchigoJam 側で内容が一部欠ける場合は、

ウェイトを入れると良いです。

 

GitHub Gist は文字コードが UTF-8 になっているため、

カナ文字は IchigoJam で用いている文字コードと異なります。

そのため、そのまま転送するとカナ文字が文字化けします。

転送後に手で修正するか、予めテキストエディタ等で

Shift_JIS に文字コード変換を行ってから転送を行って下さい。

文字コード変換ツールを使用する事もできます。

 

nkf -x -s -m0Z1 (元ファイル名) > (先ファイル名)



ライセンス

公開しているプログラムは IchigoJam の趣旨・方針を踏まえ、自由に使ってもらい、改造していただいて構いません。

これは Facebook グループ IchigoJam-FAN 公開のプログラムを含めます。

 

GitHub Gist で世界的に公開されている状態でもある事から、国際的に有名なライセンスを明示しています。

 

MIT ライセンス

次の3行を含めているプログラムは MIT ライセンスを明示しています。

 

' (プログラム名) | IchigoJam BASIC

' Copyright (c) (公開年) Keiichi SHIGA (BALLOON a.k.a. Fu-sen.)

' The MIT License (MIT) - (URL)


個人的に使用する範囲であればこの3行を入力する必要はありません。

行番号を含めていないため、プログラムに入りません。

再配布などではこの行を含める、または該当する記載を行う事で配布などを自由に行う事ができます。

0.9.9〜 向けはその後にも ' が1行更にありますが、

これは プログラム一覧・ローダー 用ですので、付けておく事をおすすめします。

 

下記にも MIT ライセンス の内容を含めます。

 

原文

 

The MIT License (MIT)

 

Copyright (c) (release year) Keiichi SHIGA (BALLOON a.k.a. Fu-sen.)

 

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

 

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


原文の日本語訳

 

The MIT License

 

Copyright (c) (公開年) Keiichi SHIGA (BALLOON a.k.a. Fu-sen.)


以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。


上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。


ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。



クリエイティブコモンズ 表示 国際 (CC BY)

Lチカ 分かりやすい版ブロック崩し 改良版プログラム一覧・ローダーls IchigoLatte プログラム EEPROM 一覧表示 

クリエイティブコモンズ 表示 4.0 国際 (CC BY 4.0) としています。

 

 

Lチカ 分かりやすい版 は作ったプログラムが 福野さんのブログ で公開されているものとほぼ一緒になってしまったため、

オリジナルを 福野さん として改変し、CC BY を継承する扱いとしていますが、バージョンは更新しています。
実際 SA(継承)は付けていないので、ここから改変する場合はライセンスを変更しても構いません。

(元になった該当のプログラムを含めて CC BY 扱いにする事は 福野さんに確認済み です)

プログラム一覧・ローダー は 福野さん が公開したプログラムを改良したものなので、同様に CC BY としています。

ls IchigoLatte プログラム EEPROM 一覧表示 も プログラム一覧・ローダー の派生になるため、 CC BY としました。

ブロック崩し 改良版 はオリジナルが CC BY 公開なので、これを継承しました。(MASAHARU さんは CC BY で公開しています)

 

ソフトウェアプログラムに対してクリエイティブコモンズを適用するのは日本では珍しいですが、
マサチューセッツ工科大学(MIT)が提供している Scratch は投稿プログラムを CC BY-SA としている例があります。
MIT は上記で説明している MIT ライセンスの起源でもあります。