# 円算機マニュアル https://en-zan-ki.trap.show/ 円算機は,物理演算っぽいヴィジュアルプログラミング言語(?)です. ボール同士の衝突を介してプログラムの状況が変化します. ## ボールの種類 ### 数ボール 数を表すボールです. ### 関数ボール 関数を表すボールです.他のボールと衝突した場合,自分自身と衝突したボールをそれぞれ別のボールへ置き換えます.nullに置き換えることで,ボールを消滅させるような処理も可能です. ### 高階関数ボール 高階関数を表します.関数と衝突した際に関数ボールと同様にボールが置き換えられます. ### 出力ボール 出力用のボールです.数ボールが出力ボールに衝突した場合,両方のボールが消滅し,数ボールの値が配列上の指定されたindexに保存されます.すべての出力ボールが消滅すると,プログラムは終了し,ダイアログにすべての出力が表示されます. ## curry化された関数について 衝突は二物体間でのみ生じるため,他変数関数を実装することは不可能です.そのため,円算機ではcurry化された関数を使用することで他変数関数を1変数関数のみを使って実装しました. 例えば,「+」関数ボールに「2」数ボールがぶつかった場合,「2+」関数ボールが出力されます.これは,x⟼x+2のような関数を表します.「2+」関数ボールが「3」数ボールにぶつかった場合,「5」数ボールが出力されます. ## 操作方法 時間が足りなくて拙いuiになってしまいました;; ボールを削除する方法は実装し忘れたのでないです  ①物理演算画面 実際にボールとかが表示される画面です.編集中にボールをドラッグすることでボールの初期位置を変えることができます. ②Playボタン プログラムを実行します ③Editボタン プログラムを編集します. ④saveとload savedataにセーブデータ名を入力し,saveを押すことで現在の内容をセーブできます.同様にloadを押すことでロードできます. ⑤ボールを追加する画面 ボールのIDと種類を指定し,ボールを追加をクリックすることで新たにボールを追加できます. ⑥ボールの編集画面 ボールのidを入力し,enterを押すことでボールを編集できます.バグが多いので反映されない場合はボールのidに別のidを入力してから再度入力しなおしたりしてください.
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up