Perl

友達に作れと言われたので夢小説用のCGIプログラムを作った。

Posted on Updated on

「名前を入れてください:」って出てきて自分の名前が登場人物として出てくる、夢小説、ドリーム小説というものがあるらしいが、仕組みをとりあえず作ってみた。

夢小説のためのCGIプログラム:Dream Selector ←ダウンロードはこちら

ソフトウェア種別 フリーソフトウェア
条件等 無保証、サポート無し、商用利用可
言語 Perl
再配布の可否 再配布、改変後の再配布を許可

 

一部、というかかなり、KENTさんのサブルーチンを利用ささてもらっています。あわせて、kentさんのCGIスクリプト利用規定の遵守をお願いします。

また、フリーソフトですので完全に自己責任となっています。どのような損害を利用者(あなた)や、観覧者(あなたのサイトを見る人)が負ったとしても、プログラムの作者みすりるは責任を全く負いません。要は自己責任です。設置に関すること以外に質問がある場合はコメント欄をご利用ください。

追記:2012年2月13日

夢小説を作るには、大きく分けて2つの方法があると思います。見ているコンピューターに処理させる方法と、データを送信するサーバーが処理する方法です。主に前者はJavaScript等が使われますし、後者はCGI等で実現できます。前者の良い所ではどんなサーバーでも動かせるということです。しかし、携帯電話等一部の環境では動作しない場合があります。

それで、後者の方法が使われます。今回提供するプログラムは、この、サーバーで処理する方法を利用しています。後者のものは設置がやや面倒くさかったりするかもしれませんが、携帯電話でも見ることができますし、リンクを保存しておけばいつまでもその結果を見ることが出来るという良い点があります。

(追記終了)

zipの内部:

  • dream.cgi 本体。 パーミッション755にしてください。
  • readme.html いろいろ書いてます。読んでください。
  • data/test.txt テスト用ファイルです。

ちなみに、小説ファイルはエンコードがutf-8のテキストファイルで保存してください。!you!と打った部分が名前に置き換わります。

夢小説を実際に見る場合

dream.cgi?look=ファイル名(.txtは不要)&title=タイトル

で見ることが出来るようになります。

サンプル

動作サンプルはこちらです。この時、data/test.txtを参照しています。

dream.cgi?look=test&title=動作サンプル

Perlで作っている自作RPGとかの続報

Posted on

こんにちは。

 

現在のAdvQuestの段階はこんなところ。さぼってた((

  • 完了:アイテムの生成
  • 完了:アイテムのリサイクル機能
  • 着手:アイテム表示を改良
  • 予定:アイテムの内部的選択処理
  • 予定:エンカウント
  • 予定:敵地の機能

 

予定としては、アイテムの表示を次に頑張りたいと思う。アイテムの表示は、もうちょっといくつでも表示できるような仕組みをつくりたい。

また、現状アイテムの選択処理が不確実(他の人に書き換えられたら、別のものを選択してしまう仕様)であるので、もうちょっと改良の余地があるかなぁと。

その次に予定されているのがエンカウントとか、フィールドとしての当たり前の機能なので、まあ、がんばろうw

Windows上に、PerlのCGIを実行する環境を作る(Apacheのインストール)

Posted on

CGIは、Webサーバー上でプログラムを実行して動的ページや結果を得るための仕組みであるが、要は掲示板なんかに使われている。特に、そのCGIの仕組の中で使われる言語としてPerlが挙げられる。もちろん、使い方によってはバッチファイルやC言語をCGIで実行することもできる。

今回は、Perlのインストールと、Apacheの実行をしていきたいと思う。

Read the rest of this entry »

MySQLの実装とか

Posted on

Movable Typeのディレクトリ構成をサッと見たところ、MySQLやSQliteなどの保存方法を、Driverというディレクトリに入れていることに気づいた。その保存方法についてのモジュールなどを予め作っておき、どのような保存形態でもデータを読み出すときには特に何も考えること無く読み出せるようにしているようだ。

ADV Questのデータ保存の実装もそのようにしておくべきだったと思う。現状、データの読み出しを幾つかのファイルに分けて、更にユーザーごとにもデータを分けるというような、ちょっと残念な量のデータ保存になってしまうためだ。SQL文とか使えるようになるために勉強をしようかと思う。