goo blog サービス終了のお知らせ 

実環境下の簡易流体計測とVisualBase(可視化と知的可視化)

実環境下の簡易流体計測と知識集約型可視化統合環境

PS3とプログラミング(3)

2006-12-19 23:48:30 | Weblog

PS3でプログラミングが楽しめる→ユーザが増える,というようなシナリオにおいて問題となるのは,独自プログラミング言語の提供の是非です.
 教育の現場でプログラミングを教えるものとしては,ベースは既存の言語を用いて,ハードウェアに依存する部分をクラスライブラリのような形で提供してくれるのが有り難いのです.
 例えば,Javaでのマウス操作の基本となるプログラムに以下のようなものがあります.MouseAdaptorに相当するところを提供してくれるのが望ましいのです.ただ,下のプログラムは,応用性に乏しいので,もう少し遊べるものを次回紹介します.
(PS3から離れつつありますが・・・,続く)

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//
public class Mouse extends JFrame{
   MyPanel mp = null;
   Mouse(){
      mp = new MyPanel();
      Container c = this.getContentPane();
      c.add(mp);
   }
   public static void main(String args[]){
      Mouse jf = new Mouse();
      jf.setSize(640,480);
      jf.setTitle("swing demo2");
      jf.addWindowListener(
         new WindowAdapter(){
             public void windowClosing(WindowEvent e){
                System.exit(0);
             }
         }
      );
      jf.show();
   }
//inner class P
   class MyPanel extends JPanel{
      int ixo,jyo;
      int ixm,jym;
      MyPanel(){
         setBackground(Color.lightGray);
         ixo = 320;
         jyo = 240;
         ixm = ixo;
         jym = jyo;
         MyMouse mm = new MyMouse();
         addMouseListener(mm);
      }
      public void paintComponent(Graphics g){
         super.paintComponent(g);
         myDrawing(g);
      }
      public void myDrawing(Graphics g){
         g.setColor(new Color(255,250,0));
         g.drawLine(ixo,jyo,ixm,jym);
         g.setColor(new Color(128,50,255));
         g.drawString("M",ixm,jym);
      }
//inner class P-M
      class MyMouse extends MouseAdapter{
          MyMouse(){
          }
          public void mousePressed(MouseEvent e){
             ixm=e.getX();
             jym=e.getY();
             mp.repaint();
          }
      }
   }
}


PS3とプログラミング(2)

2006-12-12 21:42:25 | Weblog
講義としてプログラミングを教えるときには,プログラミングの楽しさよりも,今後のことを考慮して作り方の基本や,基本的な文法を徹底して教えることを優先してしまいます.
 作り方の基本や,基本文法を覚えることは重要ですが,実のところ,講義(90分程度の座学と90分程度の慣れのための演習)としては4回分くらいで十分ではないかとも考えています.その後,何が必要か?
 応用であることは確かです.ですが,応用にはプログラミング以外の知識が必要になります.このため,適当に題材を決めて進めることになりますが,教えられる側は通常は混乱します.応用する対象自身がわからないというのが主な理由です.結局,様子をみながら,基本的な4回分の内容を,演習を中心に3~4回繰り返すことになるのです.しかし,基本文法を覚えるための演習では,本当の面白さを伝えるには限界があります.正直教えていても疑問に感じていることでもあります.
前置きが長くなってしまいました.
 言いたいことは,基本的な書き方や基本文法は必要である,それに,「プログラミングという遊び」の要素を加えるためには,ゲーム機を対象としたプログラムが適しているのではないかということです.
確かに,デバイスに関連する部分をプログラムで扱うことは難しいのですが(プログラミングの基礎を逸脱する),その部分を,クラスライブラリのようなもので提供してもらえると,「遊びの中にプログラミングが入っていく」のではないかと考えています.機種に特化すればなんとかなるのではないでしょうか.例えば,コントローラであれば,マウスと同じ仕様のクラスにできるような気がします.
(続く)


PS3とプログラミング(1)

2006-12-04 12:12:01 | Weblog
PS3で動作するLinuxが出始めています.SCEのサポートは期待できないという記事もあります.実際,Cellの性能を活かすプログラミングは難しいようで,それをサポートするとなると大変なのでしょう.
個人的には,開発用ということを意識しないで,「手軽にプログラミングを楽しむツールを提供する」程度に考えてほしいのです.
プログラミングという遊び」を通して,ユーザーが増えるのではないかと思っています.