ゲームや日記を公開中。 --- a blog about games, life. my handle is 'd_of_i'.
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
最近ご無沙汰な人狼BBSのツールJBをサーバ移転に対応しました。


人狼BBS、今の製作中のゲーム作り終えたらまた参加しようかな…。
スポンサーサイト
kvst.gif


1時間かかりました。
んー、やっぱヘタだなぁ。

kvsd.gif



2時間かかってこのデキってのはちょっと悲しいモノがあるなぁ。

まぁがんばった。寝よう。
うーん、もちょっとちゃんと描かないと微妙か。
まぁ絵描き人じゃないのでこれが精一杯なのですよ。

wolf.gif

JavaScriptを使えば、発言検索機能もつけられます。

IEとFireFoxで動作確認。

りょにん にこらす よるおそく
こんにちは。
ぼくのなまえはにこらすだぞー。
がおー。
りょにん にこらす よるおそく
あ、いまのうそ。
がおーうそ。
みす。
りょにん にこらす よるおそく
ほんとだよ。
ごばくじゃないよ。
りょにん にこらす よるおそく
ほんとうだよ。
ぼくわおおかみじゃないよ。
おおかみ にこらす よるおそく
ばれちゃった。



↑これのソース↓


<script language="JavaScript"><!--

function search(str){

  document.getElementById("view").innerHTML=document.getElementById("original").innerHTML;
  document.getElementById("original").style.display="none";
  
  if(str.length==0)
    return;
  
    var reg=new RegExp("("+str+")", "g");
    var elems=document.getElementById("view").getElementsByTagName("div");
    for(var i=0; i<elems.length; ++i){
        if(elems[i].className=="mark"){
          var elem=elems[i].getElementsByTagName("div")[0];
          if(elem.innerHTML.match(reg)){
            elem.innerHTML=elem.innerHTML.replace(reg,'<u><font color="red">$1</font></u>');
          }else{
             elems[i].style.display="none";
          }
       }
    }
}


//-->
</script>


特定人物の発言抜き出しも似たような幹事でできます。

人狼審問- The Neighbour Wolves
The Village of Headless Knight
の二つの人狼は特定人物の発言抜き出しがJavaScriptで実装されてるようです。



多分見てないと思いますが、各種人狼管理者の方、もしどなたかみてましたら
これらのリアルタイムプレビューや発言検索機能を付けてみるのはいかがでしょうか。
昨日のリアルタイムプレビューのJavaScriptソース。
必要最低限のモノにし、コメントも付けました。



普通に話す 独り言 狼の囁き

↑これのソース↓



<script language="JavaScript"><!--

function view(){
  var ret;
  
  if(document.form.kind[0].checked){  //「普通に話す」にチェック付けてる場合

    document.form.txt.style.backgroundColor="#ffffff";
    ret='<div style="background: #fff; color: #000;">';

  }else if(document.form.kind[1].checked){  //「独り言」にチェック付けてる場合

    document.form.txt.style.backgroundColor="#777777";
    ret='<div style="background: #777; color: #000;">';

  }else{//「狼の囁き」にチェック付けてる場合

    document.form.txt.style.backgroundColor="#ff7777";
    ret='<div style="background: #f77; color: #000;">';

  }

  //テキストエリアの文字列を変換する。
  //ret+=ln2br(escape_html(chop(document.form.txt.value))); 
  ret+=ln2br(escape_html(document.form.txt.value)); //今回は文字数制限を外す。

  //タグを閉じる。
  ret+='</div>'; 
  
  //<div id="preview"></div> 
  //というidが"preview"というタグを探し、その内部のHTMLを置き換える。
  document.getElementById("preview").innerHTML=ret; 
}

//改行文字を<br/>に置き換える。
function ln2br(str){
  return str.replace(/\n/g,"<br/>");
}

//HTML的に意味のある文字をエスケープする。
function escape_html(str){
  var i,j;
  var ret = "";
  var from = "&\"<>";
  var to = ["&amp;","&quot;","&lt;","&gt;"];
  for(i = 0; i<str.length; ++i){
    var c = str.charAt(i);
    for(j = 0; j<from.length; ++j){
        if(from.charAt(j)==c){
          c = to[j];
          break;
        }
    }
    ret += c;
  }
  return ret;
}

//文字列を200文字以内、改行5以内に切り詰める。
function chop(str){
  var ret="";
  var count=0;
  var lncount=0;
  for(i = 0; i<str.length && count<200 && lncount<5; ++i){
    var c = str.charAt(i);
    ret+=c;
    if(c<128){
      if(c=='\n'){
        lncount++;
      }
      count++;
    }else{
      count+=2;
    }
  }
  return ret;
}

//-->
</script>

<div id="preview"><!--ここに挿入される。--></div>

<br/><br/>

<form name="form">
<input type="radio" name="kind" onclick="view();">普通に話す  
<input type="radio" name="kind" onclick="view();">独り言
<input type="radio" name="kind" onclick="view();" checked>狼の囁き</br>
<textarea name="txt" rows="5" cols="60" onkeyup="view();" style="background-color: #ff7777">
</textarea>
</form>

りょにん にこらす よるおそく
ここのブログは、記事投稿の画面に"リアルタイムプレビュー"という機能が付いてます。
JavaScriptを使って、テキストエリアに書き込んだらそれが即座にプレビューできるという機能です。

これ、人狼BBS系のに組み込まれると、誤爆防止などに結構効果的なのじゃなかろうか、と思っていっちょ試しにプログラム組んでみました。
IEとFireFoxで動作確認しました。他のブラウザで動くかは味覚人味平。

下のテキストエリアに試しに書かいてみてください。

結構世下げな感じしませんか。

おおかみ にこらす りあるたいむぷれびゅー
なにかぶんしょうをかいてみよう


ふつうにしゃべる ひとりごと おおかみのささやき
人狼BBSは全然やってまへん。
鯖が増えて参加しやすくなってるみたいだけど、
一ヶ月参加してないんで、現在の作戦のトレンドや、雰囲気が分からないんで、怖くて参加できまへん。

ログでもよんでリハビリしまふ。
不思議だ。
狼の発言を消したら、占い師などの特別行動も消える、という修正を以前したはずなのに、今日見たらまったくされてなかった。

あの日あの時あのファッションで書いたコードは何処に消えたのだろう?

他にもそんな部分あるかも。
直した、と更新履歴に書いてるのに直ってないとかあったらお知らせください。



そういえば、まとめサイトの「お知らせ」ページに

>このツールは、サーバーにもっとも負荷のかからない方法で更新チェックするので多くのゲーム参加者が使用してもらえると幸いです。>Windowsで動作します。

と誰かが紹介してくれてたみたいです。

紹介していただけたことはとても嬉しいのですが、「更新チェックをすると、そのリクエスト分、逆に重くなるのではないか」ということで現在はしてないんですよね。
ちょっとこの紹介は微妙な感じです。

書かれた日付は12/28日…、確かちょうどこの頃、d_of_iのコメント欄でそういうやり取りがあったはずなのに。うーん。

まぁいいか。
埋まるのがとっっても早いので人狼BBSは未参加の日々です。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。