雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

2004-11-01から1ヶ月間の記事一覧

人狼BBS作成日記85

さて、ここまでのものを公開しておきます。 →ログファイル →ソースコード →実行結果(※実際には入力できないように機能をオフにしてあります) さて、これでプロローグの時点のログファイルさえ用意しておけば、一通りゲームの進行をやってみることは出来る…

人狼BBS作成日記84

さて、これらの処理をするための方法も実装しておきます。 一応実時間制で日付が進行することを考えているので、本来ならcronなどを使って定時処理を掛けるのが良いと考えています。 しかし、どうやらウチのサーバはcronが使えないようなので、今回は擬似的…

人狼BBS作成日記83

さて、処刑/襲撃/護衛/占いの各処理が済むと、今度は勝敗判定になるでしょうか。 人狼の数と村人の数を数え、勝負がついているかどうかを判定するわけです。 $Wolf_Count = 0; $Human_Count = 0; for($index = 0; $index < @Char_Alive_Index; $index++){ if…

人狼BBS作成日記82

襲撃判定が終わったら、今度は占い師の処理をします。 ほとんど護衛と同じような処理になりますね。 $Fortune_Target = -1; $Fortune_Index = -1; for($index = 0; $index < @Char_Alive_Index; $index++){ if( $Char_Cast[ $Char_Alive_Index[$index] ] eq …

人狼BBS作成日記81

さて、今までの処理で狩人の護衛先と人狼の襲撃先が決定したので、今度はそれらから襲撃結果を判定することになりますね。 if( $Attack_Target > -1 ){ if( $Attack_Target == $Guard_Target ){ print LOGFILE "$Day_Count_Max<>80<><>$Time_Stamp<>今夜は犠…

人狼BBS作成日記80

今度は襲撃の処理を考えてみます。 $Attack_Target = -1; if( $Exec_Attack[0] < 0 || $Exec_Attack[1] < 0 ){ @Char_Alive_Index_Temp = (); for($index = 0; $index < @Char_Alive_Index; $index++){ if( $Char_Cast[ $Char_Alive_Index[$index] ] ne "wol…

人狼BBS作成日記79

処刑の処理が終わったら、今度は夜中の処理を実施します。 夜中の処理には「占い」「襲撃」「護衛」があるわけですが、どれから実装するのが良いんでしょうね。 とりあえず、護衛から見ていきましょう。 $Guard_Target = -1; $Guard_Index = -1; for($index …

人狼BBS作成日記78

投票の集計が終わったら、次は処刑対象を決定しなければならないでしょう。 $Vote_Max = 0; for($index = 0; $index < @Char_Vote_Temp; $index++){ if( $Vote_Max < $Char_Vote_Temp[$index] ){ $Vote_Max = $Char_Vote_Temp[$index]; } }まずは最大得票数…

人狼BBS作成日記77

昨日の処理で集計した結果を、今度はHTMLに整形して出力します。 $temp = "$Day_Count_Max<>80<><>$Time_Stamp<>"; for($index = 0; $index < @Char_Alive_Index; $index++){ $temp = $temp."$Char_Name[ $Char_Alive_Index[$index] ]"; $temp = $temp."($C…

人狼BBS作成日記76

まずは投票の集計から見ていきましょう。 こんな感じになるでしょうか。 @Char_Vote_Temp = (); @Char_Alive_Index = (); for($index = 0; $index < @Char_Life; $index++){ if($Char_Life[$index] == 0){ push(@Char_Alive_Index, $index); } $Char_Vote_Te…

人狼BBS作成日記75

ようやくゲームっぽい話に移ることができますね。いやはや、何を私はのろのろと作っているのやら……。 ということで日付が変わるときの処理を考えていこうと思います。 まずは、日付が変わるときになにをすれば良いのかということの確認から。 ・投票集計 ・…

人狼BBS作成日記74

ようやく、ログインしたキャラクターでの表示の切り替えまで出来たので、公開しておきます。 →ログファイル →ソースコード →実行結果(※実際には入力できないように機能をオフにしてあります) さて、次は日付が変わるときの各処理を実装していきたいと思い…

人狼BBS作成日記73

次に、表示の切り替えを考えます。 占い設定の入力フォームや、襲撃設定の入力フォームなどは、ログインしたキャラクターが占い師や人狼の時だけ表示されれば問題ありません。 ということで、ログインしたときに表示する、入力フォームを役職ごとに切り替え…

人狼BBS作成日記72

こんどは入力時の、役職チェックについて考えてみます。 占い設定や襲撃設定といった、役職者の能力に関する入力は、占い師や人狼だけが可能になるようにする必要があると思います。 ですから、入力時にそのログインしているキャラクターの役職をチェックし…

人狼BBS作成日記71

役職の読み込みを考えてみます。 まず、役職を格納するための配列を用意しておきます。 @Char_Cast = ();この配列には、ログファイルの読み込み処理時「配役決定(55)」のデータ行を読み込んだときにその文字列(wolf、fortuneなど)を格納します。 以下の…

人狼BBS作成日記70

ログインの機能をつけたとはいうものの、そのログインしたキャラクターごとに処理の切り替えを行わなければ、あまり意味はないわけです。 ということで、処理の切り替えを考えることにしましょう。 ただ、処理を切り替えると言ってもそれぞれのキャラクター…

人狼BBS作成日記69

さて、とりあえずスクリプトを。 →ログファイル →ソースコード →実行結果(※実際には入力できないように機能をオフにしてあります) ログイン機能を付けたとは言っても、まだそれをもとに表示を切り替えたりとかは出来ていないので、次はその辺りのことを考…

人狼BBS作成日記68

ログイン/ログアウトの準備として、もう一つ、占いや霊能などの結果の保持を考えておきます。 結果を保持しておいて、何に使うかというと、今までに占った人や死んだ人などの判定を、画面に表示するのに使います。 まずは変数を。 @Result_Attack = (); @Res…

人狼BBS作成日記67

さて、ここまでのログイン/ログアウト関連の処理を組み込むことにします。 まず、入力してもらったキャラクター番号の値を受け取って、Cookie に放り込む場合と、ログアウトのときにCookie のデータをクリアする場合の、処理の分岐をメインルーチンに組み込…

人狼BBS作成日記66

ログアウトを考えてみましょう。 ログインしたときの情報はCookie に保存しますから、ログアウトの時にはその保存された情報をCookie から削除すればよいと考えます。 Cookie からデータを削除するには、以下のようにすれば良いでしょう。 sub CLEAR_COOKIE …

人狼BBS作成日記65

ログインのための内部的な仕組み(Cookieによる値の保持)については実装できましたので、今度は具体的にログインするための実装を進めます。 まずはログインするための入力フォームを考えます。 sub STDOUT_LOGIN_FORM { print "<div class=\"login\">\n"; print "<form method=\"POST\" action=\"$Cgi_Main\" class=\"login\">\n"; print "<input type=\"hidden\" name=\"mode\" value=\"login\">\n</form></div>…

俺はてなアンテナのメンテについて

下条氏が11月5日付けで。 このところ自分のリンク集をまったく使わず、徳田さんとこのはてなアンテナをもっぱら更新チェックに使用しているのだが、私の名前が「下条はるよピ」から変更されるのと、アイスさんとこのブログの名称が題名通りになるのと、ど…

デスノート占い

「DEATH NOTEキャラ占い」(ネタ元:カトゆー家断絶)やってみました。 人狼役でした……orz

人狼BBS作成日記64

Cookie に値をセットするには、HTTPのヘッダ部分に「Set-Cookie」という項目を追加することになります。具体的には、以下のようになります。 Set-Cookie: jinro=[key]:[value],[key]:[value],...サブルーチンとして書くなら、以下のようになるでしょうか。 s…

人狼BBS作成日記63

CookieのVALUEの文法を考えてみます。 あ、その前にNAMEを何にするかを決めておかないといけませんね。まあ、ここは手堅く「jinro」で良いでしょう。 jinro=[key]:[value],[key]:[value],〜,[key]:[value]上記のように、VALUEの部分にkey とvalue を複数埋め…

人狼BBS作成日記62

ログイン機能を実装するには「ログインしているか・していないか」を区別する方法を考える必要があります。 Sessionが使えるのであれば、それが一番良いんだろうとは思うのですが、独自に実装するのは面倒なので今回はやめておきます。多分、世の中にはSessi…

漫画「デスノート」と人狼ゲームの類似性

週刊少年ジャンプに連載中の「デスノート」と人狼ゲームとに類似性があるよね?という話題を時々見かけたりするので、ちょっと考察でもしてみようかなと。 まずはデスノートのルールから。 1、デスノートの持ち主は、相手の本名を知っていればそれを殺すこ…