ソースプログラムを覗いてみよう!!

【書籍等の購入はこちら⇒】


【AZ Prologソースプログラム】


【VBA/Excel式定義】   【VB.net】   【C#.net】   【Android Java】   【C言語】   【Prolog】   【Python】

C言語による【言語処理学習用データ型自由なミニ言語(Type Free Mini Language)】

60代の方々は、若いころの流行りだったProlog。懐かしいのではないでしょうか。
今でも提供されているAZ Prolog でプログラムを書いてみました。


【目次】以下の目次をクリックすると該当記事にジャンプします。
  1. 日本語による人的関係の説明・質問応答
  2. AZ Prologでのカーソル移動
  3. 画面上で文字を動かす方法
  4. Prologでライフゲーム
  5. Prologでインベーダゲーム
  6. Prologでダイスゲーム
  7. Prologでジャンケン
  8. Prologで8王妃問題

  1. 日本語による人的関係の説明・質問応答
  2. 複数マッチすべきところが一つしか表示されないなど
    気に入らないところはありますが、あくまで例題ですのでご勘弁ください。
    なお、推移的関係(兄または姉の兄もまた兄であるような関係)では
    述語を自動生成していますが、述語定義で対応するほうが
    スマートかもしれません。

  3. AZ Prologでのカーソル移動
  4. Prologでゲームソフトを作りたい人のために、まずカーソル移動の方法を
    簡単なプログラムで示します。

  5. 画面上で文字を動かす方法
  6. 上記 2 と同じく、Prologでゲームソフトを作りたい人のための例題です。
    例題では全角の●文字を動かしてボールの移動に見立てています。

  7. Prologでライフゲーム
  8. Prologでライフゲームを書いてみました。
    画面表示が若干遅いですが、全面書き直しているせいだと思います。
    既に表示されている部分と異なる部分だけを表示すると速くなると思いますが、
    複雑になりますのでやめました。
    興味ある人はチャレンジしてください。

    例題プログラムは配列を使っていますが
    「Prologで配列を使うのは邪道だ」とのご意見がありましたので、
    とにもかくにも配列を使わないで表現してみました。

    【配列を使わない例】

    セルを述語として表現し、述語がなければ 0, あれば 1 とみなしています。

  9. Prologでインベーダゲーム
  10. (2015/06/28 バグ修正および述語の整理を行いました)
    Prologでインベーダゲームを書いてみました。
    効果音が出ないのでちょっと迫力がありません。
    Windows APIを利用することも考えましたが、
    初心者のための例題としては相応しくないのでやめました。
    興味ある人はチャレンジしてください。

    AZ Prologではアトムに日本語が使えるので、
    日本人にとってはこちらが読みやすいかも…。

    【アトムに日本語を使った例】

  11. Prologでダイスゲーム
  12. やはり、Prologではこの手の問題がスッキリ書けますね。

    サイコロの表示で工夫しました。
    どうです。小さいプログラムでしょ。<(`^´)>

  13. Prologでジャンケン
  14. Prologの基本的な述語だけで書きたいので、
    手の形を無理やりキャラクタで描きました。

    文字で書いたグー、チョキ、パー

    どうですか。グー、チョキ、パーに見えますか?

  15. Prologで8王妃問題