アーカイブ

Archive for 2013年2月

Java演習用のテキスト画面シミュレータ

子供にJavaを教える必要が出てきたのですが、課題の作り方が難しいです。

標準入出力を使って数学の問題を解くような課題は、ロジックを組み立てる訓練になりません。
一方で、ウインドウプログラミングやWebプログラミングは、理解すべき事が多すぎて手始めには向きません。
理想としては、8bit時代のパソコンのBASICのような、テキスト画面を使ったインタラクティブなプログラミングだと考えています。

Javaはターミナルの制御が貧弱なので、カーソルの位置を設定したり、ノンブロッキングでキーボードの入力を拾うような事ができません。
Jansiのようなライブラリもあるのですが、実行時にネイティブライブラリが必要な上、eclipseのコンソール出力では動作を確認できないので、初心者に厳しいです。
そこで、swingを使ってテキスト画面のシミュレータを実装してみました。

JavaConsoleSimulator

80文字×25行のテキスト画面に対して、

  • 文字の表示
  • カーソル位置の変更
  • 画面の消去
  • 指定したキーの押下状態の取得

が可能です。

最初は45度にしかボールが飛ばないブロック崩しあたりから始めて、最終的にはテトリス辺りを実装できるように教えたいと思います。

カテゴリー:開発 タグ: