Download List

Project Description

開発代表者:白井達也(鈴鹿工業高等専門学校 機械工学科・准教授)

開発メンバー:白井達也のみ.共同研究者,共同開発者,その他,絶賛募集中!

 近年,プログラミング教育の導入用言語として多く用いられるようになったプログラミング言語Processing.完全フリーでありながら統合開発環境が用意され,多くの入門書が出版されており,世界中でも広く用いられている.自然とオブジェクト指向の考えが身に付くため,Processingでプログラミング技術の基礎を学んだ後に他の言語へ移るのも容易と,良いことずくめ.Androidのプログラムだって作れてしまう.

 しかしProcessingには致命的な弱点があります."Hello, world"のprintf()からプログラミングを学んだコンソール入出力世代には信じられないことに,Processingにはテキスト文字を気軽に表示する機能やキーボードから文字列を入力する機能が用意されてません! 数値解析のプログラムを作ったとしても,データやパラメータの入力,その結果をダラダラダラ~と画面に垂れ流す,あの手のプログラムが作れません.なるほど.とりあえずプログラミングのイロハのイを学んだら,あとは素早くC++なりJavaなりC#なりへ移れば良い,と? その考えを否定するつもりはありません.情報系学科ならばそれで良いでしょう.でも私が授業を担当しているのは機械工学科です.

 さて,という訳で古典的と罵られても気にしません.コンソール対話型のプログラミングをProcessing上で可能とする高機能フレームワークCrowbarを即席で開発しました.その勢いでウィンドウ風のビューポートを使った高度なグラフィックスプログラミングが可能なフレームワークTomahawkも即席で開発しました.あまりにも即席で作ったために内部構造がガタガタな部分もあります(でも動きます).

 正直言いますと,かなりの自信作です.Processing上でこんな機能(Crowbarの部分)を実現した話は聞いたことがありません.似たようなことを実現するのならば,たぶん,もっと高度でエレガントな方法を取るでしょう.私はJavaの知識が無いことが幸いしたのか,すべての機能をProcessingのみで実現しています.したがって特殊なプラグインをインストールしたりする必要もありません.ソースはすべて公開していますので,バグを見つけたらチャチャッと治せることでしょう.

「ダウンロード」にあるCrowbar*.**.**.zipがフレームワークです.フレームワークは雛形なので,これを元にして新規のプログラムを作成して下さい.裏を反せば,このファイルだけをダウンロードして実行しても何も動きません.Crowbar + Tomahawkの力を知るには,その他の(たくさんの)サンプルをダウンロードしてProcessingで開いて実行して見て下さい.申し訳ありません.それぞれのサンプルには説明が一切ありません.誰か手を貸して下さい.いや本当に.

System Requirements

System requirement is not defined

Released at 2012-10-10 21:24
サンプル:TestSpace(バージョン毎にテストする内容が大きく異なります) 4.00.00 (1 files Hide)

Release Notes

Tomahawk,Crowbar共に少し仕様が変わっています.
最も大きな違いはuserDraw()などのuserを取って,Draw()など,オリジナルの関数の一文字目を大文字にしたものに変更したこと.

Changelog

Ver.4.00.00 :
 開発期間: 2012/08/02 - 2012/10/10

マルチステートメントをデフォルトとする:大幅な仕様変更.マルチステートメントは後付けの機能であったため,たとえばwrite()に対してsetWrite()をマルチステートメントとしていた.このようにsetを頭に付けてマルチステートメント化したコマンドを一気に逆転する.
userDraw()中に文字列の入力を可能とする一連のコマンド群を追加.
ビューポートラベルを取得する関数をTomahawkに追加(getViewLabel()).
define()系を廃止してparam()系に拡張.整数型と論理型を追加.
Crowbarのパラメータに配列型(配列サイズは即値とパラメータ参照が可能,一次元と二次元)を追加
userDraw()などのフレームワークの関数をDraw()のようにuserを外した(重要).