2025-01-20

シンプルな構造化プログラミング言語「DNCL3」を楽しく学ぶために、JavaScriptライブラリとの接続を実現しました。

ESモジュールとして実装されたJavaScriptのファイル内の関数を下記のように記述することでDNCL3のプログラム内で使うことができるようになりました。

function rnd from "rnd.js" print rnd(100)

ブラウザ上や、DenoでのJavaScriptと同様、URL表記にも対応しているので、インターネット上のさまざまなライブラリとの連携も可能です。

IchigoJamでおなじみ、かわくだりゲームも実装できました!


「かわくだりゲーム in DNCL3 on ES-Jam」

<script type="module" src="https://code4fukui.github.io/DNCL3/web.js"></script> <script type="text/dncl"> function cls, lc, print, wait, btn, rnd, scr from "https://js.sabae.cc/ij.js" cls() x = 15 do { lc(x, 5) print "O" lc(rnd(32), 23) print "X" wait(3) x = x - btn(28) + btn(29) } until scr(x, 5) </script> なかなかシンプルでいい感じですね!

ちなみにIchigoJam BASICではこうでした

10 CLS:X=15 20 LC X,5:?"O" 30 LC RND(32),23:?"*" 35 X=X-BTN(28)+BTN(29) 39 IF SCR(X,5) END 40 GOTO 20

似てますね!

links
- オープンソースの新プログラミング言語、共通テスト用プログラム表記「DNCL3」を実装と共に提案
- Pascalリスペクトの教育用構造化プログラミング言語「Wirth」
- 共通テスト新教科「情報」のプログラムをブラウザ上で実際に動かして確認してみよう!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS