[68kMacintoshで]ThinkCでゲームを作りたい その2 Stdioライブラリを使ってみる[プログラミング]

前回、ResEditを攻略したことにより無事画像の表示に成功しました。

しかし、好きな位置に指定して表示する方法など動的配置については未だ不明な部分が多いのと、そもそもC言語自体ろくに理解していないところがあるので今回こちらの教科書を買ってきました。
もうCは主流じゃないんだろうな・・・

ほんとは「苦しんで覚えるC」と「C言語の絵本」というのを併用してやりたかったんですが、BookOffのセールで200円以下だったので買っちゃいました。問題は今回使うプログラミングソフトはこの本が書かれたはるか前のものであること。ここに書いてあるコードが動かない、なんてことが起こりえるかもしれません。

・・・ぶっちゃけると、ANSI特有の部分だけ修正すれば余裕で動きました。
というわけでこの教科書片手にMacintoshPlusでC言語入門をしていこうと思います。

■|stdioを使えるようにする


C言語の入門では兎にも角にもこの<Stdio>という、コンピューターの出入力を管理するライブラリを使用していきます。そのライブラリがないとそもそもできないわけなのですがその結果がこちら。
発見、Stdio。なんか他にも結構あります。

ありましたね〜ばっちり。ただし、この単体では動かないみたいです。今回使用しているThinkCは実は今主流(らしい)ANSIⅡという規格のC言語ではありません。なのでANSIライブラリではなくこの
MacTraps
を読み込むのを忘れないようにします。
そして前回叶わなかった定番の”Hello World”コードを打ち込みます。
文字のフォントなども指定できてけっこうエディタ自体をカスタムできるんですよ。

そしてこの作成したコードファイル、Stdioライブラリを読み込みます。ここで前回ならResEditを使って内容を表示するウインドウのリソース(データファイル)を作らないといけませんでしたが、なんとこのStdioライブラリを利用するとそういったあれこれが一切いらなくなりました。なんだよできるのかよ

そしてコンパイルを無事に通過すると・・・
左下にちっこく表示されました!

ほーんまちっさい

このようにHelloWorldが表示されました!!!あーなんて簡単なんだ(白目)

これでThinkCでも今とほぼ同じ方法でC言語にてStdioを使うことが確認できたので、これから先ほどの教本を元に進めていくことができそうです(多分どっかでまた問題が発生するとは思う。日本語表示できないし。)。

■|大変なのはコードの打ち込みだけではないのがThinkC


 ここまですごい実は時間がかかっていて、ライブラリが入っているフォルダの階層、位置、名前の指定など正しい順番でインストールされていないとそもそもこのプログラムソフトがまともに動かないなど問題が連発しました。
 今だったら全てインストーラーがやってくれるのですが、このころのはファイルをドラックアンドドロップで移動させて入れるスタイルのものもありそういうのは自分でインストーラーの仕事をしなくてはなりません。インストーラーって素晴らしいものなんだなと改めて気づかされます。昔はプログラミングを始めることそのものから大変だったんですね。
 あ、Basicは除きますよ。あれは起動すればすぐ使えたものが多かったので。最初期は違いますが。

このようにきちんと入れた後なら自由にファイルを作ってどんどんプログラムを作成して問題ありません。作ったプログラムがOSを破壊しない限り(笑)
一応今回購入したThinkCの教本の中にこのインストール方法が記載されていました。どのファイルをどのフォルダに入れればいいのかすごく丁寧に記載されていたので主にこれを買ったおかげで解決したところが大きいです。

■|とりあえず入門編をクリアする

今回の実験で30年前のプログラミングソフトでもC言語入門学習を行うことが可能なことがわかりました。構文もほぼ変わりないので、(日本語を使うことができないことを除いて。)問題なければ入門書をクリアしつつグラフィック周りを解明できればゲームを作れるようになる日も近いと思います。
目標はMI68までに何か作品を作り、参加することまたはデジゲー博までに作品を作れること。まあ無理でしょうけど・・・

というわけで今回はここまで。

次の記事:

Apple1 Computerを現代で作ることはできるのか挑戦してみた その1~シフトレジスタ問題~

前回の記事:
[68kMacintoshで]ThinkCでゲームを作りたい その1 ~まずは動かす~[プログラミング]

コメント

  1. こんにちは。
    令和の時代にMac Plusを買って新作ソフトを作ろうと試みていますが、
    同じことを考えている先(変)人を発見し大変驚いています。
    ちなみにThincCですが、どこまで古いバイナリが作れるのでしょうか?
    System1.0の128kで動くようなプログラムが作れると最高なのですが…

    返信削除
    返信
    1. コメントありがとうございます。令和の時代に同じように挑まれる同志の方からコメントを頂けて大変うれしいです。
      問題のThink Cの対応しているバイナリの範囲ですが、正直なところ試してみないとわからないというのが実情です。
      問題になるのが、「MFSとHFS」というフォルダ管理形式の違いで、そこをクリアできればおそらくSystem1.0でも動くのではないでしょうか。(マシンに関わる部分、例えば画面のメモリエリアなどは共通の変数でアクセスするようなので、そこの互換性はあるように書いてありました。)
      聞きかじった情報ですが、当時128kMacのソフトはApple Lisaというコンピューターで開発されていたそうです。しかしながら当然128kMac向けのソフト開発アプリケーションも提供されており、オススメはMacintoshBasicです。ちなみにこのソフトはMacPlusで動かすとクラッシュするため、128kまたは512kで動かすことをお勧めします。
      ちょうど手元に1.0のSystemDiskがあるので、時間がありましたら簡単なアプリケーションを作成して動かしてみるのも面白そうですね。

      削除

コメントを投稿

このブログの人気の投稿

ファミコンの完全自作ROM&カセットを作ろう!!その1~立ちはだかるコンパイラの壁~

ファミリーベーシックでゲームプログラミング

ファミコンの完全自作ROM&カセット作ろう!〜cc65で起動ROMをつくる〜