title of my homepage

マックのプログラミングに関して


r 「手ラッパー」のソースを公開しました。簡単な機能拡張です。 みなさんの参考になるようでしたら今後も少しずつソースを公開したいと思います。
r マックでプログラミングをするという事が想像できない人がいます。僕もその一人でした。MS-DOSではBASICとか使った事があったのですが、マックとプログラミングというのが結び付かないのです。  

Niftyのある場所で、マックのプログラミングをしたことがあると云う人がいるのを読んで、「そうか、日本人でもマックのプログラミングができる人がいるのだ」と変な感慨を持ったのを覚えています。  

僕はコンピューターとは関係の無い仕事をしています。趣味のプログラマーでも「まきがめ」程度のゲームなら作れてしまうというのはマックの素晴らしいところだと思います。  

以下の文章が、マックでのプログラミングのきっかけになれば幸いです。  

このページの最後には、Mac素人プログラマの会へのリンクもあります。

r マックでは本体に内蔵されたコマンド(ツールボックスと云います)を記載する事によって色々な動作をさせる事ができます。マックでのプログラミングを簡単に説明すると以下の様になります。

まず、ResEdit と CodeWarrior と云うプログラム開発ソフトを準備します。

ResEditではリソースと云う名前のファイルを作ります。CodeWarriorではエディター画面にプログラムを書きます。いずれも、クラリスワークスで文書を作るのと同じ要領です。  

その1:ウィンドウに絵を描く かなり乱暴ですがwindowを開いて絵を表示するソフトを作る場合は下記の手順になります。  
  1. 適当なお絵かきソフト(クラリスワークスなど)で絵を描いて、ResEditで作ったリソース・ファイルにコピー&ペーストします。
  2. CodeWarriorのエディター画面に、

    NewCWindow();       新しくwindowを開け
    hPic = GetPicture(128);   リソースから128番の絵を持ってこい
    DrawPicture(hPic);     その絵を描け

    と云うような一連の命令を書きます。

  3. そして、CodeWarriorのプログラム作製ボタンを押すと、ソフトのアイコンが一つできます。
  4. そのアイコンをダブルクリックすると上記の一連の命令が実行されて、windowが開いて、リソースの128番の絵が表示されます。
その2:マウスやキーの入力は、以下のようになります。  
 WaitNextEvent(everyEvent, &event, MAXLONG, 0);   //押されるのを待つ
 switch(eventPtr->what)
 {
  case mouseDown:
      doMouseDown(eventPtr);   //マウスが押された処理を自分で作る
      break;
  case keyDown:
  case autoKey:
      doKeyDown();        //キーが押された処理を自分で作る
      break;
 }
   この様な一連の命令を書いて、前述の CodeWarrior を通せばよいのです。  

r 絵が表示できて、マウス入力に対応ができたら、「まきがめ」は大部分が組めると思いませんか? 
マウスが押されたら、隣が同じ駒かどうかを調べて、同じ駒だったら選択した場合の駒を表示するようにプログラミングすれば良いのです。  

r プログラミングは、C言語で行っています。コンパイラは当初はThink Cと云う製品を使っていましたが、最近はCodeWarriorと云う製品を使っています。C言語についての知識はあまり高度な事は知りません。 for()ループ、while()ループ、case文程度の知識があれば何とかなりました。  

r マックでのプログラミングはマック内にあらかじめ用意されているルーチン(ツールボックス)をどのように使ったら良いかを知ることではじめます。上記の例では、

128番の絵を持って来るための命令、  hPic = GetPicture(128);
マウスが押されるのを待つ命令、  WaitNextEvent(everyEvent, &event, MAXLONG, 0);

などを調べなければなりません。やりたい事をするためのツールボックスを探して、使い方を知らなければならないのです。実はここが結構苦労するところで、几帳面にやろうとするとインサイド・マッキントッシュと云う膨大な資料をみる必要があります。

ゲームを作るぐらいだったら必要な命令は限られているので、以下の本を読めば「まきがめ」とか「うさちゃん列車」ぐらいならば作れるようになります。  僕は以下の2種類の本で入門しました。

MacintoshCプログラミング1 THINK Cを使って 第2版   D.マーク/C.リード著 (トッパン) 5800円   
windowの開き方とか、MenuBarの使い方、リソースの作り方など、マックのプログラミングを小さなプログラム実例を用いて判り易く1から説明しています。例題がこまかく解説してあるので、自分でいちいち入力しなくても、丁寧に読むだけでプログラミングの知識が身に付きます。ただし、残念な事に、この本はPowerPC以前の漢字Talk7の時代の本ですので、コードを少し書き換えないと最近のCodeWarriorではエラーが出てしまいます。最近はもう少し内容の新しい類似の本が出ているようです。

漢字Talk7プログラミング THINK C上・下
  新居雅行著 (BNN) 3400円 + 3400円  
ツールボックスの解説書です。マックのプログラミングと云えばMacOSとツールボックスの公式解説書であるInsideMacintoshの話しが出てきます。ところが、InsideMacintoshを全巻揃えるのは大変費用がかかるようです。有り難い事に、最初は新居さんの本で充分役に立つと思います。僕の持っているのはPowerPC以前の時代の本です。下記がPowerPCに対応して改訂した本らしいです。  

Macintoshアプリケーションプログラミング 上・下
  新居雅行著 (ディーアート)

r マックでプログラミングするにはNiftyに入会すると大変有用です。Nifty の FMACPRO と云う会議室には親切な先達が居て、判らないことに対して皆さんが懇切丁寧に教えてくれました。

r 最近はインターネットでも情報交換の場があります。

Mac素人プログラマの会 http://home3.highway.ne.jp/sly/

マックを使い、C、C++、ObjectC、JAVA、そしてCross Basic等のプログラマーで、初心者の方を対象に情報交換(BBS、ML)、会員自作のソース、シェア、フリーウェアの公表、講座、Q&Aなどを展開していこうという主旨の会です。

r 僕のような、プログラミングとは全く縁のない仕事をしている人間でも、適当なソフトを入手して、適当な書籍を読む事でプログラミングができるようになりました。僕が勉強した頃と比べると最近はさらに判り易い日本語の書籍が沢山出ているようです。  

プログラミングをする時間と、マックに対する愛情があれば、ぜひ、マックのプログラミングに挑戦してみて下さい。



r うさちゃんのホームページtopへ戻る

rmy softwaresのページに戻る